public class FunctionRef
extends java.lang.Object
Once you have created one of these, you have "everything you need" to call LambdaBootstrap
either statically from bytecode with invokedynamic, or at runtime from Java.
| Modifier and Type | Field and Description |
|---|---|
java.lang.String |
delegateClassName
class of the delegate method to be called
|
int |
delegateInvokeType
the invocation type of the delegate method
|
Definition.Method |
delegateMethod
delegate method
|
java.lang.String |
delegateMethodName
the name of the delegate method
|
java.lang.invoke.MethodType |
delegateMethodType
delegate method signature
|
org.objectweb.asm.Type |
delegateType
delegate method type method as type
|
java.lang.String |
factoryDescriptor
factory method type descriptor
|
java.lang.invoke.MethodType |
factoryMethodType
factory (CallSite) method signature
|
Definition.Method |
interfaceMethod
interface method
|
java.lang.String |
interfaceMethodName
functional interface method name
|
java.lang.invoke.MethodType |
interfaceMethodType
functional interface method signature
|
org.objectweb.asm.Type |
interfaceType
functional interface method as type
|
| Constructor and Description |
|---|
FunctionRef(Definition.Type expected,
Definition.Method interfaceMethod,
Definition.Method delegateMethod,
int numCaptures)
Creates a new FunctionRef (already resolved)
|
FunctionRef(Definition.Type expected,
Definition.Method interfaceMethod,
java.lang.String delegateMethodName,
java.lang.invoke.MethodType delegateMethodType,
int numCaptures)
Creates a new FunctionRef (low level).
|
FunctionRef(Definition definition,
Definition.Type expected,
java.lang.String type,
java.lang.String call,
int numCaptures)
Creates a new FunctionRef, which will resolve
type::call from the whitelist. |
public final java.lang.String interfaceMethodName
public final java.lang.invoke.MethodType factoryMethodType
public final java.lang.invoke.MethodType interfaceMethodType
public final java.lang.String delegateClassName
public final int delegateInvokeType
public final java.lang.String delegateMethodName
public final java.lang.invoke.MethodType delegateMethodType
public final Definition.Method interfaceMethod
public final Definition.Method delegateMethod
public final java.lang.String factoryDescriptor
public final org.objectweb.asm.Type interfaceType
public final org.objectweb.asm.Type delegateType
public FunctionRef(Definition definition, Definition.Type expected, java.lang.String type, java.lang.String call, int numCaptures)
type::call from the whitelist.definition - the whitelist against which this script is being compiledexpected - functional interface type to implement.type - the left hand side of a method reference expressioncall - the right hand side of a method reference expressionnumCaptures - number of captured argumentspublic FunctionRef(Definition.Type expected, Definition.Method interfaceMethod, Definition.Method delegateMethod, int numCaptures)
expected - functional interface type to implementinterfaceMethod - functional interface methoddelegateMethod - implementation methodnumCaptures - number of captured argumentspublic FunctionRef(Definition.Type expected, Definition.Method interfaceMethod, java.lang.String delegateMethodName, java.lang.invoke.MethodType delegateMethodType, int numCaptures)