Package org.codehaus.groovy.vmplugin.v7
Class IndyInterface
java.lang.Object
org.codehaus.groovy.vmplugin.v7.IndyInterface
@Deprecated public class IndyInterface extends Object
Deprecated.
Bytecode level interface for bootstrap methods used by invokedynamic.
This class provides a logging ability by using the boolean system property
groovy.indy.logging. Other than that this class contains the
interfacing methods with bytecode for invokedynamic as well as some helper
methods and classes.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IndyInterface.CallType
Deprecated.Enum for easy differentiation between call types -
Field Summary
Fields Modifier and Type Field Description static int
GROOVY_OBJECT
Deprecated.flags for method and property callsstatic int
IMPLICIT_THIS
Deprecated.flags for method and property callsprotected static Logger
LOG
Deprecated.Loggerprotected static boolean
LOG_ENABLED
Deprecated.boolean to indicate if logging for indy is enabledstatic MethodHandles.Lookup
LOOKUP
Deprecated.LOOKUP constant used for for example unreflect callsstatic int
SAFE_NAVIGATION
Deprecated.flags for method and property callsstatic int
SPREAD_CALL
Deprecated.flags for method and property callsprotected static SwitchPoint
switchPoint
Deprecated.static int
THIS_CALL
Deprecated.flags for method and property callsstatic int
UNCACHED_CALL
Deprecated.flags for method and property calls -
Constructor Summary
Constructors Constructor Description IndyInterface()
Deprecated. -
Method Summary
Modifier and Type Method Description static CallSite
bootstrap(MethodHandles.Lookup caller, String callType, MethodType type, String name, int flags)
Deprecated.bootstrap method for method calls from Groovy compiled code with indy enabled.static Object
fromCache(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments)
Deprecated.Get the cached methodhandle.protected static void
invalidateSwitchPoints()
Deprecated.Callback for constant meta class update changeprotected static MethodHandle
makeFallBack(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)
Deprecated.Makes a fallback method for an invalidated method selectionstatic Object
selectMethod(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments)
Deprecated.Core method for indy method selection using runtime types.static CallSite
staticArrayAccess(MethodHandles.Lookup lookup, String name, MethodType type)
Deprecated.
-
Field Details
-
SAFE_NAVIGATION
public static final int SAFE_NAVIGATIONDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
THIS_CALL
public static final int THIS_CALLDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
GROOVY_OBJECT
public static final int GROOVY_OBJECTDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
IMPLICIT_THIS
public static final int IMPLICIT_THISDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
SPREAD_CALL
public static final int SPREAD_CALLDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
UNCACHED_CALL
public static final int UNCACHED_CALLDeprecated.flags for method and property calls- See Also:
- Constant Field Values
-
LOG
Deprecated.Logger -
LOG_ENABLED
protected static final boolean LOG_ENABLEDDeprecated.boolean to indicate if logging for indy is enabled -
LOOKUP
Deprecated.LOOKUP constant used for for example unreflect calls -
switchPoint
Deprecated.
-
-
Constructor Details
-
IndyInterface
public IndyInterface()Deprecated.
-
-
Method Details
-
invalidateSwitchPoints
protected static void invalidateSwitchPoints()Deprecated.Callback for constant meta class update change -
bootstrap
public static CallSite bootstrap(MethodHandles.Lookup caller, String callType, MethodType type, String name, int flags)Deprecated.bootstrap method for method calls from Groovy compiled code with indy enabled. This method gets a flags parameter which uses the following encoding:- 1 is the flag value for safe navigation see
SAFE_NAVIGATION
- 2 is the flag value for a call on this see
THIS_CALL
- Parameters:
caller
- - the callercallType
- - the type of the calltype
- - the call site typename
- - the real method nameflags
- - call flags- Returns:
- the produced CallSite
- Since:
- Groovy 2.1.0
- 1 is the flag value for safe navigation see
-
makeFallBack
protected static MethodHandle makeFallBack(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)Deprecated.Makes a fallback method for an invalidated method selection -
fromCache
public static Object fromCache(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) throws ThrowableDeprecated.Get the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it.- Throws:
Throwable
-
selectMethod
public static Object selectMethod(MutableCallSite callSite, Class<?> sender, String methodName, int callID, Boolean safeNavigation, Boolean thisCall, Boolean spreadCall, Object dummyReceiver, Object[] arguments) throws ThrowableDeprecated.Core method for indy method selection using runtime types.- Throws:
Throwable
-
staticArrayAccess
public static CallSite staticArrayAccess(MethodHandles.Lookup lookup, String name, MethodType type)Deprecated.- Since:
- 2.5.0
-