- All Implemented Interfaces:
- ConstantDesc
- Enclosing class:
- VarHandle
public static final class VarHandle.VarHandleDesc extends DynamicConstantDesc<VarHandle>
A nominal descriptor for a
 
VarHandle constant.- Since:
- 12
- 
Method SummaryModifier and Type Method Description static VarHandle.VarHandleDescofArray(ClassDesc arrayClass)Returns a VarHandle.VarHandleDesc corresponding to aVarHandlefor an array type.static VarHandle.VarHandleDescofField(ClassDesc declaringClass, String name, ClassDesc fieldType)Returns a VarHandle.VarHandleDesc corresponding to aVarHandlefor an instance field.static VarHandle.VarHandleDescofStaticField(ClassDesc declaringClass, String name, ClassDesc fieldType)Returns a VarHandle.VarHandleDesc corresponding to aVarHandlefor a static field.VarHandleresolveConstantDesc(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.StringtoString()Returns a compact textual description of this constant description.ClassDescvarType()Returns aClassDescdescribing the type of the variable described by this descriptor.Methods declared in class java.lang.constant.DynamicConstantDescbootstrapArgs, bootstrapArgsList, bootstrapMethod, constantName, constantType, equals, of, of, ofCanonical, ofNamed
- 
Method Details- 
ofFieldpublic static VarHandle.VarHandleDesc ofField(ClassDesc declaringClass, String name, ClassDesc fieldType)Returns a VarHandle.VarHandleDesc corresponding to aVarHandlefor an instance field.- Parameters:
- name- the unqualifed name of the field
- declaringClass- a- ClassDescdescribing the declaring class, for field var handles
- fieldType- a- ClassDescdescribing the type of the field
- Returns:
- the VarHandle.VarHandleDesc
- Throws:
- NullPointerException- if any of the arguments are null
- See Java Virtual Machine Specification:
- 
4.2.2 Unqualified Names
 
- 
ofStaticFieldpublic static VarHandle.VarHandleDesc ofStaticField(ClassDesc declaringClass, String name, ClassDesc fieldType)Returns a VarHandle.VarHandleDesc corresponding to aVarHandlefor a static field.- Parameters:
- name- the unqualified name of the field
- declaringClass- a- ClassDescdescribing the declaring class, for field var handles
- fieldType- a- ClassDescdescribing the type of the field
- Returns:
- the VarHandle.VarHandleDesc
- Throws:
- NullPointerException- if any of the arguments are null
- See Java Virtual Machine Specification:
- 
4.2.2 Unqualified Names
 
- 
ofArrayReturns a VarHandle.VarHandleDesc corresponding to aVarHandlefor an array type.- Parameters:
- arrayClass- a- ClassDescdescribing the type of the array
- Returns:
- the VarHandle.VarHandleDesc
- Throws:
- NullPointerException- if any of the arguments are null
 
- 
varTypeReturns aClassDescdescribing the type of the variable described by this descriptor.- Returns:
- the variable type
 
- 
resolveConstantDescpublic VarHandle resolveConstantDesc(MethodHandles.Lookup lookup) throws ReflectiveOperationExceptionDescription copied from interface:ConstantDescResolves this descriptor reflectively, emulating the resolution behavior of JVMS 5.4.3 and the access control behavior of JVMS 5.4.4. The resolution and access control context is provided by theMethodHandles.Lookupparameter. No caching of the resulting value is performed.- Parameters:
- lookup- The- MethodHandles.Lookupto provide name resolution and access control context
- Returns:
- the resolved constant value
- Throws:
- ReflectiveOperationException- if a class, method, or field could not be reflectively resolved in the course of resolution
 
- 
toStringReturns a compact textual description of this constant description. For a field VarHandle, includes the owner, name, and type of the field, and whether it is static; for an array VarHandle, the name of the component type.- Overrides:
- toStringin class- DynamicConstantDesc<VarHandle>
- Returns:
- A compact textual description of this descriptor
 
 
-