@Deprecated public class IndyInterface extends Object
Legacy class containing methods called by Groovy 2.5 Indy compiled bytecode. Includes the interfacing methods with bytecode for invokedynamic and some helper methods and classes.
Modifiers | Name | Description |
---|---|---|
enum |
IndyInterface.CallType |
Enum for easy differentiation between call types |
Modifiers | Name | Description |
---|---|---|
static MethodHandles.Lookup |
LOOKUP |
LOOKUP constant used for example in unreflect calls |
static int |
SAFE_NAVIGATION |
flags for method and property calls |
Type Params | Return Type | Name and description |
---|---|---|
|
public static CallSite |
bootstrap(MethodHandles.Lookup caller, String callType, MethodType type, String name, int flags) bootstrap method for method calls from Groovy compiled code with indy enabled. |
|
public static Object |
fromCache(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) Get the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it. |
|
public static Object |
selectMethod(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) Core method for indy method selection using runtime types. |
|
public static CallSite |
staticArrayAccess(MethodHandles.Lookup lookup, String name, MethodType type)
|
LOOKUP constant used for example in unreflect calls
flags for method and property calls
bootstrap method for method calls from Groovy compiled code with indy enabled. This method gets a flags parameter which uses the following encoding:
caller
- - the callercallType
- - the type of the calltype
- - the call site typename
- - the real method nameflags
- - call flagsGet the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it.
Core method for indy method selection using runtime types.