public class FunctionRef
extends java.lang.Object
LambdaBootstrap for either a function reference or a user-defined
lambda function.| 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
|
java.lang.String |
delegateMethodName
the name of the delegate method
|
java.lang.invoke.MethodType |
delegateMethodType
delegate method signature
|
java.lang.invoke.MethodType |
factoryMethodType
factory (CallSite) method signature
|
java.lang.String |
interfaceMethodName
functional interface method name
|
java.lang.invoke.MethodType |
interfaceMethodType
functional interface method signature
|
boolean |
isDelegateInterface
whether a call is made on a delegate interface
|
| Modifier and Type | Method and Description |
|---|---|
static FunctionRef |
create(PainlessLookup painlessLookup,
java.util.Map<java.lang.String,Locals.LocalMethod> localMethods,
Location location,
java.lang.Class<?> targetClass,
java.lang.String typeName,
java.lang.String methodName,
int numberOfCaptures)
Creates a new FunctionRef which will resolve
type::call from the whitelist. |
public final java.lang.String interfaceMethodName
public final java.lang.invoke.MethodType interfaceMethodType
public final java.lang.String delegateClassName
public final boolean isDelegateInterface
public final int delegateInvokeType
public final java.lang.String delegateMethodName
public final java.lang.invoke.MethodType delegateMethodType
public final java.lang.invoke.MethodType factoryMethodType
public static FunctionRef create(PainlessLookup painlessLookup, java.util.Map<java.lang.String,Locals.LocalMethod> localMethods, Location location, java.lang.Class<?> targetClass, java.lang.String typeName, java.lang.String methodName, int numberOfCaptures)
type::call from the whitelist.painlessLookup - the whitelist against which this script is being compiledlocalMethods - user-defined and synthetic methods generated directly on the script classlocation - the character number within the script at compile-timetargetClass - functional interface type to implement.typeName - the left hand side of a method reference expressionmethodName - the right hand side of a method reference expressionnumberOfCaptures - number of captured arguments