public interface jdk.vm.ci.meta.MetaAccessProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.MetaAccessProvider
  super_class: java.lang.Object
{
  public abstract jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
       Name  Flags
      clazz  

  public jdk.vm.ci.meta.ResolvedJavaType[] lookupJavaTypes(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)[Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider this
        start local 1 // java.lang.Class[] classes
         0: .line 52
            aload 1 /* classes */
            arraylength
            anewarray jdk.vm.ci.meta.ResolvedJavaType
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType[] result
         1: .line 53
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 54
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* this */
            aload 1 /* classes */
            iload 3 /* i */
            aaload
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aastore
         4: .line 53
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 2 /* result */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 56
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType[] result
        end local 1 // java.lang.Class[] classes
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    7     1  classes  [Ljava/lang/Class;
            1    7     2   result  [Ljdk/vm/ci/meta/ResolvedJavaType;
            2    6     3        i  I
    Signature: ([Ljava/lang/Class<*>;)[Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
         Name  Flags
      classes  

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod lookupJavaMethod(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      reflectionMethod  

  public abstract jdk.vm.ci.meta.ResolvedJavaField lookupJavaField(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      reflectionField  

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

  public abstract long getMemorySize(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      constant  

  public abstract jdk.vm.ci.meta.Signature parseMethodDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/Signature;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      methodDescriptor  

  public abstract jdk.vm.ci.meta.JavaConstant encodeDeoptActionAndReason(jdk.vm.ci.meta.DeoptimizationAction, jdk.vm.ci.meta.DeoptimizationReason, int);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;I)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      action   
      reason   
      debugId  

  public abstract jdk.vm.ci.meta.JavaConstant encodeSpeculation(jdk.vm.ci.meta.SpeculationLog$Speculation);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$Speculation;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      speculation  

  public abstract jdk.vm.ci.meta.DeoptimizationReason decodeDeoptReason(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationReason;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      constant  

  public abstract jdk.vm.ci.meta.DeoptimizationAction decodeDeoptAction(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationAction;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      constant  

  public abstract jdk.vm.ci.meta.SpeculationLog$Speculation decodeSpeculation(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.meta.SpeculationLog);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/SpeculationLog;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      constant        
      speculationLog  

  public abstract int decodeDebugId(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      constant  

  public abstract int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      elementKind  

  public abstract int getArrayIndexScale(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      elementKind  
}
SourceFile: "MetaAccessProvider.java"
InnerClasses:
  public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog