public interface jdk.vm.ci.meta.ResolvedJavaType extends jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.ModifiersProvider, java.lang.reflect.AnnotatedElement
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.ResolvedJavaType
  super_class: java.lang.Object
{
  public abstract boolean hasFinalizer();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.Assumptions$AssumptionResult<java.lang.Boolean> hasFinalizableSubclass();
    descriptor: ()Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljava/lang/Boolean;>;

  public abstract boolean isInterface();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isInstanceClass();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isPrimitive();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isLeaf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 77
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isFinalFlagSet:()Z
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;

  public abstract boolean isEnum();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isInitialized();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void initialize();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isLinked();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void link();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 115
            new java.lang.UnsupportedOperationException
            dup
            ldc "link is unsupported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;

  public boolean hasDefaultMethods();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 122
            new java.lang.UnsupportedOperationException
            dup
            ldc "hasDefaultMethods is unsupported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;

  public boolean declaresDefaultMethods();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 129
            new java.lang.UnsupportedOperationException
            dup
            ldc "declaresDefaultMethods is unsupported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;

  public abstract boolean isAssignableFrom(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      other  

  public abstract jdk.vm.ci.meta.ResolvedJavaType getHostClass();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isJavaLangObject();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 151
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSuperclass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            ifnonnull 1
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
            ifne 1
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;

  public abstract boolean isInstance(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract jdk.vm.ci.meta.ResolvedJavaType getSuperclass();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaType[] getInterfaces();
    descriptor: ()[Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaType getSingleImplementor();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaType findLeastCommonAncestor(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      otherType  

  public abstract jdk.vm.ci.meta.Assumptions$AssumptionResult<jdk.vm.ci.meta.ResolvedJavaType> findLeafConcreteSubtype();
    descriptor: ()Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaType;>;

  public abstract jdk.vm.ci.meta.ResolvedJavaType getComponentType();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.vm.ci.meta.ResolvedJavaType getElementalType();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
         0: .line 226
            aload 0 /* this */
            astore 1 /* t */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType t
         1: .line 227
            goto 3
         2: .line 228
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 1 /* t */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 1 /* t */
         3: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifne 2
         4: .line 230
            aload 1 /* t */
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType t
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    5     1     t  Ljdk/vm/ci/meta/ResolvedJavaType;

  public abstract jdk.vm.ci.meta.ResolvedJavaType getArrayClass();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod resolveMethod(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      method      
      callerType  

  public jdk.vm.ci.meta.ResolvedJavaMethod resolveConcreteMethod(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType callerType
         0: .line 260
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* callerType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* resolvedMethod */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
         1: .line 261
            aload 3 /* resolvedMethod */
            ifnull 2
            aload 3 /* resolvedMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isAbstract:()Z
            ifeq 3
         2: .line 262
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aconst_null
            areturn
         3: .line 264
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedMethod */
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType callerType
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    4     1          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     2      callerType  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    4     3  resolvedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
            Name  Flags
      method      
      callerType  

  public abstract jdk.vm.ci.meta.Assumptions$AssumptionResult<jdk.vm.ci.meta.ResolvedJavaMethod> findUniqueConcreteMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
    MethodParameters:
        Name  Flags
      method  

  public abstract jdk.vm.ci.meta.ResolvedJavaField[] getInstanceFields(boolean);
    descriptor: (Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      includeSuperclasses  

  public abstract jdk.vm.ci.meta.ResolvedJavaField[] getStaticFields();
    descriptor: ()[Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaField findInstanceFieldWithOffset(long, jdk.vm.ci.meta.JavaKind);
    descriptor: (JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      offset        
      expectedKind  

  public abstract java.lang.String getSourceFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isLocal();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isMember();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaType getEnclosingType();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod[] getDeclaredConstructors();
    descriptor: ()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod[] getDeclaredMethods();
    descriptor: ()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod getClassInitializer();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.vm.ci.meta.ResolvedJavaMethod findMethod(java.lang.String, jdk.vm.ci.meta.Signature);
    descriptor: (Ljava/lang/String;Ljdk/vm/ci/meta/Signature;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
        start local 1 // java.lang.String name
        start local 2 // jdk.vm.ci.meta.Signature signature
         0: .line 353
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType java.lang.String jdk.vm.ci.meta.Signature top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         2: .line 354
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 2 /* signature */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 355
            aload 3 /* method */
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         4: .line 353
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 1
         6: .line 358
            aconst_null
            areturn
        end local 2 // jdk.vm.ci.meta.Signature signature
        end local 1 // java.lang.String name
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    7     1       name  Ljava/lang/String;
            0    7     2  signature  Ljdk/vm/ci/meta/Signature;
            2    4     3     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
           Name  Flags
      name       
      signature  

  public abstract boolean isCloneableWithAllocation();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.vm.ci.meta.ResolvedJavaType lookupType(jdk.vm.ci.meta.UnresolvedJavaType, boolean);
    descriptor: (Ljdk/vm/ci/meta/UnresolvedJavaType;Z)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
        start local 1 // jdk.vm.ci.meta.UnresolvedJavaType unresolvedJavaType
        start local 2 // boolean resolve
         0: .line 374
            aconst_null
            areturn
        end local 2 // boolean resolve
        end local 1 // jdk.vm.ci.meta.UnresolvedJavaType unresolvedJavaType
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    1     1  unresolvedJavaType  Ljdk/vm/ci/meta/UnresolvedJavaType;
            0    1     2             resolve  Z
    MethodParameters:
                    Name  Flags
      unresolvedJavaType  
      resolve             

  public jdk.vm.ci.meta.ResolvedJavaField resolveField(jdk.vm.ci.meta.UnresolvedJavaField, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/UnresolvedJavaField;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType this
        start local 1 // jdk.vm.ci.meta.UnresolvedJavaField unresolvedJavaField
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType accessingClass
         0: .line 379
            aconst_null
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType accessingClass
        end local 1 // jdk.vm.ci.meta.UnresolvedJavaField unresolvedJavaField
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    1     1  unresolvedJavaField  Ljdk/vm/ci/meta/UnresolvedJavaField;
            0    1     2       accessingClass  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                     Name  Flags
      unresolvedJavaField  
      accessingClass       

  public jdk.vm.ci.meta.JavaType getArrayClass();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getArrayClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.JavaType getElementalType();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.JavaType getComponentType();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ResolvedJavaType.java"
InnerClasses:
  public AssumptionResult = jdk.vm.ci.meta.Assumptions$AssumptionResult of jdk.vm.ci.meta.Assumptions