final class com.oracle.truffle.polyglot.PolyglotExceptionImpl extends org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractExceptionImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.PolyglotExceptionImpl
  super_class: org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractExceptionImpl
{
  private static final java.lang.String CAUSE_CAPTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Caused by host exception: "

  private static final boolean TRACE_STACK_TRACE_WALKING;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private org.graalvm.polyglot.PolyglotException impl;
    descriptor: Lorg/graalvm/polyglot/PolyglotException;
    flags: (0x0002) ACC_PRIVATE

  final com.oracle.truffle.polyglot.PolyglotImpl polyglot;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotImpl;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.polyglot.PolyglotEngineImpl engine;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.polyglot.PolyglotContextImpl context;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
    flags: (0x0010) ACC_FINAL

  final java.lang.Throwable exception;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0010) ACC_FINAL

  final boolean showInternalStackFrames;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private final java.util.List<com.oracle.truffle.api.TruffleStackTraceElement> guestFrames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;

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

  private java.util.List<org.graalvm.polyglot.PolyglotException$StackFrame> materializedFrames;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;

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

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

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

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

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

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

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

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

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

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

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

  void <init>(com.oracle.truffle.polyglot.PolyglotEngineImpl, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        start local 2 // java.lang.Throwable original
         0: .line 103
            aload 0 /* this */
            aload 1 /* engine */
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.impl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            aload 1 /* engine */
            aconst_null
            aload 2 /* original */
            iconst_0
            iconst_0
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;ZZ)V
         1: .line 104
            return
        end local 2 // java.lang.Throwable original
        end local 1 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    2     1    engine  Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            0    2     2  original  Ljava/lang/Throwable;
    MethodParameters:
          Name  Flags
      engine    
      original  

  void <init>(com.oracle.truffle.polyglot.PolyglotImpl, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        start local 2 // java.lang.Throwable original
         0: .line 108
            aload 0 /* this */
            aload 1 /* polyglot */
            aconst_null
            aconst_null
            aload 2 /* original */
            iconst_1
            iconst_0
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;ZZ)V
         1: .line 109
            return
        end local 2 // java.lang.Throwable original
        end local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    2     1  polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
            0    2     2  original  Ljava/lang/Throwable;
    MethodParameters:
          Name  Flags
      polyglot  
      original  

  void <init>(com.oracle.truffle.polyglot.PolyglotImpl, com.oracle.truffle.polyglot.PolyglotEngineImpl, com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Throwable, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;ZZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=7
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        start local 2 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        start local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 4 // java.lang.Throwable original
        start local 5 // boolean allowInterop
        start local 6 // boolean entered
         0: .line 113
            aload 0 /* this */
            aload 1 /* polyglot */
            invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractExceptionImpl.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
         1: .line 114
            aload 0 /* this */
            aload 1 /* polyglot */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
         2: .line 115
            aload 0 /* this */
            aload 2 /* engine */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
         3: .line 116
            aload 0 /* this */
            aload 3 /* languageContext */
            ifnull 4
            aload 3 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            goto 5
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
         4: aconst_null
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotContextImpl
         5: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
         6: .line 117
            aload 0 /* this */
            aload 4 /* original */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
         7: .line 118
            aload 0 /* this */
            aload 4 /* original */
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getStackTrace:(Ljava/lang/Throwable;)Ljava/util/List;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestFrames:Ljava/util/List;
         8: .line 119
            aload 0 /* this */
            aload 2 /* engine */
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
         9: aload 2 /* engine */
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.engineOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
            getstatic com.oracle.truffle.polyglot.PolyglotEngineOptions.ShowInternalStackFrames:Lorg/graalvm/options/OptionKey;
            invokevirtual com.oracle.truffle.polyglot.OptionValuesImpl.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        10: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.showInternalStackFrames:Z
        11: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.isResourceLimit:(Ljava/lang/Throwable;)Z
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.resourceExhausted:Z
        12: .line 122
            iload 5 /* allowInterop */
            ifeq 48
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            dup
            astore 7 /* interop */
        start local 7 // com.oracle.truffle.api.interop.InteropLibrary interop
        13: aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isException:(Ljava/lang/Object;)Z
            ifeq 48
        14: .line 124
            aload 7 /* interop */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
            astore 8 /* exceptionType */
        start local 8 // com.oracle.truffle.api.interop.ExceptionType exceptionType
        15: .line 125
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.internal:Z
        16: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.isLegacyTruffleExceptionCancelled:(Ljava/lang/Throwable;)Z
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.cancelled:Z
        17: .line 128
            aload 0 /* this */
            aload 8 /* exceptionType */
            getstatic com.oracle.truffle.api.interop.ExceptionType.PARSE_ERROR:Lcom/oracle/truffle/api/interop/ExceptionType;
            if_acmpne 18
            iconst_1
            goto 19
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        18: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        19: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.syntaxError:Z
        20: .line 129
            aload 0 /* this */
            aload 8 /* exceptionType */
            getstatic com.oracle.truffle.api.interop.ExceptionType.EXIT:Lcom/oracle/truffle/api/interop/ExceptionType;
            if_acmpne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        21: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        22: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exit:Z
        23: .line 130
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exit:Z
            ifeq 24
            aload 7 /* interop */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionExitStatus:(Ljava/lang/Object;)I
            goto 25
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        24: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        25: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exitStatus:I
        26: .line 131
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.syntaxError:Z
            ifeq 27
            aload 7 /* interop */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExceptionIncompleteSource:(Ljava/lang/Object;)Z
            goto 28
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        27: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        28: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.incompleteSource:Z
        29: .line 132
            aload 0 /* this */
            aload 8 /* exceptionType */
            getstatic com.oracle.truffle.api.interop.ExceptionType.INTERRUPT:Lcom/oracle/truffle/api/interop/ExceptionType;
            if_acmpne 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        30: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.ExceptionType
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        31: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.interrupted:Z
        32: .line 134
            aload 7 /* interop */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 135
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* interop */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.newSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
        34: .line 136
            goto 36
        35: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
        36: .line 140
      StackMap locals:
      StackMap stack:
            iload 6 /* entered */
            ifeq 44
            aload 3 /* languageContext */
            ifnull 44
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            instanceof com.oracle.truffle.polyglot.HostException
            ifne 44
        37: .line 141
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.getExceptionObject:()Ljava/lang/Object;
            dup
            astore 9 /* exceptionObject */
        start local 9 // java.lang.Object exceptionObject
        38: ifnull 44
        39: .line 146
            aload 9 /* exceptionObject */
            astore 10 /* receiver */
        start local 10 // java.lang.Object receiver
        40: .line 147
            aload 10 /* receiver */
            instanceof org.graalvm.polyglot.proxy.Proxy
            ifeq 42
        41: .line 148
            aload 3 /* languageContext */
            aconst_null
            aload 10 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.toGuestValue:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* receiver */
        42: .line 150
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* languageContext */
            aload 10 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestObject:Lorg/graalvm/polyglot/Value;
        end local 10 // java.lang.Object receiver
        43: .line 151
            goto 79
        end local 9 // java.lang.Object exceptionObject
        44: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestObject:Lorg/graalvm/polyglot/Value;
        end local 8 // com.oracle.truffle.api.interop.ExceptionType exceptionType
        45: .line 154
            goto 79
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        46: astore 8 /* ume */
        start local 8 // com.oracle.truffle.api.interop.UnsupportedMessageException ume
        47: .line 155
            aload 8 /* ume */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // com.oracle.truffle.api.interop.UnsupportedMessageException ume
        end local 7 // com.oracle.truffle.api.interop.InteropLibrary interop
        48: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            instanceof com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution
            ifne 49
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.isLegacyTruffleExceptionCancelled:(Ljava/lang/Throwable;)Z
            ifne 49
            iconst_0
            goto 50
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        49: iconst_1
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        50: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.cancelled:Z
        51: .line 159
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            ifnull 52
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.InterruptedException
            ifeq 52
            iconst_1
            goto 53
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        52: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        53: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.interrupted:Z
        54: .line 160
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.interrupted:Z
            ifne 55
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.cancelled:Z
            ifne 55
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.resourceExhausted:Z
            ifne 55
            iconst_1
            goto 56
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        55: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        56: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.internal:Z
        57: .line 161
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.syntaxError:Z
        58: .line 162
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.incompleteSource:Z
        59: .line 163
            iload 5 /* allowInterop */
            ifeq 66
        60: .line 164
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.isLegacyTruffleExceptionExit:(Ljava/lang/Throwable;)Z
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exit:Z
        61: .line 165
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exit:Z
            ifeq 62
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.getLegacyTruffleExceptionExitStatus:(Ljava/lang/Throwable;)I
            goto 63
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        62: iconst_0
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl int
        63: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exitStatus:I
        64: .line 166
            aload 0 /* this */
            aload 3 /* languageContext */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.getLegacyTruffleExceptionGuestObject:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/Value;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestObject:Lorg/graalvm/polyglot/Value;
        65: .line 167
            goto 69
        66: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exit:Z
        67: .line 169
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exitStatus:I
        68: .line 170
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestObject:Lorg/graalvm/polyglot/Value;
        69: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            instanceof com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution
            ifeq 72
        70: .line 174
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            checkcast com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 8 /* location */
        start local 8 // com.oracle.truffle.api.source.SourceSection location
        71: .line 175
            goto 76
        end local 8 // com.oracle.truffle.api.source.SourceSection location
      StackMap locals:
      StackMap stack:
        72: iload 5 /* allowInterop */
            ifeq 75
        73: .line 176
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.getLegacyTruffleExceptionSourceLocation:(Ljava/lang/Throwable;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 8 /* location */
        start local 8 // com.oracle.truffle.api.source.SourceSection location
        74: .line 177
            goto 76
        end local 8 // com.oracle.truffle.api.source.SourceSection location
        75: .line 178
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* location */
        start local 8 // com.oracle.truffle.api.source.SourceSection location
        76: .line 180
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int top com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            aload 0 /* this */
            aload 8 /* location */
            ifnull 77
            aload 0 /* this */
            aload 8 /* location */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.newSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
            goto 78
      StackMap locals:
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl
        77: aconst_null
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int top com.oracle.truffle.api.source.SourceSection
      StackMap stack: com.oracle.truffle.polyglot.PolyglotExceptionImpl org.graalvm.polyglot.SourceSection
        78: putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
        end local 8 // com.oracle.truffle.api.source.SourceSection location
        79: .line 182
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Throwable int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isHostException:()Z
            ifeq 82
        80: .line 183
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.asHostException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.message:Ljava/lang/String;
        81: .line 184
            goto 86
        82: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.internal:Z
            ifeq 85
        83: .line 186
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.message:Ljava/lang/String;
        84: .line 187
            goto 86
        85: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.message:Ljava/lang/String;
        86: .line 194
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 4 /* original */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.materializeHostFrames:(Ljava/lang/Throwable;)V
        87: .line 195
            return
        end local 6 // boolean entered
        end local 5 // boolean allowInterop
        end local 4 // java.lang.Throwable original
        end local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        end local 2 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        end local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   88     0             this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0   88     1         polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
            0   88     2           engine  Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            0   88     3  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   88     4         original  Ljava/lang/Throwable;
            0   88     5     allowInterop  Z
            0   88     6          entered  Z
           13   48     7          interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
           15   45     8    exceptionType  Lcom/oracle/truffle/api/interop/ExceptionType;
           38   44     9  exceptionObject  Ljava/lang/Object;
           40   43    10         receiver  Ljava/lang/Object;
           47   48     8              ume  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
           71   72     8         location  Lcom/oracle/truffle/api/source/SourceSection;
           74   75     8         location  Lcom/oracle/truffle/api/source/SourceSection;
           76   79     8         location  Lcom/oracle/truffle/api/source/SourceSection;
      Exception table:
        from    to  target  type
          14    45      46  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
                 Name  Flags
      polyglot         
      engine           
      languageContext  
      original         
      allowInterop     
      entered          

  private static boolean isResourceLimit(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 198
            aload 0 /* e */
            instanceof com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution
            ifeq 2
         1: .line 199
            aload 0 /* e */
            checkcast com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution.isResourceLimit:()Z
            ireturn
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            instanceof com.oracle.truffle.polyglot.HostException
            ifeq 5
         3: .line 203
            aload 0 /* e */
            checkcast com.oracle.truffle.polyglot.HostException
            invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
            astore 1 /* toCheck */
        start local 1 // java.lang.Throwable toCheck
         4: .line 204
            goto 6
        end local 1 // java.lang.Throwable toCheck
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            astore 1 /* toCheck */
        start local 1 // java.lang.Throwable toCheck
         6: .line 207
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* toCheck */
            instanceof java.lang.StackOverflowError
            ifne 7
            aload 1 /* toCheck */
            instanceof java.lang.OutOfMemoryError
            ifne 7
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 1 // java.lang.Throwable toCheck
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0        e  Ljava/lang/Throwable;
            4    5     1  toCheck  Ljava/lang/Throwable;
            6    8     1  toCheck  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static boolean isLegacyTruffleExceptionCancelled(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 213
            aload 0 /* e */
            instanceof com.oracle.truffle.api.TruffleException
            ifeq 2
         1: .line 214
            aload 0 /* e */
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.isCancelled:()Z
            ireturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static boolean isLegacyTruffleExceptionExit(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 222
            aload 0 /* e */
            instanceof com.oracle.truffle.api.TruffleException
            ifeq 2
         1: .line 223
            aload 0 /* e */
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.isExit:()Z
            ireturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static int getLegacyTruffleExceptionExitStatus(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 231
            aload 0 /* e */
            instanceof com.oracle.truffle.api.TruffleException
            ifeq 2
         1: .line 232
            aload 0 /* e */
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.getExitStatus:()I
            ireturn
         2: .line 234
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static com.oracle.truffle.api.source.SourceSection getLegacyTruffleExceptionSourceLocation(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 240
            aload 0 /* e */
            instanceof com.oracle.truffle.api.TruffleException
            ifeq 2
         1: .line 241
            aload 0 /* e */
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            areturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static org.graalvm.polyglot.Value getLegacyTruffleExceptionGuestObject(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/Value;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Throwable e
         0: .line 249
            aload 1 /* e */
            instanceof com.oracle.truffle.api.TruffleException
            ifeq 6
            aload 0 /* languageContext */
            ifnull 6
         1: .line 250
            aload 1 /* e */
            checkcast com.oracle.truffle.api.TruffleException
            invokeinterface com.oracle.truffle.api.TruffleException.getExceptionObject:()Ljava/lang/Object;
            astore 2 /* exceptionObject */
        start local 2 // java.lang.Object exceptionObject
         2: .line 251
            aload 2 /* exceptionObject */
            ifnull 6
         3: .line 252
            aload 2 /* exceptionObject */
            instanceof org.graalvm.polyglot.proxy.Proxy
            ifeq 5
         4: .line 253
            aload 0 /* languageContext */
            aconst_null
            aload 2 /* exceptionObject */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.toGuestValue:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* exceptionObject */
         5: .line 255
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* languageContext */
            aload 2 /* exceptionObject */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // java.lang.Object exceptionObject
         6: .line 258
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Throwable e
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    7     1                e  Ljava/lang/Throwable;
            2    6     2  exceptionObject  Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      languageContext  
      e                

  private org.graalvm.polyglot.SourceSection newSourceSection(com.oracle.truffle.api.source.SourceSection);
    descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.api.source.SourceSection section
         0: .line 262
            aload 1 /* section */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 2 /* truffleSource */
        start local 2 // com.oracle.truffle.api.source.Source truffleSource
         1: .line 263
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 2 /* truffleSource */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newSource:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         2: .line 264
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 3 /* source */
            aload 1 /* section */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newSourceSection:(Lorg/graalvm/polyglot/Source;Ljava/lang/Object;)Lorg/graalvm/polyglot/SourceSection;
            areturn
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // com.oracle.truffle.api.source.Source truffleSource
        end local 1 // com.oracle.truffle.api.source.SourceSection section
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    3     1        section  Lcom/oracle/truffle/api/source/SourceSection;
            1    3     2  truffleSource  Lcom/oracle/truffle/api/source/Source;
            2    3     3         source  Lorg/graalvm/polyglot/Source;
    MethodParameters:
         Name  Flags
      section  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // java.lang.Object obj
         0: .line 269
            aload 1 /* obj */
            instanceof com.oracle.truffle.polyglot.PolyglotExceptionImpl
            ifeq 3
         1: .line 270
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            aload 1 /* obj */
            checkcast com.oracle.truffle.polyglot.PolyglotExceptionImpl
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 272
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    4     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 277
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

  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.PolyglotExceptionImpl this
         0: .line 282
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.sourceLocation:Lorg/graalvm/polyglot/SourceSection;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

  public void onCreate(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // org.graalvm.polyglot.PolyglotException instance
         0: .line 287
            aload 0 /* this */
            aload 1 /* instance */
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.impl:Lorg/graalvm/polyglot/PolyglotException;
         1: .line 288
            return
        end local 1 // org.graalvm.polyglot.PolyglotException instance
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    2     1  instance  Lorg/graalvm/polyglot/PolyglotException;
    MethodParameters:
          Name  Flags
      instance  

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

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

  public boolean isHostException();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 302
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            instanceof com.oracle.truffle.polyglot.HostException
            ireturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

  public java.lang.Throwable asHostException();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 307
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            instanceof com.oracle.truffle.polyglot.HostException
            ifne 6
         1: .line 309
            ldc "Unsupported operation %s.%s. You can ensure that the operation is supported using %s.%s."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 310
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc "asHostException()"
            aastore
            dup
            iconst_2
         3: .line 311
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "isHostException()"
            aastore
         4: .line 309
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 308
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.unsupported:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
         6: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            checkcast com.oracle.truffle.polyglot.HostException
            invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

  public void printStackTrace(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // java.io.PrintWriter s
         0: .line 318
            aload 0 /* this */
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintWriter
            dup
            aload 1 /* s */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintWriter.<init>:(Ljava/io/PrintWriter;)V
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.printStackTrace:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl$PrintStreamOrWriter;)V
         1: .line 319
            return
        end local 1 // java.io.PrintWriter s
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    2     1     s  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      s     

  public void printStackTrace(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // java.io.PrintStream s
         0: .line 323
            aload 0 /* this */
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintStream
            dup
            aload 1 /* s */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintStream.<init>:(Ljava/io/PrintStream;)V
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.printStackTrace:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl$PrintStreamOrWriter;)V
         1: .line 324
            return
        end local 1 // java.io.PrintStream s
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0    2     1     s  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      s     

  private void printStackTrace(com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl$PrintStreamOrWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter s
         0: .line 327
            aload 1 /* s */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.lock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 329
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isInternalError:()Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestFrames:Ljava/util/List;
            ifnull 2
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestFrames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 7
         2: .line 330
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* s */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.impl:Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.print:(Ljava/lang/Object;)V
         3: .line 331
            aload 1 /* s */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.printStackTrace:(Ljava/lang/Throwable;)V
         4: .line 332
            aload 1 /* s */
            ldc "Internal GraalVM error, please report at https://github.com/oracle/graal/issues/."
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
         5: .line 333
            aload 2
            monitorexit
         6: return
         7: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isInternalError:()Z
            ifne 8
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
            ifnull 8
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         8: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.impl:Lorg/graalvm/polyglot/PolyglotException;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
         9: .line 338
            goto 11
        10: .line 339
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
        11: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.materialize:()V
        12: .line 343
            iconst_0
            istore 3 /* languageIdLength */
        start local 3 // int languageIdLength
        13: .line 344
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getPolyglotStackTrace:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter java.lang.Object int top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            astore 4 /* traceElement */
        start local 4 // org.graalvm.polyglot.PolyglotException$StackFrame traceElement
        15: .line 345
            aload 4 /* traceElement */
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.isHostFrame:()Z
            ifne 17
        16: .line 346
            iload 3 /* languageIdLength */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 4 /* traceElement */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getImpl:(Lorg/graalvm/polyglot/PolyglotException$StackFrame;)Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractStackFrameImpl;
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl.getLanguage:()Lorg/graalvm/polyglot/Language;
            invokevirtual org.graalvm.polyglot.Language.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 3 /* languageIdLength */
        end local 4 // org.graalvm.polyglot.PolyglotException$StackFrame traceElement
        17: .line 344
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 350
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getPolyglotStackTrace:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals:
      StackMap stack:
        19: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            astore 4 /* traceElement */
        start local 4 // org.graalvm.polyglot.PolyglotException$StackFrame traceElement
        20: .line 351
            aload 1 /* s */
            new java.lang.StringBuilder
            dup
            ldc "\tat "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 4 /* traceElement */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getImpl:(Lorg/graalvm/polyglot/PolyglotException$StackFrame;)Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractStackFrameImpl;
            iload 3 /* languageIdLength */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl.toStringImpl:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
        end local 4 // org.graalvm.polyglot.PolyglotException$StackFrame traceElement
        21: .line 350
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 355
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isHostException:()Z
            ifeq 24
        23: .line 356
            aload 1 /* s */
            new java.lang.StringBuilder
            dup
            ldc "Caused by host exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.asHostException:()Ljava/lang/Throwable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
        24: .line 358
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isInternalError:()Z
            ifeq 27
        25: .line 359
            aload 1 /* s */
            ldc "Original Internal Error: "
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.println:(Ljava/lang/Object;)V
        26: .line 360
            aload 1 /* s */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter.printStackTrace:(Ljava/lang/Throwable;)V
        end local 3 // int languageIdLength
        27: .line 327
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 2
            monitorexit
        30: athrow
        31: .line 363
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter s
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0   32     1                 s  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl$PrintStreamOrWriter;
           13   27     3  languageIdLength  I
           15   17     4      traceElement  Lorg/graalvm/polyglot/PolyglotException$StackFrame;
           20   21     4      traceElement  Lorg/graalvm/polyglot/PolyglotException$StackFrame;
      Exception table:
        from    to  target  type
           1     6      29  any
           7    28      29  any
          29    30      29  any
    MethodParameters:
      Name  Flags
      s     

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

  public java.lang.StackTraceElement[] getJavaStackTrace();
    descriptor: ()[Ljava/lang/StackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 371
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.javaStackTrace:[Ljava/lang/StackTraceElement;
            ifnonnull 8
         1: .line 372
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.materialize:()V
         2: .line 373
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.lang.StackTraceElement
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.javaStackTrace:[Ljava/lang/StackTraceElement;
         3: .line 374
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 7
         5: .line 375
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.javaStackTrace:[Ljava/lang/StackTraceElement;
            iload 1 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.toHostFrame:()Ljava/lang/StackTraceElement;
            aastore
         6: .line 374
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.javaStackTrace:[Ljava/lang/StackTraceElement;
            arraylength
            if_icmplt 5
        end local 1 // int i
         8: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.javaStackTrace:[Ljava/lang/StackTraceElement;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            4    8     1     i  I

  private void materialize();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 382
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
            ifnonnull 7
         1: .line 383
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* frames */
        start local 1 // java.util.List frames
         2: .line 384
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getPolyglotStackTrace:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            astore 2 /* frame */
        start local 2 // org.graalvm.polyglot.PolyglotException$StackFrame frame
         4: .line 385
            aload 1 /* frames */
            aload 2 /* frame */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.graalvm.polyglot.PolyglotException$StackFrame frame
         5: .line 384
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 387
            aload 0 /* this */
            aload 1 /* frames */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
        end local 1 // java.util.List frames
         7: .line 389
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            2    7     1  frames  Ljava/util/List<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;
            4    5     2   frame  Lorg/graalvm/polyglot/PolyglotException$StackFrame;

  public java.lang.StackTraceElement[] getStackTrace();
    descriptor: ()[Ljava/lang/StackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 393
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getJavaStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StackTraceElement[].clone:()Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

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

  public java.lang.Iterable<org.graalvm.polyglot.PolyglotException$StackFrame> getPolyglotStackTrace();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 403
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
            ifnull 2
         1: .line 404
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.materializedFrames:Ljava/util/List;
            areturn
         2: .line 406
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$1.<init>:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;)V
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;

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

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

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

  public int getExitStatus();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
         0: .line 431
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exitStatus:I
            ireturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;

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

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

  java.lang.Object getFileSystemContext(com.oracle.truffle.polyglot.PolyglotLanguage);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
         0: .line 445
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            ifnonnull 2
         1: .line 446
            aconst_null
            areturn
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            dup
            astore 2
            monitorenter
         3: .line 454
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            aload 1 /* language */
            invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            astore 3 /* languageContext */
        start local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
         4: .line 455
            aload 3 /* languageContext */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.isCreated:()Z
            ifne 7
         5: .line 456
            aload 2
            monitorexit
         6: aconst_null
            areturn
         7: .line 459
      StackMap locals: com.oracle.truffle.polyglot.PolyglotContextImpl com.oracle.truffle.polyglot.PolyglotLanguageContext
      StackMap stack:
            aload 3 /* languageContext */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getInternalFileSystemContext:()Ljava/lang/Object;
            aload 2
            monitorexit
         8: areturn
        end local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
         9: .line 449
      StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl com.oracle.truffle.polyglot.PolyglotLanguage com.oracle.truffle.polyglot.PolyglotContextImpl
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        10: athrow
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            0   11     1         language  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            4    9     3  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
      Exception table:
        from    to  target  type
           3     6       9  any
           7     8       9  any
           9    10       9  any
    MethodParameters:
          Name  Flags
      language  

  static java.util.Iterator<org.graalvm.polyglot.PolyglotException$StackFrame> createStackFrameIterator(com.oracle.truffle.polyglot.PolyglotExceptionImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;)Ljava/util/Iterator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=6, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl impl
         0: .line 537
            aload 0 /* impl */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.polyglot:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            astore 1 /* apiAccess */
        start local 1 // org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess apiAccess
         1: .line 539
            aload 0 /* impl */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.findCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         2: .line 541
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 2 /* cause */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.isTruffleStackTrace:(Ljava/lang/Throwable;)Z
            ifeq 5
         3: .line 542
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 2 /* cause */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getInternalStackTraceElements:(Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement;
            astore 3 /* hostStack */
        start local 3 // java.lang.StackTraceElement[] hostStack
         4: .line 543
            goto 9
        end local 3 // java.lang.StackTraceElement[] hostStack
      StackMap locals: org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess java.lang.Throwable
      StackMap stack:
         5: aload 2 /* cause */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            ifnull 6
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            arraylength
            ifne 8
         6: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* impl */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 3 /* hostStack */
        start local 3 // java.lang.StackTraceElement[] hostStack
         7: .line 545
            goto 9
        end local 3 // java.lang.StackTraceElement[] hostStack
         8: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 3 /* hostStack */
        start local 3 // java.lang.StackTraceElement[] hostStack
         9: .line 548
      StackMap locals: java.lang.StackTraceElement[]
      StackMap stack:
            aload 0 /* impl */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestFrames:Ljava/util/List;
            ifnonnull 10
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 0 /* impl */
            getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.guestFrames:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
      StackMap locals:
      StackMap stack: java.util.Iterator
        11: astore 4 /* guestFrames */
        start local 4 // java.util.Iterator guestFrames
        12: .line 550
            aload 0 /* impl */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isHostException:()Z
            ifne 13
            aload 0 /* impl */
            invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isInternalError:()Z
            ifne 13
            iconst_0
            goto 14
      StackMap locals: java.util.Iterator
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 5 /* inHostLanguage */
        start local 5 // boolean inHostLanguage
        15: .line 557
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$MergedHostGuestIterator
            dup
            aload 3 /* hostStack */
            aload 4 /* guestFrames */
            iload 5 /* inHostLanguage */
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$2
            dup
            aload 1 /* apiAccess */
            aload 0 /* impl */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$2.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;)V
        16: .line 562
            new com.oracle.truffle.polyglot.PolyglotExceptionImpl$3
            dup
            aload 0 /* impl */
            aload 1 /* apiAccess */
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$3.<init>:(Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;)V
        17: .line 557
            invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl$MergedHostGuestIterator.<init>:([Ljava/lang/StackTraceElement;Ljava/util/Iterator;ZLjava/util/function/Function;Ljava/util/function/Function;)V
            areturn
        end local 5 // boolean inHostLanguage
        end local 4 // java.util.Iterator guestFrames
        end local 3 // java.lang.StackTraceElement[] hostStack
        end local 2 // java.lang.Throwable cause
        end local 1 // org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess apiAccess
        end local 0 // com.oracle.truffle.polyglot.PolyglotExceptionImpl impl
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            impl  Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
            1   18     1       apiAccess  Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            2   18     2           cause  Ljava/lang/Throwable;
            4    5     3       hostStack  [Ljava/lang/StackTraceElement;
            7    8     3       hostStack  [Ljava/lang/StackTraceElement;
            9   18     3       hostStack  [Ljava/lang/StackTraceElement;
           12   18     4     guestFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
           15   18     5  inHostLanguage  Z
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;)Ljava/util/Iterator<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;
    MethodParameters:
      Name  Flags
      impl  

  private static java.lang.Throwable findCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 581
            aload 0 /* throwable */
            astore 1 /* cause */
        start local 1 // java.lang.Throwable cause
         1: .line 582
            aload 1 /* cause */
            instanceof com.oracle.truffle.polyglot.HostException
            ifeq 3
         2: .line 583
            aload 1 /* cause */
            checkcast com.oracle.truffle.polyglot.HostException
            invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.polyglot.PolyglotExceptionImpl.findCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            areturn
         3: .line 584
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.EngineAccessor.EXCEPTION:Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
            aload 1 /* cause */
            invokevirtual com.oracle.truffle.api.impl.Accessor$ExceptionSupport.isException:(Ljava/lang/Object;)Z
            ifeq 9
         4: .line 585
            getstatic com.oracle.truffle.polyglot.EngineAccessor.EXCEPTION:Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
            aload 1 /* cause */
            invokevirtual com.oracle.truffle.api.impl.Accessor$ExceptionSupport.getLazyStackTrace:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            areturn
         5: .line 588
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            instanceof com.oracle.truffle.polyglot.HostException
            ifeq 8
         6: .line 589
            aload 1 /* cause */
            checkcast com.oracle.truffle.polyglot.HostException
            invokevirtual com.oracle.truffle.polyglot.HostException.getOriginal:()Ljava/lang/Throwable;
            astore 1 /* cause */
         7: .line 590
            goto 9
         8: .line 591
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* cause */
         9: .line 587
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnull 10
            aload 1 /* cause */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            arraylength
            ifeq 5
        10: .line 594
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  throwable  Ljava/lang/Throwable;
            1   11     1      cause  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      throwable  
}
SourceFile: "PolyglotExceptionImpl.java"
NestMembers:
  com.oracle.truffle.polyglot.PolyglotExceptionImpl$1  com.oracle.truffle.polyglot.PolyglotExceptionImpl$2  com.oracle.truffle.polyglot.PolyglotExceptionImpl$3  com.oracle.truffle.polyglot.PolyglotExceptionImpl$MergedHostGuestIterator  com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter  com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintStream  com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintWriter
InnerClasses:
  public abstract ExceptionSupport = com.oracle.truffle.api.impl.Accessor$ExceptionSupport of com.oracle.truffle.api.impl.Accessor
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  final CancelExecution = com.oracle.truffle.polyglot.PolyglotEngineImpl$CancelExecution of com.oracle.truffle.polyglot.PolyglotEngineImpl
  com.oracle.truffle.polyglot.PolyglotExceptionImpl$1
  com.oracle.truffle.polyglot.PolyglotExceptionImpl$2
  com.oracle.truffle.polyglot.PolyglotExceptionImpl$3
  MergedHostGuestIterator = com.oracle.truffle.polyglot.PolyglotExceptionImpl$MergedHostGuestIterator of com.oracle.truffle.polyglot.PolyglotExceptionImpl
  private abstract PrintStreamOrWriter = com.oracle.truffle.polyglot.PolyglotExceptionImpl$PrintStreamOrWriter of com.oracle.truffle.polyglot.PolyglotExceptionImpl
  private WrappedPrintStream = com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintStream of com.oracle.truffle.polyglot.PolyglotExceptionImpl
  private WrappedPrintWriter = com.oracle.truffle.polyglot.PolyglotExceptionImpl$WrappedPrintWriter of com.oracle.truffle.polyglot.PolyglotExceptionImpl
  public final StackFrame = org.graalvm.polyglot.PolyglotException$StackFrame of org.graalvm.polyglot.PolyglotException
  public abstract APIAccess = org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess of org.graalvm.polyglot.impl.AbstractPolyglotImpl
  public abstract AbstractExceptionImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractExceptionImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
  public abstract AbstractStackFrameImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractStackFrameImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl