public final class com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable
  super_class: java.lang.Object
{
  private final com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] loadCommands;
    descriptor: [Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand[] segmentCommands;
    descriptor: [Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[], com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand[]);
    descriptor: ([Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
        start local 1 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] loadCommands
        start local 2 // com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand[] segmentCommands
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 1 /* loadCommands */
            putfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.loadCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
         2: .line 41
            aload 0 /* this */
            aload 2 /* segmentCommands */
            putfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.segmentCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
         3: .line 42
            return
        end local 2 // com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand[] segmentCommands
        end local 1 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] loadCommands
        end local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommandTable;
            0    4     1     loadCommands  [Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
            0    4     2  segmentCommands  [Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
    MethodParameters:
                 Name  Flags
      loadCommands     
      segmentCommands  

  public com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand getSegment(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
        start local 1 // java.lang.String name
         0: .line 45
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 46
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.segmentCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
            iload 2 /* i */
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand.getSegName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 47
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.segmentCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
            iload 2 /* i */
            aaload
            areturn
         4: .line 45
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.segmentCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 50
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommandTable;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] getLoadCommands();
    descriptor: ()[Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
         0: .line 54
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.loadCommands:[Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommandTable;

  public static com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable create(com.oracle.truffle.llvm.parser.macho.MachOHeader, com.oracle.truffle.llvm.parser.macho.MachOReader);
    descriptor: (Lcom/oracle/truffle/llvm/parser/macho/MachOHeader;Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommandTable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.macho.MachOHeader header
        start local 1 // com.oracle.truffle.llvm.parser.macho.MachOReader reader
         0: .line 58
            aload 0 /* header */
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOHeader.getNCmds:()I
            anewarray com.oracle.truffle.llvm.parser.macho.MachOLoadCommand
            astore 2 /* loadCommands */
        start local 2 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] loadCommands
         1: .line 59
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* segmentCommands */
        start local 3 // java.util.ArrayList segmentCommands
         2: .line 61
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 62
      StackMap locals: com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] java.util.ArrayList int
      StackMap stack:
            aload 2 /* loadCommands */
            iload 4 /* i */
            aload 1 /* reader */
            invokestatic com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.parseLoadCommand:(Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
            aastore
         5: .line 63
            aload 2 /* loadCommands */
            iload 4 /* i */
            aaload
            instanceof com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand
            ifeq 7
         6: .line 64
            aload 3 /* segmentCommands */
            aload 2 /* loadCommands */
            iload 4 /* i */
            aaload
            checkcast com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 61
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* header */
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOHeader.getNCmds:()I
            if_icmplt 4
        end local 4 // int i
         9: .line 68
            new com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable
            dup
            aload 2 /* loadCommands */
            aload 3 /* segmentCommands */
            aload 3 /* segmentCommands */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand[]
            invokespecial com.oracle.truffle.llvm.parser.macho.MachOLoadCommandTable.<init>:([Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;[Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;)V
            areturn
        end local 3 // java.util.ArrayList segmentCommands
        end local 2 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand[] loadCommands
        end local 1 // com.oracle.truffle.llvm.parser.macho.MachOReader reader
        end local 0 // com.oracle.truffle.llvm.parser.macho.MachOHeader header
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0           header  Lcom/oracle/truffle/llvm/parser/macho/MachOHeader;
            0   10     1           reader  Lcom/oracle/truffle/llvm/parser/macho/MachOReader;
            1   10     2     loadCommands  [Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
            2   10     3  segmentCommands  Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;>;
            3    9     4                i  I
    MethodParameters:
        Name  Flags
      header  
      reader  

  private static com.oracle.truffle.llvm.parser.macho.MachOLoadCommand parseLoadCommand(com.oracle.truffle.llvm.parser.macho.MachOReader);
    descriptor: (Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.macho.MachOReader buffer
         0: .line 72
            aconst_null
            astore 1 /* cmd */
        start local 1 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand cmd
         1: .line 74
            aload 0 /* buffer */
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.getPosition:()I
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.getInt:(I)I
            istore 2 /* cmdID */
        start local 2 // int cmdID
         2: .line 76
            iload 2 /* cmdID */
            lookupswitch { // 4
          -2147483620: 7
                    1: 3
                   12: 5
                   25: 3
              default: 9
          }
         3: .line 79
      StackMap locals: com.oracle.truffle.llvm.parser.macho.MachOLoadCommand int
      StackMap stack:
            aload 0 /* buffer */
            invokestatic com.oracle.truffle.llvm.parser.macho.MachOSegmentCommand.create:(Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachOSegmentCommand;
            astore 1 /* cmd */
         4: .line 80
            goto 12
         5: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            invokestatic com.oracle.truffle.llvm.parser.macho.MachODylibCommand.create:(Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachODylibCommand;
            astore 1 /* cmd */
         6: .line 83
            goto 12
         7: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            invokestatic com.oracle.truffle.llvm.parser.macho.MachORPathCommand.create:(Lcom/oracle/truffle/llvm/parser/macho/MachOReader;)Lcom/oracle/truffle/llvm/parser/macho/MachORPathCommand;
            astore 1 /* cmd */
         8: .line 86
            goto 12
         9: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.getPosition:()I
            iconst_4
            iadd
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.getInt:(I)I
            istore 3 /* cmdSize */
        start local 3 // int cmdSize
        10: .line 89
            new com.oracle.truffle.llvm.parser.macho.MachOLoadCommand
            dup
            iload 2 /* cmdID */
            iload 3 /* cmdSize */
            invokespecial com.oracle.truffle.llvm.parser.macho.MachOLoadCommand.<init>:(II)V
            astore 1 /* cmd */
        11: .line 90
            aload 0 /* buffer */
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.getPosition:()I
            iload 3 /* cmdSize */
            iadd
            invokevirtual com.oracle.truffle.llvm.parser.macho.MachOReader.setPosition:(I)V
        end local 3 // int cmdSize
        12: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* cmd */
            areturn
        end local 2 // int cmdID
        end local 1 // com.oracle.truffle.llvm.parser.macho.MachOLoadCommand cmd
        end local 0 // com.oracle.truffle.llvm.parser.macho.MachOReader buffer
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0   buffer  Lcom/oracle/truffle/llvm/parser/macho/MachOReader;
            1   13     1      cmd  Lcom/oracle/truffle/llvm/parser/macho/MachOLoadCommand;
            2   13     2    cmdID  I
           10   12     3  cmdSize  I
    MethodParameters:
        Name  Flags
      buffer  
}
SourceFile: "MachOLoadCommandTable.java"