| Modifier and Type | Field and Description |
|---|---|
| private static final MethodHandle |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| private static boolean | |
| pack-priv static MethodHandle | Returns: a collecting method handlethe original method handle target, final int the total number of arguments in the new method handle parameterCount)Creates a method handle out of the original target that will collect the varargs for the exact component type of the varArg array. |
| pack-priv boolean | contains(final SingleDynamicMethod method)
Implements abstract jdk. True if this dynamic method already contains a method with an identical signature as the passed in method. |
| private static MethodHandle | createConvertingInvocation(final MethodHandle sizedMethod, final LinkerServices linkerServices, final MethodType callSiteType)
|
| pack-priv MethodHandle | getInvocation(final CallSiteDescriptor callSiteDescriptor, final LinkerServices linkerServices)
Implements abstract jdk. Creates an invocation for the dynamic method. |
| pack-priv static MethodHandle | Returns: the adapted method handle.the method handle to adapt target, final MethodType the type of the call site callSiteType, final LinkerServices the linker services used for type conversions linkerServices)Given a method handle and a call site type, adapts the method handle to the call site type. |
| pack-priv SingleDynamicMethod | getMethodForExactParamTypes(final String paramTypes)
Implements abstract jdk. Returns a single dynamic method representing a single underlying Java method (possibly selected among several overloads) with formal parameter types exactly matching the passed signature. |
| pack-priv static String | getMethodNameWithSignature(final MethodType type, final String methodName, final boolean withReturnType)
|
| pack-priv abstract MethodType | |
| pack-priv abstract MethodHandle | Returns: the handle to this method's target method.the call site descriptor to use. desc)Given a specified call site descriptor, returns a method handle to this method's target. |
| pack-priv abstract boolean | Returns: true if this method is variable arity.Returns true if this method is variable arity. |
| private static boolean | |
| private static boolean |
| CAN_CONVERT_TO | back to summary |
|---|---|
| private static final MethodHandle CAN_CONVERT_TO | |
| SingleDynamicMethod | back to summary |
|---|---|
| pack-priv SingleDynamicMethod(final String name) | |
| canConvertTo | back to summary |
|---|---|
private static boolean canConvertTo(final LinkerServices linkerServices, final Class<?> to, final Object obj)
| |
| collectArguments | back to summary |
|---|---|
| pack-priv static MethodHandle collectArguments(final MethodHandle target, final int parameterCount) Creates a method handle out of the original target that will collect the varargs for the exact component type of the varArg array. Note that this will nicely trigger language-specific type converters for exactly those varargs for which it is necessary when later passed to linkerServices.convertArguments().
| |
| contains | back to summary |
|---|---|
| pack-priv boolean contains(final SingleDynamicMethod method) Implements abstract jdk. Doc from jdk. True if this dynamic method already contains a method with an identical signature as the passed in method.
| |
| createConvertingInvocation | back to summary |
|---|---|
| private static MethodHandle createConvertingInvocation(final MethodHandle sizedMethod, final LinkerServices linkerServices, final MethodType callSiteType) | |
| getInvocation | back to summary |
|---|---|
| pack-priv MethodHandle getInvocation(final CallSiteDescriptor callSiteDescriptor, final LinkerServices linkerServices) Implements abstract jdk. Doc from jdk. Creates an invocation for the dynamic method. If the method is overloaded, it will perform overloaded method resolution based on the specified method type. The resulting resolution can either identify a single method to be invoked among the overloads, or it can identify multiple ones. In the latter case, the returned method handle will perform further overload resolution among these candidates at every invocation. If the method to be invoked is a variable arguments (vararg) method, it will pack the extra arguments in an array before the invocation of the underlying method if it is not already done.
| |
| getInvocation | back to summary |
|---|---|
| pack-priv static MethodHandle getInvocation(final MethodHandle target, final MethodType callSiteType, final LinkerServices linkerServices) Given a method handle and a call site type, adapts the method handle to the call site type. Performs type
conversions as needed using the specified linker services, and in case that the method handle is a vararg
collector, matches it to the arity of the call site. The type of the return value is only changed if it can be
converted using a conversion that loses neither precision nor magnitude, see
| |
| getMethodForExactParamTypes | back to summary |
|---|---|
| pack-priv SingleDynamicMethod getMethodForExactParamTypes(final String paramTypes) Implements abstract jdk. Doc from jdk. Returns a single dynamic method representing a single underlying Java method (possibly selected among several overloads) with formal parameter types exactly matching the passed signature.
| |
| getMethodNameWithSignature | back to summary |
|---|---|
| pack-priv static String getMethodNameWithSignature(final MethodType type, final String methodName, final boolean withReturnType) | |
| getMethodType | back to summary |
|---|---|
| pack-priv abstract MethodType getMethodType() Returns this method's native type.
| |
| getTarget | back to summary |
|---|---|
| pack-priv abstract MethodHandle getTarget(CallSiteDescriptor desc) Given a specified call site descriptor, returns a method handle to this method's target. The target should only depend on the descriptor's lookup, and it should only retrieve it (as a privileged operation) when it is absolutely needed.
| |
| isVarArgs | back to summary |
|---|---|
| pack-priv abstract boolean isVarArgs() Returns true if this method is variable arity.
| |
| typeMatchesDescription | back to summary |
|---|---|
| private static boolean typeMatchesDescription(final String paramTypes, final MethodType type) | |
| typeNameMatches | back to summary |
|---|---|
| private static boolean typeNameMatches(final String typeName, final Class<?> type) | |