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 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

Modifier and Type
Method
Description
`void`
`acceptVisit(BCVisitor visitor)`
Accept a visit from a `BCVisitor`, 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.
`void`
`setReference(int referenceIndex)`
`void`
`setReferenceKind(int referenceKind)`

### Methods inherited from class serp.bytecode.lowlevel.Entry

`create, getIndex, getPool, isWide, read, write`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### MethodHandleEntry

public MethodHandleEntry()

### MethodHandleEntry

public MethodHandleEntry(int _reference_kind, int _reference_index)

## Method Details

### acceptVisit

public void acceptVisit(BCVisitor visitor)
Description copied from interface: `VisitAcceptor`
Accept a visit from a `BCVisitor`, 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.

Specified by:
  `getType` in class `Entry`

### getReferenceKind

public int getReferenceKind()

### setReferenceKind

public void setReferenceKind(int referenceKind) throws IllegalArgumentException

Throws:
  `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 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)