public class com.oracle.svm.hosted.c.info.InfoTreeBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.c.info.InfoTreeBuilder
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.phases.util.Providers originalProviders;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.c.NativeLibraries nativeLibs;
    descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.c.NativeCodeContext codeCtx;
    descriptor: Lcom/oracle/svm/hosted/c/NativeCodeContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.c.info.NativeCodeInfo nativeCodeInfo;
    descriptor: Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            ldc Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.svm.hosted.c.NativeLibraries, com.oracle.svm.hosted.c.NativeCodeContext);
    descriptor: (Lcom/oracle/svm/hosted/c/NativeLibraries;Lcom/oracle/svm/hosted/c/NativeCodeContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        start local 2 // com.oracle.svm.hosted.c.NativeCodeContext codeCtx
         0: .line 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            aload 1 /* nativeLibs */
            putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
         2: .line 85
            aload 0 /* this */
            aload 2 /* codeCtx */
            putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
         3: .line 86
            aload 2 /* codeCtx */
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
            instanceof com.oracle.svm.hosted.c.BuiltinDirectives
            istore 3 /* isBuiltin */
        start local 3 // boolean isBuiltin
         4: .line 89
            aload 2 /* codeCtx */
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
            ifnull 7
         5: .line 90
            aload 2 /* codeCtx */
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         6: .line 91
            goto 15
        end local 4 // java.lang.String name
         7: .line 92
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* nameBuilder */
        start local 5 // java.lang.StringBuilder nameBuilder
         8: .line 93
            ldc ""
            astore 6 /* sep */
        start local 6 // java.lang.String sep
         9: .line 94
            aload 2 /* codeCtx */
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
            invokeinterface org.graalvm.nativeimage.c.CContext$Directives.getHeaderFiles:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int top java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* headerFile */
        start local 7 // java.lang.String headerFile
        11: .line 95
            aload 5 /* nameBuilder */
            aload 6 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* headerFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 96
            ldc "_"
            astore 6 /* sep */
        end local 7 // java.lang.String headerFile
        13: .line 94
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 98
            aload 5 /* nameBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* name */
        end local 6 // java.lang.String sep
        end local 5 // java.lang.StringBuilder nameBuilder
        start local 4 // java.lang.String name
        15: .line 100
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.c.NativeCodeContext int java.lang.String
      StackMap stack:
            aload 0 /* this */
            new com.oracle.svm.hosted.c.info.NativeCodeInfo
            dup
            aload 4 /* name */
            aload 2 /* codeCtx */
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getDirectives:()Lorg/graalvm/nativeimage/c/CContext$Directives;
            iload 3 /* isBuiltin */
            invokespecial com.oracle.svm.hosted.c.info.NativeCodeInfo.<init>:(Ljava/lang/String;Lorg/graalvm/nativeimage/c/CContext$Directives;Z)V
            putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
        16: .line 101
            aload 0 /* this */
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            putfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
        17: .line 102
            return
        end local 4 // java.lang.String name
        end local 3 // boolean isBuiltin
        end local 2 // com.oracle.svm.hosted.c.NativeCodeContext codeCtx
        end local 1 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   18     1   nativeLibs  Lcom/oracle/svm/hosted/c/NativeLibraries;
            0   18     2      codeCtx  Lcom/oracle/svm/hosted/c/NativeCodeContext;
            4   18     3    isBuiltin  Z
            6    7     4         name  Ljava/lang/String;
           15   18     4         name  Ljava/lang/String;
            8   15     5  nameBuilder  Ljava/lang/StringBuilder;
            9   15     6          sep  Ljava/lang/String;
           11   13     7   headerFile  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      nativeLibs  
      codeCtx     

  public com.oracle.svm.hosted.c.info.NativeCodeInfo construct();
    descriptor: ()Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
         0: .line 105
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getConstantAccessors:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaMethod
            astore 1 /* method */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         2: .line 106
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createConstantInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 105
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 108
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getStructTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 1 /* type */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         6: .line 109
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createStructInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         7: .line 108
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 111
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getRawStructTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 1 /* type */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        10: .line 112
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createRawStructInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        11: .line 111
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 114
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getPointerToTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 1 /* type */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        14: .line 115
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createPointerToInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        15: .line 114
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 117
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.codeCtx:Lcom/oracle/svm/hosted/c/NativeCodeContext;
            invokevirtual com.oracle.svm.hosted.c.NativeCodeContext.getEnumTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 1 /* type */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        18: .line 118
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumInfo:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        19: .line 117
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 120
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            areturn
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            2    3     1  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            6    7     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;
           10   11     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;
           14   15     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;
           18   19     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;

  private jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
         0: .line 124
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            areturn
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;

  protected void createConstantInfo(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 128
            aload 1 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            istore 2 /* actualParamCount */
        start local 2 // int actualParamCount
         1: .line 129
            iload 2 /* actualParamCount */
            ifeq 4
         2: .line 130
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong number of parameters: expected 0; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* actualParamCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 131
            return
         4: .line 133
      StackMap locals: int
      StackMap stack:
            aload 1 /* method */
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* returnType */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType returnType
         5: .line 134
            aload 3 /* returnType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 7
         6: .line 135
            aload 3 /* returnType */
            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 9
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 3 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isString:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 3 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isByteArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 3 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isWordBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 9
         7: .line 136
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong return type: expected a primitive type, String, or a Word type; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* returnType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 137
            return
         9: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getConstantName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
            astore 4 /* constantName */
        start local 4 // java.lang.String constantName
        10: .line 141
            aload 0 /* this */
            aload 3 /* returnType */
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            astore 5 /* elementKind */
        start local 5 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind
        11: .line 142
            new com.oracle.svm.hosted.c.info.ConstantInfo
            dup
            aload 4 /* constantName */
            aload 5 /* elementKind */
            aload 1 /* method */
            invokespecial com.oracle.svm.hosted.c.info.ConstantInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            astore 6 /* constantInfo */
        start local 6 // com.oracle.svm.hosted.c.info.ConstantInfo constantInfo
        12: .line 143
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            aload 6 /* constantInfo */
            invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        13: .line 144
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* method */
            aload 6 /* constantInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        14: .line 145
            return
        end local 6 // com.oracle.svm.hosted.c.info.ConstantInfo constantInfo
        end local 5 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind
        end local 4 // java.lang.String constantName
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType returnType
        end local 2 // int actualParamCount
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   15     1            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   15     2  actualParamCount  I
            5   15     3        returnType  Ljdk/vm/ci/meta/ResolvedJavaType;
           10   15     4      constantName  Ljava/lang/String;
           11   15     5       elementKind  Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
           12   15     6      constantInfo  Lcom/oracle/svm/hosted/c/info/ConstantInfo;
    MethodParameters:
        Name  Flags
      method  

  private void createPointerToInfo(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 148
            aload 0 /* this */
            aload 1 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
            ifne 2
         1: .line 149
            return
         2: .line 151
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* accessorInfos */
        start local 2 // java.util.List accessorInfos
         3: .line 153
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 18
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         5: .line 154
            aload 3 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifeq 6
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            goto 7
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         6: aload 3 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
      StackMap locals:
      StackMap stack: com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
         7: astore 7 /* accessorKind */
        start local 7 // com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind accessorKind
         8: .line 155
            aload 3 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            aload 7 /* accessorKind */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
      StackMap stack: int
         9: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
      StackMap stack: int int
        10: if_icmple 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 8 /* isIndexed */
        start local 8 // boolean isIndexed
        13: .line 156
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 3 /* method */
            aload 7 /* accessorKind */
            iload 8 /* isIndexed */
            iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        14: .line 157
            aload 0 /* this */
            aload 9 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
            ifeq 17
        15: .line 158
            aload 2 /* accessorInfos */
            aload 9 /* accessorInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 159
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 3 /* method */
            aload 9 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 8 // boolean isIndexed
        end local 7 // com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind accessorKind
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        17: .line 153
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        18: iload 4
            iload 5
            if_icmplt 4
        19: .line 163
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getPointerToTypeName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            astore 3 /* typeName */
        start local 3 // java.lang.String typeName
        20: .line 164
            aload 1 /* type */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getTypedefName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            astore 4 /* typedefName */
        start local 4 // java.lang.String typedefName
        21: .line 165
            new com.oracle.svm.hosted.c.info.PointerToInfo
            dup
            aload 3 /* typeName */
            aload 4 /* typedefName */
            aload 0 /* this */
            aload 2 /* accessorInfos */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            aload 1 /* type */
            invokespecial com.oracle.svm.hosted.c.info.PointerToInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;Ljdk/vm/ci/meta/ResolvedJavaType;)V
            astore 5 /* pointerToInfo */
        start local 5 // com.oracle.svm.hosted.c.info.PointerToInfo pointerToInfo
        22: .line 166
            aload 5 /* pointerToInfo */
            aload 2 /* accessorInfos */
            invokevirtual com.oracle.svm.hosted.c.info.PointerToInfo.adoptChildren:(Ljava/util/Collection;)V
        23: .line 167
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            aload 5 /* pointerToInfo */
            invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        24: .line 168
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            aload 5 /* pointerToInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        25: .line 169
            return
        end local 5 // com.oracle.svm.hosted.c.info.PointerToInfo pointerToInfo
        end local 4 // java.lang.String typedefName
        end local 3 // java.lang.String typeName
        end local 2 // java.util.List accessorInfos
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   26     1           type  Ljdk/vm/ci/meta/ResolvedJavaType;
            3   26     2  accessorInfos  Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
            5   17     3         method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            8   17     7   accessorKind  Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
           13   17     8      isIndexed  Z
           14   17     9   accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           20   26     3       typeName  Ljava/lang/String;
           21   26     4    typedefName  Ljava/lang/String;
           22   26     5  pointerToInfo  Lcom/oracle/svm/hosted/c/info/PointerToInfo;
    MethodParameters:
      Name  Flags
      type  

  private static int getParameterCount(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 172
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  private static boolean returnsDeclaringClass(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
         0: .line 176
            aload 0 /* accessor */
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 0 /* accessor */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  accessor  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
          Name  Flags
      accessor  

  private static com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind getAccessorKind(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
         0: .line 180
            aload 0 /* accessor */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.GETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
      StackMap locals:
      StackMap stack: com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
         2: areturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  accessor  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
          Name  Flags
      accessor  

  public static java.lang.String getTypedefName(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 184
            aload 0 /* type */
            ldc Lcom/oracle/svm/core/c/CTypedef;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.svm.core.c.CTypedef
            astore 1 /* typedefAnnotation */
        start local 1 // com.oracle.svm.core.c.CTypedef typedefAnnotation
         1: .line 185
            aload 1 /* typedefAnnotation */
            ifnull 2
            aload 1 /* typedefAnnotation */
            invokeinterface com.oracle.svm.core.c.CTypedef.name:()Ljava/lang/String;
            goto 3
      StackMap locals: com.oracle.svm.core.c.CTypedef
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // com.oracle.svm.core.c.CTypedef typedefAnnotation
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    4     1  typedefAnnotation  Lcom/oracle/svm/core/c/CTypedef;
    MethodParameters:
      Name  Flags
      type  

  private void createStructInfo(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 189
            aload 0 /* this */
            aload 1 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
            ifne 2
         1: .line 190
            return
         2: .line 193
      StackMap locals:
      StackMap stack:
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* fieldAccessorInfos */
        start local 2 // java.util.Map fieldAccessorInfos
         3: .line 194
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 3 /* bitfieldAccessorInfos */
        start local 3 // java.util.Map bitfieldAccessorInfos
         4: .line 195
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* structAccessorInfos */
        start local 4 // java.util.List structAccessorInfos
         5: .line 197
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 49
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* method */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaMethod method
         7: .line 201
            aload 5 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/CField;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CField
            astore 11 /* fieldAnnotation */
        start local 11 // org.graalvm.nativeimage.c.struct.CField fieldAnnotation
         8: .line 202
            aload 5 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/CFieldAddress;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CFieldAddress
            astore 12 /* fieldAddressAnnotation */
        start local 12 // org.graalvm.nativeimage.c.struct.CFieldAddress fieldAddressAnnotation
         9: .line 203
            aload 5 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/CFieldOffset;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CFieldOffset
            astore 13 /* fieldOffsetAnnotation */
        start local 13 // org.graalvm.nativeimage.c.struct.CFieldOffset fieldOffsetAnnotation
        10: .line 204
            aload 5 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/CBitfield;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CBitfield
            astore 14 /* bitfieldAnnotation */
        start local 14 // org.graalvm.nativeimage.c.struct.CBitfield bitfieldAnnotation
        11: .line 205
            aload 11 /* fieldAnnotation */
            ifnull 15
        12: .line 206
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 5 /* method */
            aload 5 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            aload 5 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasUniqueLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        13: .line 207
            aload 9 /* accessorInfo */
            aload 11 /* fieldAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CField.value:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* fieldName */
        start local 10 // java.lang.String fieldName
        14: .line 208
            goto 35
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
      StackMap stack:
        15: aload 14 /* bitfieldAnnotation */
            ifnull 19
        16: .line 209
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 5 /* method */
            aload 5 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        17: .line 210
            aload 9 /* accessorInfo */
            aload 14 /* bitfieldAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CBitfield.value:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* fieldName */
        start local 10 // java.lang.String fieldName
        18: .line 211
            goto 35
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals:
      StackMap stack:
        19: aload 12 /* fieldAddressAnnotation */
            ifnull 23
        20: .line 212
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 5 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        21: .line 213
            aload 9 /* accessorInfo */
            aload 12 /* fieldAddressAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CFieldAddress.value:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* fieldName */
        start local 10 // java.lang.String fieldName
        22: .line 214
            goto 35
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals:
      StackMap stack:
        23: aload 13 /* fieldOffsetAnnotation */
            ifnull 27
        24: .line 215
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 5 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        25: .line 216
            aload 9 /* accessorInfo */
            aload 13 /* fieldOffsetAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CFieldOffset.value:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* fieldName */
        start local 10 // java.lang.String fieldName
        26: .line 217
            goto 35
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals:
      StackMap stack:
        27: aload 5 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifeq 33
        28: .line 218
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 5 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            aload 5 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            ifle 29
            iconst_1
            goto 30
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
      StackMap stack: new 28 new 28 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
        29: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
      StackMap stack: new 28 new 28 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind int
        30: iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 9 /* accessorInfo */
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        31: .line 219
            aconst_null
            astore 10 /* fieldName */
        start local 10 // java.lang.String fieldName
        32: .line 220
            goto 35
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        33: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            ldc "Unexpected method without annotation"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        34: .line 222
            goto 48
        start local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 10 // java.lang.String fieldName
        35: .line 225
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo java.lang.String org.graalvm.nativeimage.c.struct.CField org.graalvm.nativeimage.c.struct.CFieldAddress org.graalvm.nativeimage.c.struct.CFieldOffset org.graalvm.nativeimage.c.struct.CBitfield
      StackMap stack:
            aload 0 /* this */
            aload 9 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
            ifeq 48
        36: .line 226
            aload 10 /* fieldName */
            ifnonnull 39
        37: .line 227
            aload 4 /* structAccessorInfos */
            aload 9 /* accessorInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 228
            goto 47
        39: .line 229
      StackMap locals:
      StackMap stack:
            aload 14 /* bitfieldAnnotation */
            ifnull 40
            aload 3 /* bitfieldAccessorInfos */
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 2 /* fieldAccessorInfos */
      StackMap locals:
      StackMap stack: java.util.Map
        41: astore 15 /* map */
        start local 15 // java.util.Map map
        42: .line 230
            aload 15 /* map */
            aload 10 /* fieldName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 16 /* accessorInfos */
        start local 16 // java.util.List accessorInfos
        43: .line 231
            aload 16 /* accessorInfos */
            ifnonnull 46
        44: .line 232
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 16 /* accessorInfos */
        45: .line 233
            aload 15 /* map */
            aload 10 /* fieldName */
            aload 16 /* accessorInfos */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 235
      StackMap locals: java.util.Map java.util.List
      StackMap stack:
            aload 16 /* accessorInfos */
            aload 9 /* accessorInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.util.List accessorInfos
        end local 15 // java.util.Map map
        47: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* method */
            aload 9 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        end local 14 // org.graalvm.nativeimage.c.struct.CBitfield bitfieldAnnotation
        end local 13 // org.graalvm.nativeimage.c.struct.CFieldOffset fieldOffsetAnnotation
        end local 12 // org.graalvm.nativeimage.c.struct.CFieldAddress fieldAddressAnnotation
        end local 11 // org.graalvm.nativeimage.c.struct.CField fieldAnnotation
        end local 10 // java.lang.String fieldName
        end local 9 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 5 // jdk.vm.ci.meta.ResolvedJavaMethod method
        48: .line 197
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        49: iload 6
            iload 7
            if_icmplt 6
        50: .line 242
            aload 1 /* type */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            aload 1 /* type */
            invokestatic com.oracle.svm.hosted.c.info.StructInfo.create:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/c/info/StructInfo;
            astore 5 /* structInfo */
        start local 5 // com.oracle.svm.hosted.c.info.StructInfo structInfo
        51: .line 243
            aload 5 /* structInfo */
            aload 4 /* structAccessorInfos */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChildren:(Ljava/util/Collection;)V
        52: .line 245
            aload 2 /* fieldAccessorInfos */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 57
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
      StackMap stack:
        53: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        54: .line 246
            new com.oracle.svm.hosted.c.info.StructFieldInfo
            dup
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokespecial com.oracle.svm.hosted.c.info.StructFieldInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;)V
            astore 8 /* fieldInfo */
        start local 8 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        55: .line 247
            aload 8 /* fieldInfo */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.adoptChildren:(Ljava/util/Collection;)V
        56: .line 248
            aload 5 /* structInfo */
            aload 8 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        end local 8 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        end local 6 // java.util.Map$Entry entry
        57: .line 245
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        58: .line 250
            aload 3 /* bitfieldAccessorInfos */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 68
      StackMap locals:
      StackMap stack:
        59: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        60: .line 251
            aload 2 /* fieldAccessorInfos */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 63
        61: .line 252
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            ldc "Bitfield and regular field accessor methods cannot be mixed"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 2 /* fieldAccessorInfos */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        62: .line 253
            goto 65
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo java.util.Map$Entry java.util.Iterator
      StackMap stack:
        63: aload 0 /* this */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            if_acmpeq 65
        64: .line 254
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            ldc "Bitfield accessor method must have integer kind"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        65: .line 256
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.c.info.StructBitfieldInfo
            dup
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial com.oracle.svm.hosted.c.info.StructBitfieldInfo.<init>:(Ljava/lang/String;)V
            astore 8 /* bitfieldInfo */
        start local 8 // com.oracle.svm.hosted.c.info.StructBitfieldInfo bitfieldInfo
        66: .line 257
            aload 8 /* bitfieldInfo */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.adoptChildren:(Ljava/util/Collection;)V
        67: .line 258
            aload 5 /* structInfo */
            aload 8 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        end local 8 // com.oracle.svm.hosted.c.info.StructBitfieldInfo bitfieldInfo
        end local 6 // java.util.Map$Entry entry
        68: .line 250
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 59
        69: .line 260
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            aload 5 /* structInfo */
            invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        70: .line 261
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            aload 5 /* structInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        71: .line 262
            return
        end local 5 // com.oracle.svm.hosted.c.info.StructInfo structInfo
        end local 4 // java.util.List structAccessorInfos
        end local 3 // java.util.Map bitfieldAccessorInfos
        end local 2 // java.util.Map fieldAccessorInfos
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   72     0                    this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   72     1                    type  Ljdk/vm/ci/meta/ResolvedJavaType;
            3   72     2      fieldAccessorInfos  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
            4   72     3   bitfieldAccessorInfos  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
            5   72     4     structAccessorInfos  Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
            7   48     5                  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           13   15     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           17   19     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           21   23     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           25   27     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           31   33     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           35   48     9            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           14   15    10               fieldName  Ljava/lang/String;
           18   19    10               fieldName  Ljava/lang/String;
           22   23    10               fieldName  Ljava/lang/String;
           26   27    10               fieldName  Ljava/lang/String;
           32   33    10               fieldName  Ljava/lang/String;
           35   48    10               fieldName  Ljava/lang/String;
            8   48    11         fieldAnnotation  Lorg/graalvm/nativeimage/c/struct/CField;
            9   48    12  fieldAddressAnnotation  Lorg/graalvm/nativeimage/c/struct/CFieldAddress;
           10   48    13   fieldOffsetAnnotation  Lorg/graalvm/nativeimage/c/struct/CFieldOffset;
           11   48    14      bitfieldAnnotation  Lorg/graalvm/nativeimage/c/struct/CBitfield;
           42   47    15                     map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
           43   47    16           accessorInfos  Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
           51   72     5              structInfo  Lcom/oracle/svm/hosted/c/info/StructInfo;
           54   57     6                   entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
           55   57     8               fieldInfo  Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
           60   68     6                   entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
           66   68     8            bitfieldInfo  Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;
    MethodParameters:
      Name  Flags
      type  

  private void createRawStructInfo(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 265
            aload 0 /* this */
            aload 1 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.validInterfaceDefinition:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
            ifne 2
         1: .line 266
            return
         2: .line 269
      StackMap locals:
      StackMap stack:
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* fieldAccessorInfos */
        start local 2 // java.util.Map fieldAccessorInfos
         3: .line 270
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* structAccessorInfos */
        start local 3 // java.util.List structAccessorInfos
         4: .line 272
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 41
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* method */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
         6: .line 276
            aload 4 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/RawField;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.RawField
            astore 10 /* fieldAnnotation */
        start local 10 // org.graalvm.nativeimage.c.struct.RawField fieldAnnotation
         7: .line 277
            aload 4 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/RawFieldAddress;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.RawFieldAddress
            astore 11 /* fieldAddressAnnotation */
        start local 11 // org.graalvm.nativeimage.c.struct.RawFieldAddress fieldAddressAnnotation
         8: .line 278
            aload 4 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/RawFieldOffset;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.RawFieldOffset
            astore 12 /* fieldOffsetAnnotation */
        start local 12 // org.graalvm.nativeimage.c.struct.RawFieldOffset fieldOffsetAnnotation
         9: .line 279
            aload 10 /* fieldAnnotation */
            ifnull 13
        10: .line 280
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 4 /* method */
            aload 4 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getAccessorKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasLocationIdentityParameter:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            aload 4 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.hasUniqueLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 8 /* accessorInfo */
        start local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        11: .line 281
            aload 8 /* accessorInfo */
            ldc ""
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* fieldName */
        start local 9 // java.lang.String fieldName
        12: .line 282
            goto 29
        end local 9 // java.lang.String fieldName
        end local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
      StackMap stack:
        13: aload 11 /* fieldAddressAnnotation */
            ifnull 17
        14: .line 283
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 4 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 8 /* accessorInfo */
        start local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        15: .line 284
            aload 8 /* accessorInfo */
            ldc ""
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* fieldName */
        start local 9 // java.lang.String fieldName
        16: .line 285
            goto 29
        end local 9 // java.lang.String fieldName
        end local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals:
      StackMap stack:
        17: aload 12 /* fieldOffsetAnnotation */
            ifnull 21
        18: .line 286
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 4 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            iconst_0
            iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 8 /* accessorInfo */
        start local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        19: .line 287
            aload 8 /* accessorInfo */
            ldc ""
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructFieldName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* fieldName */
        start local 9 // java.lang.String fieldName
        20: .line 288
            goto 29
        end local 9 // java.lang.String fieldName
        end local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      StackMap locals:
      StackMap stack:
        21: aload 4 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifeq 27
        22: .line 289
            new com.oracle.svm.hosted.c.info.AccessorInfo
            dup
            aload 4 /* method */
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            aload 4 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            ifle 23
            iconst_1
            goto 24
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
      StackMap stack: new 22 new 22 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind
        23: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] top top org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
      StackMap stack: new 22 new 22 jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind int
        24: iconst_0
            iconst_0
            invokespecial com.oracle.svm.hosted.c.info.AccessorInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;ZZZ)V
            astore 8 /* accessorInfo */
        start local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        25: .line 290
            aconst_null
            astore 9 /* fieldName */
        start local 9 // java.lang.String fieldName
        26: .line 291
            goto 29
        end local 9 // java.lang.String fieldName
        end local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        27: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            ldc "Unexpected method without annotation"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        28: .line 293
            goto 40
        start local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 9 // java.lang.String fieldName
        29: .line 296
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[] com.oracle.svm.hosted.c.info.AccessorInfo java.lang.String org.graalvm.nativeimage.c.struct.RawField org.graalvm.nativeimage.c.struct.RawFieldAddress org.graalvm.nativeimage.c.struct.RawFieldOffset
      StackMap stack:
            aload 0 /* this */
            aload 8 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.accessorValid:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
            ifeq 40
        30: .line 297
            aload 9 /* fieldName */
            ifnonnull 33
        31: .line 298
            aload 3 /* structAccessorInfos */
            aload 8 /* accessorInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 299
            goto 39
        33: .line 300
      StackMap locals:
      StackMap stack:
            aload 2 /* fieldAccessorInfos */
            astore 13 /* map */
        start local 13 // java.util.Map map
        34: .line 301
            aload 13 /* map */
            aload 9 /* fieldName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 14 /* accessorInfos */
        start local 14 // java.util.List accessorInfos
        35: .line 302
            aload 14 /* accessorInfos */
            ifnonnull 38
        36: .line 303
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* accessorInfos */
        37: .line 304
            aload 13 /* map */
            aload 9 /* fieldName */
            aload 14 /* accessorInfos */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 306
      StackMap locals: java.util.Map java.util.List
      StackMap stack:
            aload 14 /* accessorInfos */
            aload 8 /* accessorInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.util.List accessorInfos
        end local 13 // java.util.Map map
        39: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 4 /* method */
            aload 8 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        end local 12 // org.graalvm.nativeimage.c.struct.RawFieldOffset fieldOffsetAnnotation
        end local 11 // org.graalvm.nativeimage.c.struct.RawFieldAddress fieldAddressAnnotation
        end local 10 // org.graalvm.nativeimage.c.struct.RawField fieldAnnotation
        end local 9 // java.lang.String fieldName
        end local 8 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        40: .line 272
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        41: iload 5
            iload 6
            if_icmplt 5
        42: .line 313
            aload 1 /* type */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            aload 1 /* type */
            invokestatic com.oracle.svm.hosted.c.info.StructInfo.create:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/c/info/StructInfo;
            astore 4 /* structInfo */
        start local 4 // com.oracle.svm.hosted.c.info.StructInfo structInfo
        43: .line 314
            aload 4 /* structInfo */
            aload 3 /* structAccessorInfos */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChildren:(Ljava/util/Collection;)V
        44: .line 316
            aload 2 /* fieldAccessorInfos */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 49
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType java.util.Map java.util.List com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
      StackMap stack:
        45: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
        46: .line 317
            new com.oracle.svm.hosted.c.info.StructFieldInfo
            dup
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokespecial com.oracle.svm.hosted.c.info.StructFieldInfo.<init>:(Ljava/lang/String;Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;)V
            astore 7 /* fieldInfo */
        start local 7 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        47: .line 318
            aload 7 /* fieldInfo */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.adoptChildren:(Ljava/util/Collection;)V
        48: .line 319
            aload 4 /* structInfo */
            aload 7 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        end local 7 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        end local 5 // java.util.Map$Entry entry
        49: .line 316
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
        50: .line 322
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            aload 4 /* structInfo */
            invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        51: .line 323
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            aload 4 /* structInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        52: .line 324
            return
        end local 4 // com.oracle.svm.hosted.c.info.StructInfo structInfo
        end local 3 // java.util.List structAccessorInfos
        end local 2 // java.util.Map fieldAccessorInfos
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   53     0                    this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   53     1                    type  Ljdk/vm/ci/meta/ResolvedJavaType;
            3   53     2      fieldAccessorInfos  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
            4   53     3     structAccessorInfos  Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
            6   40     4                  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           11   13     8            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           15   17     8            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           19   21     8            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           25   27     8            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           29   40     8            accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           12   13     9               fieldName  Ljava/lang/String;
           16   17     9               fieldName  Ljava/lang/String;
           20   21     9               fieldName  Ljava/lang/String;
           26   27     9               fieldName  Ljava/lang/String;
           29   40     9               fieldName  Ljava/lang/String;
            7   40    10         fieldAnnotation  Lorg/graalvm/nativeimage/c/struct/RawField;
            8   40    11  fieldAddressAnnotation  Lorg/graalvm/nativeimage/c/struct/RawFieldAddress;
            9   40    12   fieldOffsetAnnotation  Lorg/graalvm/nativeimage/c/struct/RawFieldOffset;
           34   39    13                     map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
           35   39    14           accessorInfos  Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
           43   53     4              structInfo  Lcom/oracle/svm/hosted/c/info/StructInfo;
           46   49     5                   entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;>;
           47   49     7               fieldInfo  Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
    MethodParameters:
      Name  Flags
      type  

  private boolean hasLocationIdentityParameter(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 327
            aload 1 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            istore 2 /* parameterCount */
        start local 2 // int parameterCount
         1: .line 328
            iload 2 /* parameterCount */
            ifne 3
         2: .line 329
            iconst_0
            ireturn
         3: .line 331
      StackMap locals: int
      StackMap stack:
            aload 1 /* method */
            iload 2 /* parameterCount */
            iconst_1
            isub
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* lastParam */
        start local 3 // jdk.vm.ci.meta.JavaType lastParam
         4: .line 332
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 3 /* lastParam */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // jdk.vm.ci.meta.JavaType lastParam
        end local 2 // int parameterCount
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0    5     1          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1    5     2  parameterCount  I
            4    5     3       lastParam  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
        Name  Flags
      method  

  private static boolean hasUniqueLocationIdentity(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 336
            aload 0 /* method */
            ldc Lorg/graalvm/nativeimage/c/struct/UniqueLocationIdentity;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  private com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind(java.util.Collection<com.oracle.svm.hosted.c.info.AccessorInfo>);
    descriptor: (Ljava/util/Collection;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // java.util.Collection accessorInfos
         0: .line 340
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            astore 2 /* overallKind */
        start local 2 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind overallKind
         1: .line 341
            aconst_null
            astore 3 /* overallKindAccessor */
        start local 3 // com.oracle.svm.hosted.c.info.AccessorInfo overallKindAccessor
         2: .line 343
            aload 1 /* accessorInfos */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            astore 4 /* accessorInfo */
        start local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         4: .line 345
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 5
                    2: 7
              default: 9
          }
         5: .line 347
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo com.oracle.svm.hosted.c.info.AccessorInfo java.util.Iterator
      StackMap stack:
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* type */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         6: .line 348
            goto 10
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         7: .line 350
      StackMap locals:
      StackMap stack:
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getValueParameterType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* type */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         8: .line 351
            goto 10
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         9: .line 353
      StackMap locals:
      StackMap stack:
            goto 18
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType type
        10: .line 356
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 7 /* method */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaMethod method
        11: .line 357
            aload 0 /* this */
            aload 6 /* type */
            aload 7 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.isPinnedObjectFieldAccessor:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            astore 8 /* newKind */
        start local 8 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind newKind
        12: .line 358
            aload 2 /* overallKind */
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            if_acmpne 16
        13: .line 359
            aload 8 /* newKind */
            astore 2 /* overallKind */
        14: .line 360
            aload 4 /* accessorInfo */
            astore 3 /* overallKindAccessor */
        15: .line 361
            goto 18
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.svm.hosted.c.info.SizableInfo$ElementKind
      StackMap stack:
        16: aload 2 /* overallKind */
            aload 8 /* newKind */
            if_acmpeq 18
        17: .line 362
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            ldc "Accessor methods mix integer, floating point, and pointer kinds"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* overallKindAccessor */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aastore
            dup
            iconst_1
            aload 7 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 8 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind newKind
        end local 7 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        18: .line 343
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder java.util.Collection com.oracle.svm.hosted.c.info.SizableInfo$ElementKind com.oracle.svm.hosted.c.info.AccessorInfo top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        19: .line 365
            aload 2 /* overallKind */
            areturn
        end local 3 // com.oracle.svm.hosted.c.info.AccessorInfo overallKindAccessor
        end local 2 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind overallKind
        end local 1 // java.util.Collection accessorInfos
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   20     1        accessorInfos  Ljava/util/Collection<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;
            1   20     2          overallKind  Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            2   20     3  overallKindAccessor  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            4   18     4         accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            6    7     6                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
            8    9     6                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
           10   18     6                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
           11   18     7               method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           12   18     8              newKind  Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
    Signature: (Ljava/util/Collection<Lcom/oracle/svm/hosted/c/info/AccessorInfo;>;)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
    MethodParameters:
               Name  Flags
      accessorInfos  

  private com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind(jdk.vm.ci.meta.ResolvedJavaType, boolean);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        start local 2 // boolean isPinnedObject
         0: .line 369
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 2
                    7: 1
                    8: 2
                    9: 3
              default: 12
          }
         1: .line 376
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
         2: .line 379
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.FLOAT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
         3: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 5
         4: .line 382
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
         5: .line 383
      StackMap locals:
      StackMap stack:
            iload 2 /* isPinnedObject */
            ifeq 7
         6: .line 384
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.OBJECT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
         7: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isString:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 9
         8: .line 386
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.STRING:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
         9: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isByteArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 11
        10: .line 388
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.BYTEARRAY:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
        11: .line 390
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.POINTER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
        12: .line 393
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            areturn
        end local 2 // boolean isPinnedObject
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   13     1            type  Ljdk/vm/ci/meta/ResolvedJavaType;
            0   13     2  isPinnedObject  Z
    MethodParameters:
                Name  Flags
      type            
      isPinnedObject  

  private static boolean isPinnedObjectFieldAccessor(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 398
            aload 0 /* method */
            ldc Lcom/oracle/svm/core/c/struct/PinnedObjectField;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  private boolean accessorValid(com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 402
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* method */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         1: .line 404
            aload 1 /* accessorInfo */
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
            istore 3 /* expectedParamCount */
        start local 3 // int expectedParamCount
         2: .line 405
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            istore 4 /* actualParamCount */
        start local 4 // int actualParamCount
         3: .line 406
            iload 4 /* actualParamCount */
            iload 3 /* expectedParamCount */
            if_icmpeq 6
         4: .line 407
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong number of parameters: expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* expectedParamCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "; found "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* actualParamCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 408
            iconst_0
            ireturn
         6: .line 411
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod int int
      StackMap stack:
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.isIndexed:()Z
            ifeq 11
         7: .line 412
            aload 1 /* accessorInfo */
            aload 1 /* accessorInfo */
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.indexParameterNumber:(Z)I
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* paramType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType paramType
         8: .line 413
            aload 5 /* paramType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 11
            aload 5 /* paramType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 11
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* paramType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 11
         9: .line 414
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong type of index parameter 0: expected int, long, or Signed; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 415
            iconst_0
            ireturn
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType paramType
        11: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
            ifeq 14
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasUniqueLocationIdentity:()Z
            ifeq 14
        12: .line 419
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method cannot have annotation @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/struct/UniqueLocationIdentity;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " and a LocationIdentity parameter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 420
            iconst_0
            ireturn
        14: .line 422
      StackMap locals:
      StackMap stack:
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
            ifeq 19
        15: .line 423
            aload 1 /* accessorInfo */
            aload 1 /* accessorInfo */
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.locationIdentityParameterNumber:(Z)I
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(I)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* paramType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType paramType
        16: .line 424
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 5 /* paramType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 19
        17: .line 425
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong type of locationIdentity parameter: expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLocationIdentityType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; found "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* paramType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 426
            iconst_0
            ireturn
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType paramType
        19: .line 430
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* returnType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType returnType
        20: .line 431
            aload 0 /* this */
            aload 5 /* returnType */
            aload 2 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.checkObjectType:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 22
        21: .line 432
            iconst_0
            ireturn
        22: .line 434
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 29
                    3: 26
                    4: 23
              default: 31
          }
        23: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isPointerBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 24
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isSigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 24
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 31
        24: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong return type: expected a pointer type; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* returnType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        25: .line 438
            iconst_0
            ireturn
        26: .line 442
      StackMap locals:
      StackMap stack:
            aload 5 /* returnType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifne 31
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 5 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isUnsigned:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 31
        27: .line 443
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong return type: expected an integer numeric type or Unsigned; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* returnType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        28: .line 444
            iconst_0
            ireturn
        29: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getValueParameterType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.checkObjectType:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 31
        30: .line 449
            iconst_0
            ireturn
        31: .line 453
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType returnType
        end local 4 // int actualParamCount
        end local 3 // int expectedParamCount
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0                this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   32     1        accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            1   32     2              method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2   32     3  expectedParamCount  I
            3   32     4    actualParamCount  I
            8   11     5           paramType  Ljdk/vm/ci/meta/ResolvedJavaType;
           16   19     5           paramType  Ljdk/vm/ci/meta/ResolvedJavaType;
           20   32     5          returnType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
              Name  Flags
      accessorInfo  

  private boolean checkObjectType(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType returnType
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 457
            aload 1 /* returnType */
            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 5
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* returnType */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isWordBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 5
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.isPinnedObjectFieldAccessor:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 5
         1: .line 458
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Wrong type: expected a primitive type or a Word type; found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* returnType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". Use the annotation @"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lcom/oracle/svm/core/c/struct/PinnedObjectField;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 459
            ldc " if you know what you are doing."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
         3: .line 458
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 460
            iconst_0
            ireturn
         5: .line 462
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType returnType
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0    6     1  returnType  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    6     2      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
            Name  Flags
      returnType  
      method      

  private boolean validInterfaceDefinition(jdk.vm.ci.meta.ResolvedJavaType, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        start local 2 // java.lang.Class annotationClass
         0: .line 466
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 1 /* type */
            aload 2 /* annotationClass */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
            ifeq 2
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isPointerBase:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 4
         2: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Annotation @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* annotationClass */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " can only be used on an interface that extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/word/PointerBase;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 470
            iconst_0
            ireturn
         4: .line 472
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.Class annotationClass
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0    5     1             type  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    5     2  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                 Name  Flags
      type             
      annotationClass  

  private static java.lang.String removePrefix(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String prefix
         0: .line 476
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 1 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            astore 2 /* result */
        start local 2 // java.lang.String result
         2: .line 478
            aload 2 /* result */
            aload 1 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         3: .line 479
            aload 2 /* result */
            aload 1 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* result */
         4: .line 480
            aload 2 /* result */
            ldc "_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 481
            aload 2 /* result */
            ldc "_"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* result */
         6: .line 484
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.lang.String prefix
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    name  Ljava/lang/String;
            0    7     1  prefix  Ljava/lang/String;
            2    7     2  result  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      name    
      prefix  

  private static java.lang.String getConstantName(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 488
            aload 0 /* method */
            ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.constant.CConstant
            astore 1 /* constantAnnotation */
        start local 1 // org.graalvm.nativeimage.c.constant.CConstant constantAnnotation
         1: .line 489
            aload 1 /* constantAnnotation */
            invokeinterface org.graalvm.nativeimage.c.constant.CConstant.value:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 490
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 5
         3: .line 491
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            astore 2 /* name */
         4: .line 493
            aload 2 /* name */
            ldc "get"
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.removePrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
         5: .line 495
      StackMap locals: org.graalvm.nativeimage.c.constant.CConstant java.lang.String
      StackMap stack:
            aload 2 /* name */
            areturn
        end local 2 // java.lang.String name
        end local 1 // org.graalvm.nativeimage.c.constant.CConstant constantAnnotation
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0              method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1    6     1  constantAnnotation  Lorg/graalvm/nativeimage/c/constant/CConstant;
            2    6     2                name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      method  

  private java.lang.String getPointerToTypeName(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 499
            aload 1 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CPointerTo
            astore 2 /* pointerToAnnotation */
        start local 2 // org.graalvm.nativeimage.c.struct.CPointerTo pointerToAnnotation
         1: .line 500
            aload 2 /* pointerToAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CPointerTo.nameOfCType:()Ljava/lang/String;
            astore 3 /* nameOfCType */
        start local 3 // java.lang.String nameOfCType
         2: .line 502
            aload 2 /* pointerToAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CPointerTo.value:()Ljava/lang/Class;
            astore 4 /* pointerToType */
        start local 4 // java.lang.Class pointerToType
         3: .line 507
      StackMap locals: org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class
      StackMap stack:
            aload 4 /* pointerToType */
            ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CStruct
            astore 5 /* pointerToCStructAnnotation */
        start local 5 // org.graalvm.nativeimage.c.struct.CStruct pointerToCStructAnnotation
         4: .line 508
            aload 4 /* pointerToType */
            ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.RawStructure
            astore 6 /* pointerToRawStructAnnotation */
        start local 6 // org.graalvm.nativeimage.c.struct.RawStructure pointerToRawStructAnnotation
         5: .line 509
            aload 4 /* pointerToType */
            ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CPointerTo
            astore 7 /* pointerToPointerAnnotation */
        start local 7 // org.graalvm.nativeimage.c.struct.CPointerTo pointerToPointerAnnotation
         6: .line 510
            aload 5 /* pointerToCStructAnnotation */
            ifnonnull 12
            aload 6 /* pointerToRawStructAnnotation */
            ifnonnull 12
            aload 7 /* pointerToPointerAnnotation */
            ifnull 8
         7: .line 511
            goto 12
         8: .line 513
      StackMap locals: org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
      StackMap stack:
            aload 4 /* pointerToType */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            arraylength
            iconst_1
            if_icmpne 9
            aload 4 /* pointerToType */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            iconst_0
            aaload
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
        10: astore 4 /* pointerToType */
        11: .line 514
            aload 4 /* pointerToType */
            ifnonnull 3
        12: .line 516
      StackMap locals:
      StackMap stack:
            aload 3 /* nameOfCType */
            invokevirtual java.lang.String.length:()I
            ifle 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: aload 5 /* pointerToCStructAnnotation */
            ifnull 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack: int
        15: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
      StackMap stack: int int
        16: iadd
            aload 6 /* pointerToRawStructAnnotation */
            ifnull 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack: int
        17: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
      StackMap stack: int int
        18: iadd
            aload 7 /* pointerToPointerAnnotation */
            ifnull 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.struct.CPointerTo java.lang.String java.lang.Class org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure org.graalvm.nativeimage.c.struct.CPointerTo
      StackMap stack: int int
        20: iadd
            istore 8 /* n */
        start local 8 // int n
        21: .line 517
            iload 8 /* n */
            iconst_1
            if_icmpeq 28
        22: .line 518
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Exactly one of 1) literal C type name, 2) class annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 520
            ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 521
            ldc "3) class annotated with @"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 522
            ldc "4) class annotated with @"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must be specified in @"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " annotation"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
        26: .line 518
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        27: .line 523
            ldc "__error"
            areturn
        28: .line 526
      StackMap locals: int
      StackMap stack:
            aload 5 /* pointerToCStructAnnotation */
            ifnonnull 29
            aload 6 /* pointerToRawStructAnnotation */
            ifnull 30
        29: .line 527
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* pointerToType */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getStructName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        30: .line 528
      StackMap locals:
      StackMap stack:
            aload 7 /* pointerToPointerAnnotation */
            ifnull 32
        31: .line 529
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* pointerToType */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.getPointerToTypeName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        32: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* nameOfCType */
            areturn
        end local 8 // int n
        end local 7 // org.graalvm.nativeimage.c.struct.CPointerTo pointerToPointerAnnotation
        end local 6 // org.graalvm.nativeimage.c.struct.RawStructure pointerToRawStructAnnotation
        end local 5 // org.graalvm.nativeimage.c.struct.CStruct pointerToCStructAnnotation
        end local 4 // java.lang.Class pointerToType
        end local 3 // java.lang.String nameOfCType
        end local 2 // org.graalvm.nativeimage.c.struct.CPointerTo pointerToAnnotation
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   33     0                          this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   33     1                          type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1   33     2           pointerToAnnotation  Lorg/graalvm/nativeimage/c/struct/CPointerTo;
            2   33     3                   nameOfCType  Ljava/lang/String;
            3   33     4                 pointerToType  Ljava/lang/Class<*>;
            4   33     5    pointerToCStructAnnotation  Lorg/graalvm/nativeimage/c/struct/CStruct;
            5   33     6  pointerToRawStructAnnotation  Lorg/graalvm/nativeimage/c/struct/RawStructure;
            6   33     7    pointerToPointerAnnotation  Lorg/graalvm/nativeimage/c/struct/CPointerTo;
           21   33     8                             n  I
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String getStructName(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 536
            aload 0 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/CStruct;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.CStruct
            astore 1 /* structAnnotation */
        start local 1 // org.graalvm.nativeimage.c.struct.CStruct structAnnotation
         1: .line 538
            aload 1 /* structAnnotation */
            ifnonnull 5
         2: .line 539
            aload 0 /* type */
            ldc Lorg/graalvm/nativeimage/c/struct/RawStructure;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.struct.RawStructure
            astore 2 /* rsanno */
        start local 2 // org.graalvm.nativeimage.c.struct.RawStructure rsanno
         3: .line 540
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 4
            aload 2 /* rsanno */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected struct type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 541
      StackMap locals: org.graalvm.nativeimage.c.struct.CStruct org.graalvm.nativeimage.c.struct.RawStructure
      StackMap stack:
            aload 0 /* type */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getSimpleJavaName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            areturn
        end local 2 // org.graalvm.nativeimage.c.struct.RawStructure rsanno
         5: .line 544
      StackMap locals:
      StackMap stack:
            aload 1 /* structAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CStruct.value:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         6: .line 546
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 8
         7: .line 547
            aload 0 /* type */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getSimpleJavaName:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
            astore 2 /* name */
         8: .line 549
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* structAnnotation */
            invokeinterface org.graalvm.nativeimage.c.struct.CStruct.addStructKeyword:()Z
            ifeq 10
         9: .line 550
            new java.lang.StringBuilder
            dup
            ldc "struct "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
        10: .line 552
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            areturn
        end local 2 // java.lang.String name
        end local 1 // org.graalvm.nativeimage.c.struct.CStruct structAnnotation
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType type
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1   11     1  structAnnotation  Lorg/graalvm/nativeimage/c/struct/CStruct;
            3    5     2            rsanno  Lorg/graalvm/nativeimage/c/struct/RawStructure;
            6   11     2              name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String getSimpleJavaName(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 556
            aload 0 /* type */
            iconst_0
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 557
            aload 1 /* name */
            bipush 36
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* innerClassSeparator */
        start local 2 // int innerClassSeparator
         2: .line 559
            iload 2 /* innerClassSeparator */
            iflt 4
         3: .line 560
            aload 1 /* name */
            iload 2 /* innerClassSeparator */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
         4: .line 563
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 2 // int innerClassSeparator
        end local 1 // java.lang.String name
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType type
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    5     1                 name  Ljava/lang/String;
            2    5     2  innerClassSeparator  I
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String getStructFieldName(com.oracle.svm.hosted.c.info.AccessorInfo, java.lang.String);
    descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.AccessorInfo info
        start local 1 // java.lang.String annotationValue
         0: .line 567
            aload 1 /* annotationValue */
            invokevirtual java.lang.String.length:()I
            ifeq 2
         1: .line 568
            aload 1 /* annotationValue */
            areturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* info */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            aload 0 /* info */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorPrefix:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.removePrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String annotationValue
        end local 0 // com.oracle.svm.hosted.c.info.AccessorInfo info
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             info  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            0    3     1  annotationValue  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      info             
      annotationValue  

  private void createEnumInfo(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 575
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.isEnum:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 3
         1: .line 576
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Annotation @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnum;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " can only be used on an Java enumeration"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 577
            return
         3: .line 580
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Lorg/graalvm/nativeimage/c/constant/CEnum;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.constant.CEnum
            astore 2 /* annotation */
        start local 2 // org.graalvm.nativeimage.c.constant.CEnum annotation
         4: .line 581
            aload 2 /* annotation */
            invokeinterface org.graalvm.nativeimage.c.constant.CEnum.value:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 582
            aload 3 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 9
         6: .line 583
            aload 2 /* annotation */
            invokeinterface org.graalvm.nativeimage.c.constant.CEnum.addEnumKeyword:()Z
            ifeq 10
         7: .line 584
            new java.lang.StringBuilder
            dup
            ldc "enum "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* name */
         8: .line 586
            goto 10
         9: .line 587
      StackMap locals: org.graalvm.nativeimage.c.constant.CEnum java.lang.String
      StackMap stack:
            ldc "int"
            astore 3 /* name */
        10: .line 589
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.c.info.EnumInfo
            dup
            aload 3 /* name */
            aload 1 /* type */
            invokespecial com.oracle.svm.hosted.c.info.EnumInfo.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaType;)V
            astore 4 /* enumInfo */
        start local 4 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        11: .line 592
            aload 1 /* type */
            checkcast com.oracle.graal.pointsto.infrastructure.WrappedJavaType
            invokeinterface com.oracle.graal.pointsto.infrastructure.WrappedJavaType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* wrappedType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType wrappedType
        12: .line 593
            aload 5 /* wrappedType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 18
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
        13: aload 9
            iload 7
            aaload
            astore 6 /* field */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        14: .line 594
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 15
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 595
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifeq 17
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            aload 5 /* wrappedType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 596
            aload 0 /* this */
            aload 4 /* enumInfo */
            aload 6 /* field */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumConstantInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaField;)V
        end local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        17: .line 593
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        18: iload 7
            iload 8
            if_icmplt 13
        19: .line 599
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 26
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
        20: aload 9
            iload 7
            aaload
            astore 6 /* method */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod method
        21: .line 600
            aload 6 /* method */
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 23
        22: .line 601
            aload 0 /* this */
            aload 4 /* enumInfo */
            aload 6 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumValueInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
        23: .line 603
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            aload 6 /* method */
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getMethodAnnotation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 25
        24: .line 604
            aload 0 /* this */
            aload 4 /* enumInfo */
            aload 6 /* method */
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.createEnumLookupInfo:(Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod method
        25: .line 599
      StackMap locals: com.oracle.svm.hosted.c.info.InfoTreeBuilder jdk.vm.ci.meta.ResolvedJavaType org.graalvm.nativeimage.c.constant.CEnum java.lang.String com.oracle.svm.hosted.c.info.EnumInfo jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        26: iload 7
            iload 8
            if_icmplt 20
        27: .line 607
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeCodeInfo:Lcom/oracle/svm/hosted/c/info/NativeCodeInfo;
            aload 4 /* enumInfo */
            invokevirtual com.oracle.svm.hosted.c.info.NativeCodeInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        28: .line 608
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* type */
            aload 4 /* enumInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        29: .line 609
            return
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType wrappedType
        end local 4 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        end local 3 // java.lang.String name
        end local 2 // org.graalvm.nativeimage.c.constant.CEnum annotation
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   30     1         type  Ljdk/vm/ci/meta/ResolvedJavaType;
            4   30     2   annotation  Lorg/graalvm/nativeimage/c/constant/CEnum;
            5   30     3         name  Ljava/lang/String;
           11   30     4     enumInfo  Lcom/oracle/svm/hosted/c/info/EnumInfo;
           12   30     5  wrappedType  Ljdk/vm/ci/meta/ResolvedJavaType;
           14   17     6        field  Ljdk/vm/ci/meta/ResolvedJavaField;
           21   25     6       method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
      Name  Flags
      type  

  private void createEnumConstantInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaField;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 612
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 2 /* field */
            aconst_null
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.readFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
            astore 3 /* enumValue */
        start local 3 // jdk.vm.ci.meta.JavaConstant enumValue
         1: .line 613
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* enumValue */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* originalType */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType originalType
         2: .line 614
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 4
            aload 3 /* enumValue */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNonNull:()Z
            ifeq 3
            aload 4 /* originalType */
            aload 1 /* enumInfo */
            invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.getAnnotatedElement:()Ljdk/vm/ci/meta/ResolvedJavaType;
            checkcast com.oracle.graal.pointsto.infrastructure.WrappedElement
            invokeinterface com.oracle.graal.pointsto.infrastructure.WrappedElement.getWrapped:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
      StackMap locals: jdk.vm.ci.meta.JavaConstant jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 616
      StackMap locals:
      StackMap stack:
            aload 2 /* field */
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumConstant;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.constant.CEnumConstant
            astore 5 /* fieldAnnotation */
        start local 5 // org.graalvm.nativeimage.c.constant.CEnumConstant fieldAnnotation
         5: .line 617
            ldc ""
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 618
            iconst_1
            istore 7 /* includeInLookup */
        start local 7 // boolean includeInLookup
         7: .line 619
            aload 5 /* fieldAnnotation */
            ifnull 10
         8: .line 620
            aload 5 /* fieldAnnotation */
            invokeinterface org.graalvm.nativeimage.c.constant.CEnumConstant.value:()Ljava/lang/String;
            astore 6 /* name */
         9: .line 621
            aload 5 /* fieldAnnotation */
            invokeinterface org.graalvm.nativeimage.c.constant.CEnumConstant.includeInLookup:()Z
            istore 7 /* includeInLookup */
        10: .line 623
      StackMap locals: org.graalvm.nativeimage.c.constant.CEnumConstant java.lang.String int
      StackMap stack:
            aload 6 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 12
        11: .line 624
            aload 2 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
            astore 6 /* name */
        12: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Ljava/lang/Enum;
            aload 3 /* enumValue */
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            checkcast java.lang.Enum
            astore 8 /* value */
        start local 8 // java.lang.Enum value
        13: .line 628
            new com.oracle.svm.hosted.c.info.EnumConstantInfo
            dup
            aload 6 /* name */
            aload 2 /* field */
            iload 7 /* includeInLookup */
            aload 8 /* value */
            invokespecial com.oracle.svm.hosted.c.info.EnumConstantInfo.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaField;ZLjava/lang/Enum;)V
            astore 9 /* constantInfo */
        start local 9 // com.oracle.svm.hosted.c.info.EnumConstantInfo constantInfo
        14: .line 629
            aload 1 /* enumInfo */
            aload 9 /* constantInfo */
            invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        15: .line 630
            return
        end local 9 // com.oracle.svm.hosted.c.info.EnumConstantInfo constantInfo
        end local 8 // java.lang.Enum value
        end local 7 // boolean includeInLookup
        end local 6 // java.lang.String name
        end local 5 // org.graalvm.nativeimage.c.constant.CEnumConstant fieldAnnotation
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType originalType
        end local 3 // jdk.vm.ci.meta.JavaConstant enumValue
        end local 2 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   16     1         enumInfo  Lcom/oracle/svm/hosted/c/info/EnumInfo;
            0   16     2            field  Ljdk/vm/ci/meta/ResolvedJavaField;
            1   16     3        enumValue  Ljdk/vm/ci/meta/JavaConstant;
            2   16     4     originalType  Ljdk/vm/ci/meta/ResolvedJavaType;
            5   16     5  fieldAnnotation  Lorg/graalvm/nativeimage/c/constant/CEnumConstant;
            6   16     6             name  Ljava/lang/String;
            7   16     7  includeInLookup  Z
           13   16     8            value  Ljava/lang/Enum<*>;
           14   16     9     constantInfo  Lcom/oracle/svm/hosted/c/info/EnumConstantInfo;
    MethodParameters:
          Name  Flags
      enumInfo  
      field     

  private static jdk.vm.ci.meta.ResolvedJavaMethod originalMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 633
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 1
            aload 0 /* method */
            instanceof com.oracle.graal.pointsto.meta.AnalysisMethod
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 1 /* analysisMethod */
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
         2: .line 635
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$assertionsDisabled:Z
            ifne 3
            aload 1 /* analysisMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            instanceof com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 636
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            aload 1 /* analysisMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
            astore 2 /* wrapperMethod */
        start local 2 // com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod wrapperMethod
         4: .line 637
            aload 2 /* wrapperMethod */
            invokevirtual com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod.getOriginal:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
        end local 2 // com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod wrapperMethod
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2    5     1  analysisMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            4    5     2   wrapperMethod  Lcom/oracle/svm/hosted/cenum/CEnumCallWrapperMethod;
    MethodParameters:
        Name  Flags
      method  

  private void createEnumValueInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 643
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* originalMethod */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
         1: .line 644
            aload 3 /* originalMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isNative:(I)Z
            ifeq 2
            aload 3 /* originalMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 4
         2: .line 645
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must be a non-static native method"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 646
            return
         4: .line 648
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            ifeq 7
         5: .line 649
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot have parameters"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 650
            return
         7: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            astore 4 /* elementKind */
        start local 4 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind
         8: .line 653
            aload 4 /* elementKind */
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            if_acmpeq 11
         9: .line 654
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumValue;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must have an integer return type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 655
            return
        11: .line 658
      StackMap locals: com.oracle.svm.hosted.c.info.SizableInfo$ElementKind
      StackMap stack:
            new com.oracle.svm.hosted.c.info.EnumValueInfo
            dup
            aload 2 /* method */
            invokespecial com.oracle.svm.hosted.c.info.EnumValueInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            astore 5 /* valueInfo */
        start local 5 // com.oracle.svm.hosted.c.info.EnumValueInfo valueInfo
        12: .line 659
            aload 1 /* enumInfo */
            aload 5 /* valueInfo */
            invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        13: .line 660
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 2 /* method */
            aload 5 /* valueInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        14: .line 661
            return
        end local 5 // com.oracle.svm.hosted.c.info.EnumValueInfo valueInfo
        end local 4 // com.oracle.svm.hosted.c.info.SizableInfo$ElementKind elementKind
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   15     1        enumInfo  Lcom/oracle/svm/hosted/c/info/EnumInfo;
            0   15     2          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   15     3  originalMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            8   15     4     elementKind  Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
           12   15     5       valueInfo  Lcom/oracle/svm/hosted/c/info/EnumValueInfo;
    MethodParameters:
          Name  Flags
      enumInfo  
      method    

  private void createEnumLookupInfo(com.oracle.svm.hosted.c.info.EnumInfo, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lcom/oracle/svm/hosted/c/info/EnumInfo;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
        start local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 666
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.originalMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* originalMethod */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
         1: .line 667
            aload 3 /* originalMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isNative:(I)Z
            ifeq 2
            aload 3 /* originalMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 4
         2: .line 668
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must be a static native method"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 669
            return
         4: .line 671
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.getParameterCount:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
            iconst_1
            if_icmpne 5
            aload 0 /* this */
            aload 2 /* method */
            iconst_0
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.getParameterType:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_0
            invokevirtual com.oracle.svm.hosted.c.info.InfoTreeBuilder.elementKind:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            if_acmpeq 7
         5: .line 672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must have exactly one integer parameter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 673
            return
         7: .line 675
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.returnsDeclaringClass:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 10
         8: .line 676
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            new java.lang.StringBuilder
            dup
            ldc "Return type of method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/constant/CEnumLookup;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must be the annotation type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
            aastore
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addError:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 677
            return
        10: .line 680
      StackMap locals:
      StackMap stack:
            aload 1 /* enumInfo */
            iconst_1
            putfield com.oracle.svm.hosted.c.info.EnumInfo.needsLookup:Z
        11: .line 681
            new com.oracle.svm.hosted.c.info.EnumLookupInfo
            dup
            aload 2 /* method */
            invokespecial com.oracle.svm.hosted.c.info.EnumLookupInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            astore 4 /* lookupInfo */
        start local 4 // com.oracle.svm.hosted.c.info.EnumLookupInfo lookupInfo
        12: .line 682
            aload 1 /* enumInfo */
            aload 4 /* lookupInfo */
            invokevirtual com.oracle.svm.hosted.c.info.EnumInfo.adoptChild:(Lcom/oracle/svm/hosted/c/info/ElementInfo;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            pop
        13: .line 683
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.info.InfoTreeBuilder.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 2 /* method */
            aload 4 /* lookupInfo */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.registerElementInfo:(Ljava/lang/reflect/AnnotatedElement;Lcom/oracle/svm/hosted/c/info/ElementInfo;)V
        14: .line 684
            return
        end local 4 // com.oracle.svm.hosted.c.info.EnumLookupInfo lookupInfo
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // com.oracle.svm.hosted.c.info.EnumInfo enumInfo
        end local 0 // com.oracle.svm.hosted.c.info.InfoTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/oracle/svm/hosted/c/info/InfoTreeBuilder;
            0   15     1        enumInfo  Lcom/oracle/svm/hosted/c/info/EnumInfo;
            0   15     2          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   15     3  originalMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           12   15     4      lookupInfo  Lcom/oracle/svm/hosted/c/info/EnumLookupInfo;
    MethodParameters:
          Name  Flags
      enumInfo  
      method    

  private static <T extends java.lang.annotation.Annotation> T getMethodAnnotation(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Class<T>);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // java.lang.Class annotationClass
         0: .line 692
            aload 1 /* annotationClass */
            aload 0 /* method */
            invokestatic org.graalvm.compiler.bytecode.BridgeMethodUtils.getAnnotation:(Ljava/lang/Class;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0           method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      method           
      annotationClass  

  static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 76
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.values:()[Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.GETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 76
            getstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic com.oracle.svm.hosted.c.info.InfoTreeBuilder.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "InfoTreeBuilder.java"
InnerClasses:
  public final AccessorKind = com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind of com.oracle.svm.hosted.c.info.AccessorInfo
  public final ElementKind = com.oracle.svm.hosted.c.info.SizableInfo$ElementKind of com.oracle.svm.hosted.c.info.SizableInfo
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Directives = org.graalvm.nativeimage.c.CContext$Directives of org.graalvm.nativeimage.c.CContext