Uses of Class
java.lang.invoke.MethodHandles.Lookup
Package
Description
Provides classes that are fundamental to the design of the Java
programming language.
Provides classfile parsing, generation, and transformation library.
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.-
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.Enum.EnumDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) 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.classfile
Modifier and TypeMethodDescriptionstatic ClassHierarchyResolver
ClassHierarchyResolver.ofClassLoading
(MethodHandles.Lookup lookup) Returns a ClassHierarchyResolver that extracts class hierarchy information via the Reflection API with a Lookup. -
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
Class
<?> ClassDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) ConstantDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) DynamicConstantDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) MethodHandleDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) MethodTypeDesc.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 interfaceMethodName, MethodType factoryType, 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 interfaceMethodName, MethodType factoryType, MethodType interfaceMethodType, MethodHandle implementation, MethodType dynamicMethodType) 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.VarHandle.VarHandleDesc.resolveConstantDesc
(MethodHandles.Lookup lookup) 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.static CallSite
SwitchBootstraps.enumSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) Bootstrap method for linking aninvokedynamic
call site that implements aswitch
on a target of an enum type.static CallSite
SwitchBootstraps.typeSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) Bootstrap method for linking aninvokedynamic
call site that implements aswitch
on a target of a reference type.