Package serp.bytecode.lowlevel
Class MethodHandleEntry
java.lang.Object
serp.bytecode.lowlevel.Entry
serp.bytecode.lowlevel.MethodHandleEntry
- All Implemented Interfaces:
VisitAcceptor
MethodHandle
u1 tag
u1 reference_kind
u2 reference_index
-
Field Summary
FieldsFields inherited from class serp.bytecode.lowlevel.Entry
CLASS, DOUBLE, FIELD, FLOAT, INT, INTERFACEMETHOD, INVOKEDYNAMIC, LONG, METHOD, METHODHANDLE, METHODTYPE, NAMEANDTYPE, STRING, UTF8 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptVisit(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.The Entry Type depends on both the reference kind and the Class Version (CV).intintgetType()Return the type code for this entry type.(package private) voidThis method is called after reading the entry type from bytecode.voidsetReference(int referenceIndex) voidsetReferenceKind(int referenceKind) (package private) voidwriteData(DataOutput out) This method is called after writing the entry type to bytecode.
-
Field Details
-
_reference_kind
private int _reference_kind -
_reference_index
private int _reference_index
-
-
Constructor Details
-
MethodHandleEntry
public MethodHandleEntry() -
MethodHandleEntry
public MethodHandleEntry(int _reference_kind, int _reference_index)
-
-
Method Details
-
acceptVisit
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
Description 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.- Specified by:
readDatain classEntry- Throws:
IOException
-
writeData
Description 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.- Specified by:
writeDatain classEntry- Throws:
IOException
-
getReferenceKind
public int getReferenceKind() -
setReferenceKind
- Throws:
IllegalArgumentException
-
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 invalid input: '<' 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)
-