final class com.oracle.truffle.llvm.parser.text.LLSourceMap$Function
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.parser.text.LLSourceMap$Function
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayDeque<com.oracle.truffle.llvm.parser.text.LLSourceMap$Instruction> instructionList;
    descriptor: Ljava/util/ArrayDeque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayDeque<Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Instruction;>;

  private final int startLine;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int endLine;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
        start local 1 // java.lang.String name
        start local 2 // int startLine
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* name */
            putfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.name:Ljava/lang/String;
         2: .line 58
            aload 0 /* this */
            iload 2 /* startLine */
            putfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.startLine:I
         3: .line 59
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.instructionList:Ljava/util/ArrayDeque;
         4: .line 60
            return
        end local 2 // int startLine
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;
            0    5     1       name  Ljava/lang/String;
            0    5     2  startLine  I
    MethodParameters:
           Name  Flags
      name       
      startLine  

  void add(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
        start local 1 // java.lang.String var
        start local 2 // int line
         0: .line 63
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.instructionList:Ljava/util/ArrayDeque;
            new com.oracle.truffle.llvm.parser.text.LLSourceMap$Instruction
            dup
            aload 1 /* var */
            iload 2 /* line */
            invokespecial com.oracle.truffle.llvm.parser.text.LLSourceMap$Instruction.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
         1: .line 64
            return
        end local 2 // int line
        end local 1 // java.lang.String var
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;
            0    2     1   var  Ljava/lang/String;
            0    2     2  line  I
    MethodParameters:
      Name  Flags
      var   
      line  

  void setEndLine(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
        start local 1 // int line
         0: .line 67
            aload 0 /* this */
            iload 1 /* line */
            putfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.endLine:I
         1: .line 68
            return
        end local 1 // int line
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;
            0    2     1  line  I
    MethodParameters:
      Name  Flags
      line  

  java.util.ArrayDeque<com.oracle.truffle.llvm.parser.text.LLSourceMap$Instruction> getInstructionList();
    descriptor: ()Ljava/util/ArrayDeque;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
         0: .line 71
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.instructionList:Ljava/util/ArrayDeque;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;
    Signature: ()Ljava/util/ArrayDeque<Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Instruction;>;

  java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
         0: .line 75
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.name:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;

  com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation toSourceLocation(com.oracle.truffle.llvm.parser.text.LLSourceMap, com.oracle.truffle.llvm.parser.LLVMParserRuntime);
    descriptor: (Lcom/oracle/truffle/llvm/parser/text/LLSourceMap;Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;)Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
        start local 1 // com.oracle.truffle.llvm.parser.text.LLSourceMap sourceMap
        start local 2 // com.oracle.truffle.llvm.parser.LLVMParserRuntime runtime
         0: .line 79
            aload 1 /* sourceMap */
            invokevirtual com.oracle.truffle.llvm.parser.text.LLSourceMap.getLLSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* llSource */
        start local 3 // com.oracle.truffle.api.source.Source llSource
         1: .line 80
            aload 3 /* llSource */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.startLine:I
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* startSection */
        start local 4 // com.oracle.truffle.api.source.SourceSection startSection
         2: .line 81
            aload 4 /* startSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
            istore 5 /* startCharIndex */
        start local 5 // int startCharIndex
         3: .line 82
            aload 3 /* llSource */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.endLine:I
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            astore 6 /* endSection */
        start local 6 // com.oracle.truffle.api.source.SourceSection endSection
         4: .line 83
            aload 6 /* endSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
            iload 5 /* startCharIndex */
            isub
            istore 7 /* charLength */
        start local 7 // int charLength
         5: .line 84
            aload 3 /* llSource */
            iload 5 /* startCharIndex */
            iload 7 /* charLength */
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
            astore 8 /* totalSection */
        start local 8 // com.oracle.truffle.api.source.SourceSection totalSection
         6: .line 85
            aload 1 /* sourceMap */
            aload 2 /* runtime */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getFileScope:()Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            invokevirtual com.oracle.truffle.llvm.parser.text.LLSourceMap.getGlobalScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
            getstatic com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation$Kind.FUNCTION:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation$Kind;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.text.LLSourceMap$Function.name:Ljava/lang/String;
            new com.oracle.truffle.llvm.parser.text.LLSourceSection
            dup
            aload 8 /* totalSection */
            invokespecial com.oracle.truffle.llvm.parser.text.LLSourceSection.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
            aconst_null
            invokestatic com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation.create:(Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation$Kind;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation$LazySourceSection;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;)Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
            areturn
        end local 8 // com.oracle.truffle.api.source.SourceSection totalSection
        end local 7 // int charLength
        end local 6 // com.oracle.truffle.api.source.SourceSection endSection
        end local 5 // int startCharIndex
        end local 4 // com.oracle.truffle.api.source.SourceSection startSection
        end local 3 // com.oracle.truffle.api.source.Source llSource
        end local 2 // com.oracle.truffle.llvm.parser.LLVMParserRuntime runtime
        end local 1 // com.oracle.truffle.llvm.parser.text.LLSourceMap sourceMap
        end local 0 // com.oracle.truffle.llvm.parser.text.LLSourceMap$Function this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap$Function;
            0    7     1       sourceMap  Lcom/oracle/truffle/llvm/parser/text/LLSourceMap;
            0    7     2         runtime  Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
            1    7     3        llSource  Lcom/oracle/truffle/api/source/Source;
            2    7     4    startSection  Lcom/oracle/truffle/api/source/SourceSection;
            3    7     5  startCharIndex  I
            4    7     6      endSection  Lcom/oracle/truffle/api/source/SourceSection;
            5    7     7      charLength  I
            6    7     8    totalSection  Lcom/oracle/truffle/api/source/SourceSection;
    MethodParameters:
           Name  Flags
      sourceMap  
      runtime    
}
SourceFile: "LLSourceMap.java"
NestHost: com.oracle.truffle.llvm.parser.text.LLSourceMap
InnerClasses:
  final Function = com.oracle.truffle.llvm.parser.text.LLSourceMap$Function of com.oracle.truffle.llvm.parser.text.LLSourceMap
  final Instruction = com.oracle.truffle.llvm.parser.text.LLSourceMap$Instruction of com.oracle.truffle.llvm.parser.text.LLSourceMap
  public final Kind = com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation$Kind of com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation
  public abstract LazySourceSection = com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation$LazySourceSection of com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation