Uses of Class
java.lang.invoke.MethodHandles.Lookup
Package
Description
Provides classes that are fundamental to the design of the Java
programming language.
Classes and interfaces to represent nominal descriptors for run-time
entities such as classes or method handles, and classfile entities such as
constant pool entries or
invokedynamic
call sites.The
java.lang.invoke
package provides low-level primitives for interacting
with the Java Virtual Machine.The
java.lang.runtime
package provides low-level runtime support
for the Java language.Contains interfaces and classes that are used to link an
invokedynamic
call site.
Contains interfaces and classes needed by language runtimes to implement
their own language-specific object models and type conversions.
Contains classes that make it more convenient for language runtimes to
implement their own language-specific object models and type conversions
by providing basic implementations of some classes as well as various
utilities.
-
Uses of MethodHandles.Lookup in java.lang
Modifier and TypeMethodDescriptionDouble.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this instance as aConstantDesc
, the result of which is the instance itself.Float.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this instance as aConstantDesc
, the result of which is the instance itself.Integer.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this instance as aConstantDesc
, the result of which is the instance itself.Long.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this instance as aConstantDesc
, the result of which is the instance itself.String.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this instance as aConstantDesc
, the result of which is the instance itself. -
Uses of MethodHandles.Lookup in java.lang.constant
Modifier and TypeMethodDescriptionDynamicCallSiteDesc.resolveCallSiteDesc(MethodHandles.Lookup lookup)
Reflectively invokes the bootstrap method with the specified arguments, and return the resultingCallSite
ConstantDesc.resolveConstantDesc(MethodHandles.Lookup lookup)
Resolves this descriptor reflectively, emulating the resolution behavior of JVMS 5.4.3 and the access control behavior of JVMS 5.4.4.DynamicConstantDesc.resolveConstantDesc(MethodHandles.Lookup lookup)
-
Uses of MethodHandles.Lookup in java.lang.invoke
Modifier and TypeMethodDescriptionMethodHandles.Lookup.defineHiddenClass(byte[] bytes, boolean initialize, MethodHandles.Lookup.ClassOption... options)
Creates a hidden class or interface frombytes
, returning aLookup
on the newly created class or interface.MethodHandles.Lookup.defineHiddenClassWithClassData(byte[] bytes, Object classData, boolean initialize, MethodHandles.Lookup.ClassOption... options)
Creates a hidden class or interface frombytes
with associated class data, returning aLookup
on the newly created class or interface.MethodHandles.Lookup.dropLookupMode(int modeToDrop)
Creates a lookup on the same lookup class which this lookup object finds members, but with a lookup mode that has lost the given lookup mode.Creates a lookup on the specified new lookup class.static MethodHandles.Lookup
MethodHandles.lookup()
Returns alookup object
with full capabilities to emulate all supported bytecode behaviors of the caller.static MethodHandles.Lookup
MethodHandles.privateLookupIn(Class<?> targetClass, MethodHandles.Lookup caller)
Returns alookup
object on a target class to emulate all supported bytecode behaviors, including private access.static MethodHandles.Lookup
MethodHandles.publicLookup()
Returns alookup object
which is trusted minimally.Modifier and TypeMethodDescriptionstatic CallSite
LambdaMetafactory.altMetafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, Object... args)
Facilitates the creation of simple "function objects" that implement one or more interfaces by delegation to a providedMethodHandle
, after appropriate type adaptation and partial evaluation of arguments.static VarHandle
ConstantBootstraps.arrayVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass)
Finds aVarHandle
for an array type.static <T> T
MethodHandles.classData(MethodHandles.Lookup caller, String name, Class<T> type)
Returns the class data associated with the lookup class of the givencaller
lookup object, ornull
.static <T> T
MethodHandles.classDataAt(MethodHandles.Lookup caller, String name, Class<T> type, int index)
Returns the element at the specified index in the class data, if the class data associated with the lookup class of the givencaller
lookup object is aList
.static <E extends Enum<E>>
EConstantBootstraps.enumConstant(MethodHandles.Lookup lookup, String name, Class<E> type)
Returns anenum
constant of the type specified bytype
with the name specified byname
.static Object
ConstantBootstraps.explicitCast(MethodHandles.Lookup lookup, String name, Class<?> dstType, Object value)
Applies a conversion from a source type to a destination type.static VarHandle
ConstantBootstraps.fieldVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)
Finds aVarHandle
for an instance field.static Object
ConstantBootstraps.getStaticFinal(MethodHandles.Lookup lookup, String name, Class<?> type)
Returns the value of a static final field declared in the class which is the same as the field's type (or, for primitive-valued fields, declared in the wrapper class.)static Object
ConstantBootstraps.getStaticFinal(MethodHandles.Lookup lookup, String name, Class<?> type, Class<?> declaringClass)
Returns the value of a static final field.static Object
ConstantBootstraps.invoke(MethodHandles.Lookup lookup, String name, Class<?> type, MethodHandle handle, Object... args)
Returns the result of invoking a method handle with the provided arguments.static CallSite
StringConcatFactory.makeConcat(MethodHandles.Lookup lookup, String name, MethodType concatType)
Facilitates the creation of optimized String concatenation methods, that can be used to efficiently concatenate a known number of arguments of known types, possibly after type adaptation and partial evaluation of arguments.static CallSite
StringConcatFactory.makeConcatWithConstants(MethodHandles.Lookup lookup, String name, MethodType concatType, String recipe, Object... constants)
Facilitates the creation of optimized String concatenation methods, that can be used to efficiently concatenate a known number of arguments of known types, possibly after type adaptation and partial evaluation of arguments.static CallSite
LambdaMetafactory.metafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, MethodType samMethodType, MethodHandle implMethod, MethodType instantiatedMethodType)
Facilitates the creation of simple "function objects" that implement one or more interfaces by delegation to a providedMethodHandle
, after appropriate type adaptation and partial evaluation of arguments.static Object
ConstantBootstraps.nullConstant(MethodHandles.Lookup lookup, String name, Class<?> type)
Returns anull
object reference for the reference type specified bytype
.static Class<?>
ConstantBootstraps.primitiveClass(MethodHandles.Lookup lookup, String name, Class<?> type)
Returns aClass
mirror for the primitive type whose type descriptor is specified byname
.static MethodHandles.Lookup
MethodHandles.privateLookupIn(Class<?> targetClass, MethodHandles.Lookup caller)
Returns alookup
object on a target class to emulate all supported bytecode behaviors, including private access.<T extends Member>
TMethodHandleInfo.reflectAs(Class<T> expected, MethodHandles.Lookup lookup)
Reflects the underlying member as a method, constructor, or field object.static VarHandle
ConstantBootstraps.staticFieldVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)
Finds aVarHandle
for a static field. -
Uses of MethodHandles.Lookup in java.lang.runtime
Modifier and TypeMethodDescriptionstatic Object
ObjectMethods.bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters)
Bootstrap method to generate theObject.equals(Object)
,Object.hashCode()
, andObject.toString()
methods, based on a description of the component names and accessor methods, for eitherinvokedynamic
call sites or dynamic constant pool entries. -
Uses of MethodHandles.Lookup in jdk.dynalink
Modifier and TypeMethodDescriptionSecureLookupSupplier.getLookup()
Returns the lookup secured by thisSecureLookupSupplier
.protected MethodHandles.Lookup
SecureLookupSupplier.getLookupPrivileged()
Returns the value ofSecureLookupSupplier.getLookup()
without a security check.ModifierConstructorDescriptionCallSiteDescriptor(MethodHandles.Lookup lookup, Operation operation, MethodType methodType)
Creates a new call site descriptor.SecureLookupSupplier(MethodHandles.Lookup lookup)
Creates a new secure lookup supplier, securing the passed lookup. -
Uses of MethodHandles.Lookup in jdk.dynalink.linker
Modifier and TypeMethodDescriptionGuardingTypeConverterFactory.convertToType(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier)
Returns a guarded type conversion that receives a value of the specified source type and returns a value converted to the specified target type. -
Uses of MethodHandles.Lookup in jdk.dynalink.linker.support
Modifier and TypeMethodDescriptionstatic MethodHandle
Lookup.findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Given a lookup, finds usingLookup.findSpecial(Class, String, MethodType)
a method on that lookup's class.static MethodHandle
Lookup.findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Given a lookup, finds usingLookup.findStatic(Class, String, MethodType)
a method on that lookup's class.static MethodHandle
Lookup.unreflect(MethodHandles.Lookup lookup, Method m)
Performs aunreflect(Method)
, converting any encounteredIllegalAccessException
into anIllegalAccessError
.static MethodHandle
Lookup.unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
Performs aunreflectConstructor(Constructor)
, converting any encounteredIllegalAccessException
into anIllegalAccessError
.ModifierConstructorDescriptionLookup(MethodHandles.Lookup lookup)
Creates a new instance, bound to an instance ofMethodHandles.Lookup
.