Package org.codehaus.groovy.vmplugin.v7
Class IndyInterface
java.lang.Object
org.codehaus.groovy.vmplugin.v7.IndyInterface
@Deprecated
public class IndyInterface
extends java.lang.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 classIndyInterface.CallTypeDeprecated.Enum for easy differentiation between call types -
Field Summary
Fields Modifier and Type Field Description static intGROOVY_OBJECTDeprecated.flags for method and property callsstatic intIMPLICIT_THISDeprecated.flags for method and property callsprotected static java.util.logging.LoggerLOGDeprecated.Loggerprotected static booleanLOG_ENABLEDDeprecated.boolean to indicate if logging for indy is enabledstatic java.lang.invoke.MethodHandles.LookupLOOKUPDeprecated.LOOKUP constant used for for example unreflect callsstatic intSAFE_NAVIGATIONDeprecated.flags for method and property callsstatic intSPREAD_CALLDeprecated.flags for method and property callsprotected static java.lang.invoke.SwitchPointswitchPointDeprecated.static intTHIS_CALLDeprecated.flags for method and property callsstatic intUNCACHED_CALLDeprecated.flags for method and property calls -
Constructor Summary
Constructors Constructor Description IndyInterface()Deprecated. -
Method Summary
Modifier and Type Method Description static java.lang.invoke.CallSitebootstrap(java.lang.invoke.MethodHandles.Lookup caller, java.lang.String callType, java.lang.invoke.MethodType type, java.lang.String name, int flags)Deprecated.bootstrap method for method calls from Groovy compiled code with indy enabled.static java.lang.ObjectfromCache(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments)Deprecated.Get the cached methodhandle.protected static voidinvalidateSwitchPoints()Deprecated.Callback for constant meta class update changeprotected static java.lang.invoke.MethodHandlemakeFallBack(java.lang.invoke.MutableCallSite mc, java.lang.Class<?> sender, java.lang.String name, int callID, java.lang.invoke.MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)Deprecated.Makes a fallback method for an invalidated method selectionstatic java.lang.ObjectselectMethod(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments)Deprecated.Core method for indy method selection using runtime types.static java.lang.invoke.CallSitestaticArrayAccess(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String name, java.lang.invoke.MethodType type)Deprecated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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
protected static final java.util.logging.Logger LOGDeprecated.Logger -
LOG_ENABLED
protected static final boolean LOG_ENABLEDDeprecated.boolean to indicate if logging for indy is enabled -
LOOKUP
public static final java.lang.invoke.MethodHandles.Lookup LOOKUPDeprecated.LOOKUP constant used for for example unreflect calls -
switchPoint
protected static java.lang.invoke.SwitchPoint switchPointDeprecated.
-
-
Constructor Details
-
IndyInterface
public IndyInterface()Deprecated.
-
-
Method Details
-
invalidateSwitchPoints
protected static void invalidateSwitchPoints()Deprecated.Callback for constant meta class update change -
bootstrap
public static java.lang.invoke.CallSite bootstrap(java.lang.invoke.MethodHandles.Lookup caller, java.lang.String callType, java.lang.invoke.MethodType type, java.lang.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 java.lang.invoke.MethodHandle makeFallBack(java.lang.invoke.MutableCallSite mc, java.lang.Class<?> sender, java.lang.String name, int callID, java.lang.invoke.MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall)Deprecated.Makes a fallback method for an invalidated method selection -
fromCache
public static java.lang.Object fromCache(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments) throws java.lang.ThrowableDeprecated.Get the cached methodhandle. if the related methodhandle is not found in the inline cache, cache and return it.- Throws:
java.lang.Throwable
-
selectMethod
public static java.lang.Object selectMethod(java.lang.invoke.MutableCallSite callSite, java.lang.Class<?> sender, java.lang.String methodName, int callID, java.lang.Boolean safeNavigation, java.lang.Boolean thisCall, java.lang.Boolean spreadCall, java.lang.Object dummyReceiver, java.lang.Object[] arguments) throws java.lang.ThrowableDeprecated.Core method for indy method selection using runtime types.- Throws:
java.lang.Throwable
-
staticArrayAccess
public static java.lang.invoke.CallSite staticArrayAccess(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String name, java.lang.invoke.MethodType type)Deprecated.- Since:
- 2.5.0
-