abstract class jdk.vm.ci.hotspot.HotSpotJVMCIReflection
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.vm.ci.hotspot.HotSpotJVMCIReflection
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIReflection this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIReflection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;

  abstract boolean isInstance(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  
      obj     

  abstract boolean isAssignableFrom(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      holder     
      otherType  

  abstract java.lang.annotation.Annotation[] getAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  

  abstract java.lang.annotation.Annotation[] getDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  

  abstract <T extends java.lang.annotation.Annotation> T getAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, java.lang.Class<T>);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      holder           
      annotationClass  

  abstract boolean isLocalClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  

  abstract boolean isMemberClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  

  abstract jdk.vm.ci.hotspot.HotSpotResolvedObjectType getEnclosingClass(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      holder  

  abstract jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaField, boolean);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Z)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      holder      
      field       
      isVolatile  

  abstract jdk.vm.ci.meta.JavaConstant readFieldValue(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaField, boolean);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;Z)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      object      
      field       
      isVolatile  

  abstract boolean equals(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      hotSpotResolvedJavaType  
      that                     

  abstract jdk.vm.ci.meta.JavaConstant getJavaMirror(jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      hotSpotResolvedJavaType  

  abstract jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] getParameters(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract java.lang.annotation.Annotation[][] getParameterAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract java.lang.reflect.Type[] getGenericParameterTypes(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/reflect/Type;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract java.lang.annotation.Annotation[] getFieldAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract java.lang.annotation.Annotation[] getMethodAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      javaField  

  abstract java.lang.annotation.Annotation[] getMethodDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract java.lang.annotation.Annotation[] getFieldDeclaredAnnotations(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;)[Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      javaMethod  

  abstract <T extends java.lang.annotation.Annotation> T getMethodAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl, java.lang.Class<T>);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      javaMethod       
      annotationClass  

  abstract jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getType(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  abstract java.lang.String asString(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  abstract jdk.vm.ci.meta.ResolvedJavaType asJavaType(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  abstract <T> T asObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, java.lang.Class<T>);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
        Name  Flags
      object  
      type    

  abstract java.lang.Object asObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.hotspot.HotSpotResolvedJavaType);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  
      type    

  abstract java.lang.String formatString(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  abstract java.lang.Integer getLength(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Integer;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      arrayObject  

  abstract jdk.vm.ci.meta.JavaConstant readArrayElement(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, int);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;I)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      arrayObject  
      index        

  abstract jdk.vm.ci.meta.JavaConstant unboxPrimitive(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  abstract jdk.vm.ci.meta.JavaConstant forObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      value  

  abstract jdk.vm.ci.meta.JavaConstant boxPrimitive(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  abstract int getInt(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)I
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      object        
      displacement  

  abstract byte getByte(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)B
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      object        
      displacement  

  abstract short getShort(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)S
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      object        
      displacement  

  abstract long getLong(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, long);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)J
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      object        
      displacement  

  abstract void checkRead(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl, jdk.vm.ci.meta.JavaKind, long, jdk.vm.ci.hotspot.HotSpotResolvedObjectType);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;)V
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      constant      
      kind          
      displacement  
      type          

  abstract <T extends java.lang.annotation.Annotation> T getFieldAnnotation(jdk.vm.ci.hotspot.HotSpotResolvedJavaFieldImpl, java.lang.Class<T>);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0400) ACC_ABSTRACT
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      javaField        
      annotationClass  

  abstract java.lang.Object resolveObject(jdk.vm.ci.hotspot.HotSpotObjectConstantImpl);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      objectHandle  
}
SourceFile: "HotSpotJVMCIReflection.java"
InnerClasses:
  public Parameter = jdk.vm.ci.meta.ResolvedJavaMethod$Parameter of jdk.vm.ci.meta.ResolvedJavaMethod