final class com.oracle.truffle.polyglot.PolyglotExceptionFrame extends org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.PolyglotExceptionFrame
  super_class: org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl
{
  private final com.oracle.truffle.polyglot.PolyglotLanguage language;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.polyglot.SourceSection sourceLocation;
    descriptor: Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String rootName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean host;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.StackTraceElement stackTrace;
    descriptor: Ljava/lang/StackTraceElement;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.String formattedSource;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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 54
            ldc Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
            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.truffle.polyglot.PolyglotExceptionFrame.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(com.oracle.truffle.polyglot.PolyglotExceptionImpl, com.oracle.truffle.polyglot.PolyglotLanguage, org.graalvm.polyglot.SourceSection, java.lang.String, boolean, java.lang.StackTraceElement);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lorg/graalvm/polyglot/SourceSection;Ljava/lang/String;ZLjava/lang/StackTraceElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=7
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
        start local 1 // com.oracle.truffle.polyglot.PolyglotExceptionImpl source
        start local 2 // com.oracle.truffle.polyglot.PolyglotLanguage language
        start local 3 // org.graalvm.polyglot.SourceSection sourceLocation
        start local 4 // java.lang.String rootName
        start local 5 // boolean isHost
        start local 6 // java.lang.StackTraceElement stackTrace
         0: .line 65
            aload 0 /* this */
            aload 1 /* source */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
         1: .line 66
            aload 0 /* this */
            aload 2 /* language */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
         2: .line 67
            aload 0 /* this */
            aload 3 /* sourceLocation */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
         3: .line 68
            aload 0 /* this */
            aload 4 /* rootName */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.rootName:Ljava/lang/String;
         4: .line 69
            aload 0 /* this */
            iload 5 /* isHost */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.host:Z
         5: .line 70
            aload 0 /* this */
            aload 6 /* stackTrace */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.stackTrace:Ljava/lang/StackTraceElement;
         6: .line 71
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionFrame.isHostFrame:()Z
            ifne 9
         7: .line 72
            aload 0 /* this */
            aload 3 /* sourceLocation */
            aload 1 /* source */
            aload 2 /* language */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getFileSystemContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionFrame.formatSource:(Lorg/graalvm/polyglot/SourceSection;Ljava/lang/Object;)Ljava/lang/String;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.formattedSource:Ljava/lang/String;
         8: .line 73
            goto 10
         9: .line 74
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionFrame com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotLanguage org.graalvm.polyglot.SourceSection java.lang.String int java.lang.StackTraceElement
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.formattedSource:Ljava/lang/String;
        10: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.StackTraceElement stackTrace
        end local 5 // boolean isHost
        end local 4 // java.lang.String rootName
        end local 3 // org.graalvm.polyglot.SourceSection sourceLocation
        end local 2 // com.oracle.truffle.polyglot.PolyglotLanguage language
        end local 1 // com.oracle.truffle.polyglot.PolyglotExceptionImpl source
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
            0   11     1          source  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0   11     2        language  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            0   11     3  sourceLocation  Lorg/graalvm/polyglot/SourceSection;
            0   11     4        rootName  Ljava/lang/String;
            0   11     5          isHost  Z
            0   11     6      stackTrace  Ljava/lang/StackTraceElement;
    MethodParameters:
                Name  Flags
      source          
      language        
      sourceLocation  
      rootName        
      isHost          
      stackTrace      

  public org.graalvm.polyglot.SourceSection getSourceLocation();
    descriptor: ()Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
         0: .line 80
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;

  public org.graalvm.polyglot.Language getLanguage();
    descriptor: ()Lorg/graalvm/polyglot/Language;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
         0: .line 85
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.api:Lorg/graalvm/polyglot/Language;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;

  public java.lang.String getRootName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
         0: .line 90
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.rootName:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;

  public boolean isHostFrame();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
         0: .line 95
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.host:Z
            ireturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;

  public java.lang.StackTraceElement toHostFrame();
    descriptor: ()Ljava/lang/StackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
         0: .line 100
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.stackTrace:Ljava/lang/StackTraceElement;
            ifnonnull 12
         1: .line 101
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* declaringClass */
        start local 1 // java.lang.String declaringClass
         2: .line 102
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.rootName:Ljava/lang/String;
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.rootName:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 2 /* methodName */
        start local 2 // java.lang.String methodName
         5: .line 103
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            ifnull 6
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            invokevirtual org.graalvm.polyglot.SourceSection.getSource:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: ldc "Unknown"
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         8: .line 104
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            ifnull 9
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            invokevirtual org.graalvm.polyglot.SourceSection.getStartLine:()I
            goto 10
      StackMap locals: java.lang.String
      StackMap stack:
         9: iconst_m1
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* startLine */
        start local 4 // int startLine
        11: .line 105
            aload 0 /* this */
            new java.lang.StackTraceElement
            dup
            aload 1 /* declaringClass */
            aload 2 /* methodName */
            aload 3 /* fileName */
            iload 4 /* startLine */
            invokespecial java.lang.StackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            putfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.stackTrace:Ljava/lang/StackTraceElement;
        end local 4 // int startLine
        end local 3 // java.lang.String fileName
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String declaringClass
        12: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.stackTrace:Ljava/lang/StackTraceElement;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
            2   12     1  declaringClass  Ljava/lang/String;
            5   12     2      methodName  Ljava/lang/String;
            8   12     3        fileName  Ljava/lang/String;
           11   12     4       startLine  I

  public java.lang.String toStringImpl(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
        start local 1 // int langColumn
         0: .line 112
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         1: .line 114
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionFrame.isHostFrame:()Z
            ifeq 4
         2: .line 115
            ldc ""
            astore 3 /* languageId */
        start local 3 // java.lang.String languageId
         3: .line 116
            goto 6
        end local 3 // java.lang.String languageId
         4: .line 117
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getId:()Ljava/lang/String;
            astore 3 /* languageId */
        start local 3 // java.lang.String languageId
         5: .line 118
            aload 2 /* b */
            iload 1 /* langColumn */
            aload 3 /* languageId */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            aload 3 /* languageId */
            invokevirtual java.lang.String.length:()I
            isub
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionFrame.spaces:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* languageId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 120
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionFrame.isHostFrame:()Z
            ifeq 9
         7: .line 121
            aload 2 /* b */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.stackTrace:Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StackTraceElement.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 122
            goto 14
         9: .line 123
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.rootName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 124
            aload 2 /* b */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 125
            getstatic com.oracle.truffle.polyglot.PolyglotExceptionFrame.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.formattedSource:Ljava/lang/String;
            ifnonnull 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 126
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionFrame.formattedSource:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 127
            aload 2 /* b */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String languageId
        end local 2 // java.lang.StringBuilder b
        end local 1 // int langColumn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionFrame this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
            0   15     1  langColumn  I
            1   15     2           b  Ljava/lang/StringBuilder;
            3    4     3  languageId  Ljava/lang/String;
            5   15     3  languageId  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      langColumn  

  static com.oracle.truffle.polyglot.PolyglotExceptionFrame createGuest(com.oracle.truffle.polyglot.PolyglotExceptionImpl, com.oracle.truffle.api.TruffleStackTraceElement, boolean);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Lcom/oracle/truffle/api/TruffleStackTraceElement;Z)Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl exception
        start local 1 // com.oracle.truffle.api.TruffleStackTraceElement frame
        start local 2 // boolean first
         0: .line 133
            aload 1 /* frame */
            ifnonnull 2
         1: .line 134
            aconst_null
            areturn
         2: .line 136
      StackMap locals:
      StackMap stack:
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            astore 3 /* targetRoot */
        start local 3 // com.oracle.truffle.api.nodes.RootNode targetRoot
         3: .line 137
            aload 3 /* targetRoot */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.isInternal:()Z
            ifeq 5
            aload 0 /* exception */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.showInternalStackFrames:Z
            ifne 5
         4: .line 138
            aconst_null
            areturn
         5: .line 141
      StackMap locals: com.oracle.truffle.api.nodes.RootNode
      StackMap stack:
            aload 3 /* targetRoot */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
            astore 4 /* info */
        start local 4 // com.oracle.truffle.api.nodes.LanguageInfo info
         6: .line 142
            aload 4 /* info */
            ifnonnull 8
         7: .line 143
            aconst_null
            areturn
         8: .line 146
      StackMap locals: com.oracle.truffle.api.nodes.LanguageInfo
      StackMap stack:
            aload 0 /* exception */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            astore 5 /* engine */
        start local 5 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
         9: .line 147
            aconst_null
            astore 6 /* language */
        start local 6 // com.oracle.truffle.polyglot.PolyglotLanguage language
        10: .line 148
            aconst_null
            astore 7 /* location */
        start local 7 // org.graalvm.polyglot.SourceSection location
        11: .line 149
            aload 3 /* targetRoot */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
            astore 8 /* rootName */
        start local 8 // java.lang.String rootName
        12: .line 150
            aload 5 /* engine */
            ifnull 26
        13: .line 151
            aload 5 /* engine */
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToLanguage:Ljava/util/Map;
            aload 4 /* info */
            invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getId:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.polyglot.PolyglotLanguage
            astore 6 /* language */
        14: .line 153
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            astore 9 /* callNode */
        start local 9 // com.oracle.truffle.api.nodes.Node callNode
        15: .line 154
            aload 9 /* callNode */
            ifnull 23
        16: .line 155
            aload 9 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 10 /* section */
        start local 10 // com.oracle.truffle.api.source.SourceSection section
        17: .line 156
            aload 10 /* section */
            ifnull 21
        18: .line 157
            aload 5 /* engine */
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 10 /* section */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newSource:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Source;
            astore 11 /* source */
        start local 11 // org.graalvm.polyglot.Source source
        19: .line 158
            aload 5 /* engine */
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 11 /* source */
            aload 10 /* section */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newSourceSection:(Lorg/graalvm/polyglot/Source;Ljava/lang/Object;)Lorg/graalvm/polyglot/SourceSection;
            astore 7 /* location */
        end local 11 // org.graalvm.polyglot.Source source
        20: .line 159
            goto 26
        21: .line 160
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.api.TruffleStackTraceElement int com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.nodes.LanguageInfo com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguage org.graalvm.polyglot.SourceSection java.lang.String com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            aconst_null
            astore 7 /* location */
        end local 10 // com.oracle.truffle.api.source.SourceSection section
        22: .line 162
            goto 26
        23: .line 163
      StackMap locals:
      StackMap stack:
            iload 2 /* first */
            ifeq 24
            aload 0 /* exception */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
            goto 25
      StackMap locals:
      StackMap stack:
        24: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.polyglot.SourceSection
        25: astore 7 /* location */
        end local 9 // com.oracle.truffle.api.nodes.Node callNode
        26: .line 166
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.polyglot.PolyglotExceptionFrame
            dup
            aload 0 /* exception */
            aload 6 /* language */
            aload 7 /* location */
            aload 8 /* rootName */
            iconst_0
            aconst_null
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionFrame.<init>:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lorg/graalvm/polyglot/SourceSection;Ljava/lang/String;ZLjava/lang/StackTraceElement;)V
            areturn
        end local 8 // java.lang.String rootName
        end local 7 // org.graalvm.polyglot.SourceSection location
        end local 6 // com.oracle.truffle.polyglot.PolyglotLanguage language
        end local 5 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        end local 4 // com.oracle.truffle.api.nodes.LanguageInfo info
        end local 3 // com.oracle.truffle.api.nodes.RootNode targetRoot
        end local 2 // boolean first
        end local 1 // com.oracle.truffle.api.TruffleStackTraceElement frame
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl exception
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0   exception  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0   27     1       frame  Lcom/oracle/truffle/api/TruffleStackTraceElement;
            0   27     2       first  Z
            3   27     3  targetRoot  Lcom/oracle/truffle/api/nodes/RootNode;
            6   27     4        info  Lcom/oracle/truffle/api/nodes/LanguageInfo;
            9   27     5      engine  Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
           10   27     6    language  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
           11   27     7    location  Lorg/graalvm/polyglot/SourceSection;
           12   27     8    rootName  Ljava/lang/String;
           15   26     9    callNode  Lcom/oracle/truffle/api/nodes/Node;
           17   22    10     section  Lcom/oracle/truffle/api/source/SourceSection;
           19   20    11      source  Lorg/graalvm/polyglot/Source;
    MethodParameters:
           Name  Flags
      exception  
      frame      
      first      

  static com.oracle.truffle.polyglot.PolyglotExceptionFrame createHost(com.oracle.truffle.polyglot.PolyglotExceptionImpl, java.lang.StackTraceElement);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Ljava/lang/StackTraceElement;)Lcom/oracle/truffle/polyglot/PolyglotExceptionFrame;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl exception
        start local 1 // java.lang.StackTraceElement hostStack
         0: .line 170
            aload 0 /* exception */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            ifnull 1
            aload 0 /* exception */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.hostLanguage:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotLanguage
         2: astore 2 /* language */
        start local 2 // com.oracle.truffle.polyglot.PolyglotLanguage language
         3: .line 175
            aconst_null
            astore 3 /* location */
        start local 3 // org.graalvm.polyglot.SourceSection location
         4: .line 177
            new java.lang.StringBuilder
            dup
            aload 1 /* hostStack */
            invokevirtual java.lang.StackTraceElement.getClassName:()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;
            aload 1 /* hostStack */
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* rootname */
        start local 4 // java.lang.String rootname
         5: .line 178
            new com.oracle.truffle.polyglot.PolyglotExceptionFrame
            dup
            aload 0 /* exception */
            aload 2 /* language */
            aload 3 /* location */
            aload 4 /* rootname */
            iconst_1
            aload 1 /* hostStack */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionFrame.<init>:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lorg/graalvm/polyglot/SourceSection;Ljava/lang/String;ZLjava/lang/StackTraceElement;)V
            areturn
        end local 4 // java.lang.String rootname
        end local 3 // org.graalvm.polyglot.SourceSection location
        end local 2 // com.oracle.truffle.polyglot.PolyglotLanguage language
        end local 1 // java.lang.StackTraceElement hostStack
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl exception
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  exception  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    6     1  hostStack  Ljava/lang/StackTraceElement;
            3    6     2   language  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            4    6     3   location  Lorg/graalvm/polyglot/SourceSection;
            5    6     4   rootname  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      exception  
      hostStack  

  private static java.lang.String spaces(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int length
         0: .line 182
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* b */
        start local 1 // java.lang.StringBuilder b
         1: .line 183
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 184
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* b */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 183
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 0 /* length */
            if_icmplt 3
        end local 2 // int i
         6: .line 186
            aload 1 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder b
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  length  I
            1    7     1       b  Ljava/lang/StringBuilder;
            2    6     2       i  I
    MethodParameters:
        Name  Flags
      length  

  private static java.lang.String formatSource(org.graalvm.polyglot.SourceSection, java.lang.Object);
    descriptor: (Lorg/graalvm/polyglot/SourceSection;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.graalvm.polyglot.SourceSection sourceSection
        start local 1 // java.lang.Object fileSystemContext
         0: .line 190
            aload 0 /* sourceSection */
            ifnonnull 2
         1: .line 191
            ldc "Unknown"
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getSource:()Lorg/graalvm/polyglot/Source;
            astore 2 /* source */
        start local 2 // org.graalvm.polyglot.Source source
         3: .line 194
            aload 2 /* source */
            ifnonnull 5
         4: .line 196
            ldc "Unknown"
            areturn
         5: .line 198
      StackMap locals: org.graalvm.polyglot.Source
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* b */
        start local 3 // java.lang.StringBuilder b
         6: .line 199
            aload 2 /* source */
            invokevirtual org.graalvm.polyglot.Source.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
         7: .line 200
            aload 4 /* path */
            ifnonnull 10
         8: .line 201
            aload 3 /* b */
            aload 2 /* source */
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 202
            goto 20
        10: .line 203
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 1 /* fileSystemContext */
            ifnull 19
        11: .line 205
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 4 /* path */
            aload 1 /* fileSystemContext */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getTruffleFile:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
            astore 5 /* pathAbsolute */
        start local 5 // com.oracle.truffle.api.TruffleFile pathAbsolute
        12: .line 206
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            ldc ""
            aload 1 /* fileSystemContext */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getTruffleFile:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
            invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
            astore 6 /* pathBase */
        start local 6 // com.oracle.truffle.api.TruffleFile pathBase
        13: .line 207
            aload 6 /* pathBase */
            aload 5 /* pathAbsolute */
            invokevirtual com.oracle.truffle.api.TruffleFile.relativize:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
            astore 7 /* pathRelative */
        start local 7 // com.oracle.truffle.api.TruffleFile pathRelative
        14: .line 208
            aload 3 /* b */
            aload 7 /* pathRelative */
            invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // com.oracle.truffle.api.TruffleFile pathRelative
        end local 6 // com.oracle.truffle.api.TruffleFile pathBase
        end local 5 // com.oracle.truffle.api.TruffleFile pathAbsolute
        15: .line 209
            goto 20
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        16: pop
        17: .line 210
            aload 3 /* b */
            aload 4 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 212
            goto 20
        19: .line 213
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            aload 4 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 217
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* sourceSection */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionFrame.formatIndices:(Lorg/graalvm/polyglot/SourceSection;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 218
            aload 3 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String path
        end local 3 // java.lang.StringBuilder b
        end local 2 // org.graalvm.polyglot.Source source
        end local 1 // java.lang.Object fileSystemContext
        end local 0 // org.graalvm.polyglot.SourceSection sourceSection
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0      sourceSection  Lorg/graalvm/polyglot/SourceSection;
            0   22     1  fileSystemContext  Ljava/lang/Object;
            3   22     2             source  Lorg/graalvm/polyglot/Source;
            6   22     3                  b  Ljava/lang/StringBuilder;
            7   22     4               path  Ljava/lang/String;
           12   15     5       pathAbsolute  Lcom/oracle/truffle/api/TruffleFile;
           13   15     6           pathBase  Lcom/oracle/truffle/api/TruffleFile;
           14   15     7       pathRelative  Lcom/oracle/truffle/api/TruffleFile;
      Exception table:
        from    to  target  type
          11    15      16  Class java.lang.IllegalArgumentException
          11    15      16  Class java.lang.UnsupportedOperationException
          11    15      16  Class java.lang.SecurityException
    MethodParameters:
                   Name  Flags
      sourceSection      
      fileSystemContext  

  private static java.lang.String formatIndices(org.graalvm.polyglot.SourceSection, boolean);
    descriptor: (Lorg/graalvm/polyglot/SourceSection;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.polyglot.SourceSection sourceSection
        start local 1 // boolean needsColumnSpecifier
         0: .line 222
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         1: .line 223
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getStartLine:()I
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getEndLine:()I
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* singleLine */
        start local 3 // boolean singleLine
         4: .line 224
            iload 3 /* singleLine */
            ifeq 7
         5: .line 225
            aload 2 /* b */
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getStartLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 226
            goto 8
         7: .line 227
      StackMap locals: int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getStartLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getEndLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         8: .line 229
      StackMap locals:
      StackMap stack:
            iload 1 /* needsColumnSpecifier */
            ifeq 14
         9: .line 230
            aload 2 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 231
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getCharLength:()I
            iconst_1
            if_icmpgt 13
        11: .line 232
            aload 2 /* b */
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getCharIndex:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        12: .line 233
            goto 14
        13: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getCharIndex:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getCharIndex:()I
            aload 0 /* sourceSection */
            invokevirtual org.graalvm.polyglot.SourceSection.getCharLength:()I
            iadd
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        14: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean singleLine
        end local 2 // java.lang.StringBuilder b
        end local 1 // boolean needsColumnSpecifier
        end local 0 // org.graalvm.polyglot.SourceSection sourceSection
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0         sourceSection  Lorg/graalvm/polyglot/SourceSection;
            0   15     1  needsColumnSpecifier  Z
            1   15     2                     b  Ljava/lang/StringBuilder;
            4   15     3            singleLine  Z
    MethodParameters:
                      Name  Flags
      sourceSection         
      needsColumnSpecifier  
}
SourceFile: "PolyglotExceptionFrame.java"
InnerClasses:
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  public abstract APIAccess = org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess of org.graalvm.polyglot.impl.AbstractPolyglotImpl
  public abstract AbstractStackFrameImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl