public final class com.oracle.truffle.llvm.parser.elf.ElfDynamicSection
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.parser.elf.ElfDynamicSection
  super_class: java.lang.Object
{
  private static final int DT_NEEDED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DT_STRTAB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int DT_STRSZ;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int DT_RPATH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final int DT_RUNPATH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 29

  private final com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[] entries;
    descriptor: [Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.polyglot.io.ByteSequence buffer;
    descriptor: Lorg/graalvm/polyglot/io/ByteSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable, com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[], com.oracle.truffle.llvm.parser.elf.ElfReader);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;Lcom/oracle/truffle/llvm/parser/elf/ElfReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
        start local 2 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[] entries
        start local 3 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            aload 2 /* entries */
            putfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.entries:[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
         2: .line 72
            aload 2 /* entries */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$0(Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z (6)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 1 /* sht */
            invokedynamic apply(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$1(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long; (6)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 4 /* strTabAddress */
        start local 4 // long strTabAddress
         3: .line 73
            aload 2 /* entries */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$2(Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z (6)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$3(Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long; (6)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 6 /* strTabSize */
        start local 6 // long strTabSize
         4: .line 74
            aload 0 /* this */
            aload 3 /* buffer */
            lload 4 /* strTabAddress */
            lload 6 /* strTabSize */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.getStringTable:(JJ)Lorg/graalvm/polyglot/io/ByteSequence;
            putfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.buffer:Lorg/graalvm/polyglot/io/ByteSequence;
         5: .line 75
            return
        end local 6 // long strTabSize
        end local 4 // long strTabAddress
        end local 3 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
        end local 2 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[] entries
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
            0    6     1            sht  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;
            0    6     2        entries  [Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
            0    6     3         buffer  Lcom/oracle/truffle/llvm/parser/elf/ElfReader;
            3    6     4  strTabAddress  J
            4    6     6     strTabSize  J
    MethodParameters:
         Name  Flags
      sht      
      entries  
      buffer   

  public static com.oracle.truffle.llvm.parser.elf.ElfDynamicSection create(com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable, com.oracle.truffle.llvm.parser.elf.ElfReader);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;Lcom/oracle/truffle/llvm/parser/elf/ElfReader;)Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
         0: .line 78
            aload 0 /* sht */
            invokestatic com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getDynamiSHEntry:(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;)Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
            astore 2 /* dynamiSHEntry */
        start local 2 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry dynamiSHEntry
         1: .line 79
            aload 2 /* dynamiSHEntry */
            ifnull 5
         2: .line 80
            aload 2 /* dynamiSHEntry */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getOffset:()J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 81
            aload 2 /* dynamiSHEntry */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getSize:()J
            lstore 5 /* size */
        start local 5 // long size
         4: .line 82
            new com.oracle.truffle.llvm.parser.elf.ElfDynamicSection
            dup
            aload 0 /* sht */
            aload 1 /* buffer */
            lload 3 /* offset */
            lload 5 /* size */
            invokestatic com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.readEntries:(Lcom/oracle/truffle/llvm/parser/elf/ElfReader;JJ)[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
            aload 1 /* buffer */
            invokespecial com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.<init>:(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;Lcom/oracle/truffle/llvm/parser/elf/ElfReader;)V
            areturn
        end local 5 // long size
        end local 3 // long offset
         5: .line 84
      StackMap locals: com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry dynamiSHEntry
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0            sht  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;
            0    6     1         buffer  Lcom/oracle/truffle/llvm/parser/elf/ElfReader;
            1    6     2  dynamiSHEntry  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
            3    5     3         offset  J
            4    5     5           size  J
    MethodParameters:
        Name  Flags
      sht     
      buffer  

  private static long addressToOffset(com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable, long);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
        start local 1 // long offset
         0: .line 89
            aload 0 /* sht */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable.getEntries:()[Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable long top int int com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* e */
        start local 3 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry e
         2: .line 90
            aload 3 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getShAddr:()J
            lstore 7 /* lower */
        start local 7 // long lower
         3: .line 91
            aload 3 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getShSize:()J
            aload 3 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getShAddr:()J
            ladd
            lstore 9 /* upper */
        start local 9 // long upper
         4: .line 92
            lload 1 /* offset */
            lload 7 /* lower */
            lcmp
            iflt 6
            lload 1 /* offset */
            lload 9 /* upper */
            lcmp
            ifge 6
         5: .line 93
            lload 1 /* offset */
            lload 7 /* lower */
            lsub
            aload 3 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getOffset:()J
            ladd
            lreturn
        end local 9 // long upper
        end local 7 // long lower
        end local 3 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry e
         6: .line 89
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 1
         8: .line 96
            lload 1 /* offset */
            lreturn
        end local 1 // long offset
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     sht  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;
            0    9     1  offset  J
            2    6     3       e  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
            3    6     7   lower  J
            4    6     9   upper  J
    MethodParameters:
        Name  Flags
      sht     
      offset  

  private static com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[] readEntries(com.oracle.truffle.llvm.parser.elf.ElfReader, long, long);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfReader;JJ)[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
        start local 1 // long offset
        start local 3 // long size
         0: .line 100
            lload 3 /* size */
            lconst_0
            lcmp
            ifne 2
         1: .line 101
            iconst_0
            anewarray com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry
            areturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            lload 1 /* offset */
            l2i
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.setPosition:(I)V
         3: .line 106
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* entries */
        start local 5 // java.util.List entries
         4: .line 107
            lconst_0
            lstore 6 /* cntr */
        start local 6 // long cntr
         5: goto 16
         6: .line 108
      StackMap locals: java.util.List long
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.is64Bit:()Z
            ifeq 7
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.getLong:()J
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.getInt:()I
            i2l
      StackMap locals:
      StackMap stack: long
         8: lstore 8 /* tag */
        start local 8 // long tag
         9: .line 109
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.is64Bit:()Z
            ifeq 10
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.getLong:()J
            goto 11
      StackMap locals: long
      StackMap stack:
        10: aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.getInt:()I
            i2l
      StackMap locals:
      StackMap stack: long
        11: lstore 10 /* unionValue */
        start local 10 // long unionValue
        12: .line 110
            aload 5 /* entries */
            new com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry
            dup
            lload 8 /* tag */
            lload 10 /* unionValue */
            invokespecial com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.<init>:(JJ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // long unionValue
        end local 8 // long tag
        13: .line 107
            lload 6 /* cntr */
            aload 0 /* buffer */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfReader.is64Bit:()Z
            ifeq 14
            bipush 16
            goto 15
      StackMap locals: com.oracle.truffle.llvm.parser.elf.ElfReader long long java.util.List long
      StackMap stack: long
        14: bipush 8
      StackMap locals: com.oracle.truffle.llvm.parser.elf.ElfReader long long java.util.List long
      StackMap stack: long int
        15: i2l
            ladd
            lstore 6 /* cntr */
      StackMap locals:
      StackMap stack:
        16: lload 6 /* cntr */
            lload 3 /* size */
            lcmp
            iflt 6
        end local 6 // long cntr
        17: .line 112
            aload 5 /* entries */
            aload 5 /* entries */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry[]
            areturn
        end local 5 // java.util.List entries
        end local 3 // long size
        end local 1 // long offset
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfReader buffer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0      buffer  Lcom/oracle/truffle/llvm/parser/elf/ElfReader;
            0   18     1      offset  J
            0   18     3        size  J
            4   18     5     entries  Ljava/util/List<Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;>;
            5   17     6        cntr  J
            9   13     8         tag  J
           12   13    10  unionValue  J
    MethodParameters:
        Name  Flags
      buffer  final
      offset  
      size    

  public java.util.List<java.lang.String> getDTNeeded();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
         0: .line 116
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getEntry:(I)Ljava/util/List;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private static java.util.stream.Stream<java.lang.String> splitPaths(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/stream/Stream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 120
            aload 0 /* path */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      path  

  public java.util.stream.Stream<java.lang.String> getDTRunPathStream();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
         0: .line 124
            aload 0 /* this */
            bipush 29
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getEntryStream:(I)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.splitPaths(Ljava/lang/String;)Ljava/util/stream/Stream; (6)
                  (Ljava/lang/String;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
    Signature: ()Ljava/util/stream/Stream<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getDTRPath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
         0: .line 128
            aload 0 /* this */
            bipush 15
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getEntryStream:(I)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.splitPaths(Ljava/lang/String;)Ljava/util/stream/Stream; (6)
                  (Ljava/lang/String;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private static com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry getDynamiSHEntry(com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;)Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
         0: .line 132
            aload 0 /* sht */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable.getEntries:()[Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable top int int com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* e */
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry e
         2: .line 133
            ldc ".dynamic"
            aload 1 /* e */
            aload 0 /* sht */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry.getName:(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 134
            aload 1 /* e */
            areturn
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry e
         4: .line 132
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 137
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable sht
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   sht  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;
            2    4     1     e  Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable$Entry;
    MethodParameters:
      Name  Flags
      sht   

  private java.util.List<java.lang.String> getEntry(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
        start local 1 // int tag
         0: .line 141
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getEntryStream:(I)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 1 // int tag
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
            0    1     1   tag  I
    Signature: (I)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      tag   

  private java.util.stream.Stream<java.lang.String> getEntryStream(int);
    descriptor: (I)Ljava/util/stream/Stream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
        start local 1 // int tag
         0: .line 145
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.entries:[Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            iload 1 /* tag */
            invokedynamic test(I)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$6(ILcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z (6)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/parser/elf/ElfDynamicSection.lambda$7(Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/String; (7)
                  (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            areturn
        end local 1 // int tag
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
            0    1     1   tag  I
    Signature: (I)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      tag   

  private java.lang.String getString(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
        start local 1 // long offset
         0: .line 149
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.buffer:Lorg/graalvm/polyglot/io/ByteSequence;
            invokeinterface org.graalvm.polyglot.io.ByteSequence.length:()I
            ifne 2
         1: .line 150
            ldc ""
            areturn
         2: .line 153
      StackMap locals:
      StackMap stack:
            lload 1 /* offset */
            l2i
            istore 3 /* pos */
        start local 3 // int pos
         3: .line 154
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         4: .line 156
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.buffer:Lorg/graalvm/polyglot/io/ByteSequence;
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            invokeinterface org.graalvm.polyglot.io.ByteSequence.byteAt:(I)B
            istore 5 /* b */
        start local 5 // byte b
         5: .line 157
            goto 8
         6: .line 158
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 4 /* sb */
            iload 5 /* b */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 159
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.buffer:Lorg/graalvm/polyglot/io/ByteSequence;
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            invokeinterface org.graalvm.polyglot.io.ByteSequence.byteAt:(I)B
            istore 5 /* b */
         8: .line 157
      StackMap locals:
      StackMap stack:
            iload 5 /* b */
            ifne 6
         9: .line 162
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // byte b
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int pos
        end local 1 // long offset
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
            0   10     1  offset  J
            3   10     3     pos  I
            4   10     4      sb  Ljava/lang/StringBuilder;
            5   10     5       b  B
    MethodParameters:
        Name  Flags
      offset  

  private static boolean lambda$0(com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 72
            aload 0 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getTag:()I
            iconst_5
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;

  private static java.lang.Long lambda$1(com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable, com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 72
            aload 0
            aload 1 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getValue:()J
            invokestatic com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.addressToOffset:(Lcom/oracle/truffle/llvm/parser/elf/ElfSectionHeaderTable;J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;

  private static boolean lambda$2(com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 73
            aload 0 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getTag:()I
            bipush 10
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;

  private static java.lang.Long lambda$3(com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 73
            aload 0 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;

  private static boolean lambda$6(int, com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (ILcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 145
            aload 1 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getTag:()I
            iload 0
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;

  private java.lang.String lambda$7(com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry);
    descriptor: (Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
        start local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
         0: .line 145
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry.getValue:()J
            invokevirtual com.oracle.truffle.llvm.parser.elf.ElfDynamicSection.getString:(J)Ljava/lang/String;
            areturn
        end local 1 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry e
        end local 0 // com.oracle.truffle.llvm.parser.elf.ElfDynamicSection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection;
            0    1     1     e  Lcom/oracle/truffle/llvm/parser/elf/ElfDynamicSection$Entry;
}
SourceFile: "ElfDynamicSection.java"
NestMembers:
  com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry
InnerClasses:
  private final Entry = com.oracle.truffle.llvm.parser.elf.ElfDynamicSection$Entry of com.oracle.truffle.llvm.parser.elf.ElfDynamicSection
  public final Entry = com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable$Entry of com.oracle.truffle.llvm.parser.elf.ElfSectionHeaderTable
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles