Package org.codehaus.groovy.vmplugin.v8
Class Selector
java.lang.Object
org.codehaus.groovy.vmplugin.v8.Selector
Base state holder for invokedynamic method, property, constructor, and cast selection.
-
Field Summary
FieldsModifier and TypeFieldDescriptionObject[]Effective invocation arguments, possibly after spread-call normalization.booleanFlags controlling metaclass fallback usage and call-site caching.Call site being linked.Call-site category associated with this selector.booleanControls whether Groovy runtime exceptions are unwrapped around the target.Call-site target type and the currently adapted working type.Method handle assembled for the current dispatch path.booleanIndicates whether the selected target accepts varargs.Selected meta method, when method dispatch resolves through the metaclass.Name of the method or property being resolved.Object[]Effective invocation arguments, possibly after spread-call normalization.booleanFlags tracking safe navigation and spread-call semantics.booleanFlags tracking safe navigation and spread-call semantics.Class<?>Class used as the selection base for metaclass lookups.Class<?>Sending class used for visibility and MOP decisions.booleanIndicates whether spread-collector adaptation should be skipped.booleanFlags tracking safe navigation and spread-call semantics.Call-site target type and the currently adapted working type.booleanIndicates whether the invocation is athiscall.booleanFlags controlling metaclass fallback usage and call-site caching. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturnsNullObject.getNullObject()if the receiver (args[0]) is null.static SelectorgetSelector(CacheableCallSite callSite, Class<?> sender, String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, Object[] arguments) Returns a Selector or throws a GroovyBugError.
-
Field Details
-
args
Effective invocation arguments, possibly after spread-call normalization. -
originalArguments
Effective invocation arguments, possibly after spread-call normalization. -
method
Selected meta method, when method dispatch resolves through the metaclass. -
targetType
Call-site target type and the currently adapted working type. -
currentType
Call-site target type and the currently adapted working type. -
name
Name of the method or property being resolved. -
handle
Method handle assembled for the current dispatch path. -
useMetaClass
public boolean useMetaClassFlags controlling metaclass fallback usage and call-site caching. -
cache
public boolean cacheFlags controlling metaclass fallback usage and call-site caching. -
callSite
Call site being linked. -
sender
Sending class used for visibility and MOP decisions. -
isVargs
public boolean isVargsIndicates whether the selected target accepts varargs. -
spread
public boolean spreadFlags tracking safe navigation and spread-call semantics. -
skipSpreadCollector
public boolean skipSpreadCollectorIndicates whether spread-collector adaptation should be skipped. -
thisCall
public boolean thisCallIndicates whether the invocation is athiscall. -
selectionBase
Class used as the selection base for metaclass lookups. -
catchException
public boolean catchExceptionControls whether Groovy runtime exceptions are unwrapped around the target. -
callType
Call-site category associated with this selector.
-
-
Constructor Details
-
Selector
public Selector()
-
-
Method Details
-
getSelector
public static Selector getSelector(CacheableCallSite callSite, Class<?> sender, String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, Object[] arguments) Returns a Selector or throws a GroovyBugError. -
getCorrectedReceiver
ReturnsNullObject.getNullObject()if the receiver (args[0]) is null. If it is not null, the receiver itself is returned.
-