Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Modifiers | Name | Description |
---|---|---|
static enum |
IndyInterface.CALL_TYPES |
Enum for easy differentiation between call types |
Modifiers | Name | Description |
---|---|---|
static int |
GROOVY_OBJECT |
|
static int |
IMPLICIT_THIS |
|
protected static Logger |
LOG |
Logger |
protected static boolean |
LOG_ENABLED |
boolean to indicate if logging for indy is enabled |
static MethodHandles.Lookup |
LOOKUP |
LOOKUP constant used for for example unreflect calls |
static int |
SAFE_NAVIGATION |
flags for method and property calls |
static int |
SPREAD_CALL |
|
static int |
THIS_CALL |
|
static int |
UNCACHED_CALL |
|
protected static SwitchPoint |
switchPoint |
Type | Name and description |
---|---|
static CallSite |
bootstrap(Lookup caller, String callType, MethodType type, String name, int flags) bootstrap method for method calls from Groovy compiled code with indy enabled. |
static CallSite |
bootstrap(Lookup caller, String name, MethodType type) bootstrap method for standard method calls |
static CallSite |
bootstrapCurrent(Lookup caller, String name, MethodType type) bootstrap method for method calls with "this" as receiver |
static CallSite |
bootstrapCurrentSafe(Lookup caller, String name, MethodType type) bootstrap method for method calls with "this" as receiver safe |
static CallSite |
bootstrapSafe(Lookup caller, String name, MethodType type) bootstrap method for null safe standard method calls |
protected static void |
invalidateSwitchPoints() Callback for constant meta class update change |
protected static MethodHandle |
makeFallBack(MutableCallSite mc, Class<?> sender, String name, int callID, MethodType type, boolean safeNavigation, boolean thisCall, boolean spreadCall) Makes a fallback method for an invalidated method selection |
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. |
Logger
boolean to indicate if logging for indy is enabled
LOOKUP constant used for for example 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 flagsbootstrap method for standard method calls
bootstrap method for method calls with "this" as receiver
bootstrap method for method calls with "this" as receiver safe
bootstrap method for null safe standard method calls
Callback for constant meta class update change
Makes a fallback method for an invalidated method selection