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_index
private 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 void
acceptVisit(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.Entry
getReference()
The Entry Type depends on both the reference kind and the Class Version (CV).int
getReferenceKind()
int
getType()
Return the type code for this entry type.(package private) void
readData(java.io.DataInput in)
This method is called after reading the entry type from bytecode.void
setReference(int referenceIndex)
void
setReferenceKind(int referenceKind)
(package private) void
writeData(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:VisitAcceptor
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.
-
getType
public int getType()
Description copied from class:Entry
Return the type code for this entry type.
-
readData
void readData(java.io.DataInput in) throws java.io.IOException
Description copied from class:Entry
This 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.IOException
Description copied from class:Entry
This 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)
-
-