Package serp.bytecode.lowlevel
Class MethodHandleEntry
- java.lang.Object
-
- serp.bytecode.lowlevel.Entry
-
- serp.bytecode.lowlevel.MethodHandleEntry
-
- All Implemented Interfaces:
VisitAcceptor
public class MethodHandleEntry extends Entry
MethodHandle u1 tag u1 reference_kind u2 reference_index
-
-
Field Summary
Fields Modifier and Type Field Description private int_reference_indexprivate int_reference_kind-
Fields inherited from class serp.bytecode.lowlevel.Entry
CLASS, DOUBLE, FIELD, FLOAT, INT, INTERFACEMETHOD, INVOKEDYNAMIC, LONG, METHOD, METHODHANDLE, METHODTYPE, NAMEANDTYPE, STRING, UTF8
-
-
Constructor Summary
Constructors Constructor Description MethodHandleEntry()MethodHandleEntry(int _reference_kind, int _reference_index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptVisit(BCVisitor visitor)Accept a visit from aBCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.EntrygetReference()The Entry Type depends on both the reference kind and the Class Version (CV).intgetReferenceKind()intgetType()Return the type code for this entry type.(package private) voidreadData(java.io.DataInput in)This method is called after reading the entry type from bytecode.voidsetReference(int referenceIndex)voidsetReferenceKind(int referenceKind)(package private) voidwriteData(java.io.DataOutput out)This method is called after writing the entry type to bytecode.
-
-
-
Method Detail
-
acceptVisit
public void acceptVisit(BCVisitor visitor)
Description copied from interface:VisitAcceptorAccept a visit from aBCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
-
getType
public int getType()
Description copied from class:EntryReturn the type code for this entry type.
-
readData
void readData(java.io.DataInput in) throws java.io.IOExceptionDescription copied from class:EntryThis method is called after reading the entry type from bytecode. It should read all the data for this entry from the given stream.
-
writeData
void writeData(java.io.DataOutput out) throws java.io.IOExceptionDescription copied from class:EntryThis method is called after writing the entry type to bytecode. It should write all data for this entry to the given stream.
-
getReferenceKind
public int getReferenceKind()
-
setReferenceKind
public void setReferenceKind(int referenceKind) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
getReference
public Entry getReference()
The Entry Type depends on both the reference kind and the Class Version (CV). 1 (REF_getField), 2 (REF_getStatic), 3 (REF_putField), or 4 (REF_putStatic) - CONSTANT_Fieldref_info 5 (REF_invokeVirtual) or 8 (REF_newInvokeSpecial) - CONSTANT_Methodref_info 6 (REF_invokeStatic) or 7 (REF_invokeSpecial) - If CV < 52: CONSTANT_Methodref_info - if CV >= 52: CONSTANT_Methodref_info or CONSTANT_InterfaceMethodref_info 9 (REF_invokeInterface) - CONSTANT_InterfaceMethodref_info- Returns:
-
setReference
public void setReference(int referenceIndex)
-
-