public final class com.oracle.truffle.js.parser.GraalJSParserHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.parser.GraalJSParserHelper
  super_class: java.lang.Object
{
  private static final java.lang.String NEVER_PART_OF_COMPILATION_MESSAGE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "do not parse from compiled code"

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            ldc Lcom/oracle/truffle/js/parser/GraalJSParserHelper;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.parser.GraalJSParserHelper.$assertionsDisabled:Z
         3: .line 70
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.GraalJSParserHelper this
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            return
        end local 0 // com.oracle.truffle.js.parser.GraalJSParserHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/GraalJSParserHelper;

  public static com.oracle.js.parser.ir.FunctionNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 77
            aload 0 /* context */
            aload 1 /* truffleSource */
            aload 2 /* parserOptions */
            iconst_0
            iconst_0
            aconst_null
            ldc ""
            ldc ""
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1  truffleSource  Lcom/oracle/truffle/api/source/Source;
            0    1     2  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
    MethodParameters:
               Name  Flags
      context        
      truffleSource  
      parserOptions  

  public static com.oracle.js.parser.ir.FunctionNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions, boolean, boolean, com.oracle.js.parser.ir.Scope, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        start local 3 // boolean eval
        start local 4 // boolean evalInFunction
        start local 5 // com.oracle.js.parser.ir.Scope evalScope
        start local 6 // java.lang.String prologue
        start local 7 // java.lang.String epilogue
         0: .line 82
            aload 0 /* context */
            aload 1 /* truffleSource */
            aload 2 /* parserOptions */
            iconst_0
            iload 3 /* eval */
            iload 4 /* evalInFunction */
            aload 5 /* evalScope */
            aload 6 /* prologue */
            aload 7 /* epilogue */
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseSource:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 7 // java.lang.String epilogue
        end local 6 // java.lang.String prologue
        end local 5 // com.oracle.js.parser.ir.Scope evalScope
        end local 4 // boolean evalInFunction
        end local 3 // boolean eval
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1   truffleSource  Lcom/oracle/truffle/api/source/Source;
            0    1     2   parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            0    1     3            eval  Z
            0    1     4  evalInFunction  Z
            0    1     5       evalScope  Lcom/oracle/js/parser/ir/Scope;
            0    1     6        prologue  Ljava/lang/String;
            0    1     7        epilogue  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      context         
      truffleSource   
      parserOptions   
      eval            
      evalInFunction  
      evalScope       
      prologue        
      epilogue        

  public static com.oracle.js.parser.ir.FunctionNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions, boolean, boolean, com.oracle.js.parser.ir.Scope, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        start local 3 // boolean eval
        start local 4 // boolean evalInFunction
        start local 5 // com.oracle.js.parser.ir.Scope evalScope
        start local 6 // java.lang.String prologue
        start local 7 // java.lang.String epilogue
        start local 8 // java.lang.String[] argumentNames
         0: .line 87
            aload 0 /* context */
            aload 1 /* truffleSource */
            aload 2 /* parserOptions */
            iconst_0
            iload 3 /* eval */
            iload 4 /* evalInFunction */
            aload 5 /* evalScope */
            aload 6 /* prologue */
            aload 7 /* epilogue */
            aload 8 /* argumentNames */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseSource:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 8 // java.lang.String[] argumentNames
        end local 7 // java.lang.String epilogue
        end local 6 // java.lang.String prologue
        end local 5 // com.oracle.js.parser.ir.Scope evalScope
        end local 4 // boolean evalInFunction
        end local 3 // boolean eval
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1   truffleSource  Lcom/oracle/truffle/api/source/Source;
            0    1     2   parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            0    1     3            eval  Z
            0    1     4  evalInFunction  Z
            0    1     5       evalScope  Lcom/oracle/js/parser/ir/Scope;
            0    1     6        prologue  Ljava/lang/String;
            0    1     7        epilogue  Ljava/lang/String;
            0    1     8   argumentNames  [Ljava/lang/String;
    MethodParameters:
                Name  Flags
      context         
      truffleSource   
      parserOptions   
      eval            
      evalInFunction  
      evalScope       
      prologue        
      epilogue        
      argumentNames   

  public static com.oracle.js.parser.ir.FunctionNode parseModule(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 91
            aload 0 /* context */
            aload 1 /* truffleSource */
            aload 2 /* parserOptions */
            iconst_1
            iconst_0
            iconst_0
            aconst_null
            ldc ""
            ldc ""
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseSource:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1  truffleSource  Lcom/oracle/truffle/api/source/Source;
            0    1     2  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
    MethodParameters:
               Name  Flags
      context        
      truffleSource  
      parserOptions  

  private static com.oracle.js.parser.ir.FunctionNode parseSource(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions, boolean, boolean, boolean, com.oracle.js.parser.ir.Scope, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;ZZZLcom/oracle/js/parser/ir/Scope;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=16, args_size=10
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        start local 3 // boolean parseModule
        start local 4 // boolean eval
        start local 5 // boolean evalInFunction
        start local 6 // com.oracle.js.parser.ir.Scope evalScope
        start local 7 // java.lang.String prologue
        start local 8 // java.lang.String epilogue
        start local 9 // java.lang.String[] argumentNames
         0: .line 96
            ldc "do not parse from compiled code"
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
         1: .line 98
            aload 7 /* prologue */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
            aload 8 /* epilogue */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
         2: .line 99
            aload 1 /* truffleSource */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            astore 10 /* code */
        start local 10 // java.lang.CharSequence code
         3: .line 100
            goto 9
        end local 10 // java.lang.CharSequence code
         4: .line 101
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 11 /* all */
        start local 11 // java.lang.StringBuilder all
         5: .line 102
            aload 11 /* all */
            aload 7 /* prologue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 103
            aload 11 /* all */
            aload 1 /* truffleSource */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
         7: .line 104
            aload 11 /* all */
            aload 8 /* epilogue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 105
            aload 11 /* all */
            astore 10 /* code */
        end local 11 // java.lang.StringBuilder all
        start local 10 // java.lang.CharSequence code
         9: .line 107
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 1 /* truffleSource */
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            aload 10 /* code */
            iload 4 /* eval */
            invokestatic com.oracle.js.parser.Source.sourceFor:(Ljava/lang/String;Ljava/lang/CharSequence;Z)Lcom/oracle/js/parser/Source;
            astore 11 /* source */
        start local 11 // com.oracle.js.parser.Source source
        10: .line 109
            aload 2 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.makeScriptEnvironment:(Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ScriptEnvironment;
            astore 12 /* env */
        start local 12 // com.oracle.js.parser.ScriptEnvironment env
        11: .line 111
            iload 4 /* eval */
            ifeq 14
        12: .line 112
            new com.oracle.js.parser.ErrorManager$ThrowErrorManager
            dup
            invokespecial com.oracle.js.parser.ErrorManager$ThrowErrorManager.<init>:()V
            astore 13 /* errors */
        start local 13 // com.oracle.js.parser.ErrorManager errors
        13: .line 113
            goto 15
        end local 13 // com.oracle.js.parser.ErrorManager errors
        14: .line 114
      StackMap locals: com.oracle.js.parser.Source com.oracle.js.parser.ScriptEnvironment
      StackMap stack:
            new com.oracle.js.parser.ErrorManager$StringBuilderErrorManager
            dup
            invokespecial com.oracle.js.parser.ErrorManager$StringBuilderErrorManager.<init>:()V
            astore 13 /* errors */
        start local 13 // com.oracle.js.parser.ErrorManager errors
        15: .line 116
      StackMap locals: com.oracle.js.parser.ErrorManager
      StackMap stack:
            aload 13 /* errors */
            iconst_0
            invokevirtual com.oracle.js.parser.ErrorManager.setLimit:(I)V
        16: .line 118
            aload 0 /* context */
            aload 12 /* env */
            aload 11 /* source */
            aload 13 /* errors */
            aload 2 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.createParser:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/Parser;
            astore 14 /* parser */
        start local 14 // com.oracle.js.parser.Parser parser
        17: .line 121
            iload 3 /* parseModule */
            ifeq 20
        18: .line 122
            aload 14 /* parser */
            ldc ":module"
            invokevirtual com.oracle.js.parser.Parser.parseModule:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 15 /* parsed */
        start local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        19: .line 123
            goto 27
        end local 15 // com.oracle.js.parser.ir.FunctionNode parsed
      StackMap locals: com.oracle.js.parser.Parser
      StackMap stack:
        20: iload 4 /* eval */
            ifeq 23
        21: .line 124
            aload 14 /* parser */
            iload 5 /* evalInFunction */
            aload 6 /* evalScope */
            invokevirtual com.oracle.js.parser.Parser.parseEval:(ZLcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 15 /* parsed */
        start local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        22: .line 125
            goto 27
        end local 15 // com.oracle.js.parser.ir.FunctionNode parsed
      StackMap locals:
      StackMap stack:
        23: aload 9 /* argumentNames */
            ifnull 26
        24: .line 126
            aload 14 /* parser */
            aload 9 /* argumentNames */
            invokevirtual com.oracle.js.parser.Parser.parseWithArguments:([Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 15 /* parsed */
        start local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        25: .line 127
            goto 27
        end local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        26: .line 128
      StackMap locals:
      StackMap stack:
            aload 14 /* parser */
            invokevirtual com.oracle.js.parser.Parser.parse:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 15 /* parsed */
        start local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        27: .line 131
      StackMap locals: com.oracle.js.parser.ir.FunctionNode
      StackMap stack:
            aload 13 /* errors */
            invokevirtual com.oracle.js.parser.ErrorManager.hasErrors:()Z
            ifeq 29
        28: .line 132
            aload 1 /* truffleSource */
            aload 13 /* errors */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.throwErrors:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ErrorManager;)V
        29: .line 134
      StackMap locals:
      StackMap stack:
            aload 15 /* parsed */
            areturn
        end local 15 // com.oracle.js.parser.ir.FunctionNode parsed
        end local 14 // com.oracle.js.parser.Parser parser
        end local 13 // com.oracle.js.parser.ErrorManager errors
        end local 12 // com.oracle.js.parser.ScriptEnvironment env
        end local 11 // com.oracle.js.parser.Source source
        end local 10 // java.lang.CharSequence code
        end local 9 // java.lang.String[] argumentNames
        end local 8 // java.lang.String epilogue
        end local 7 // java.lang.String prologue
        end local 6 // com.oracle.js.parser.ir.Scope evalScope
        end local 5 // boolean evalInFunction
        end local 4 // boolean eval
        end local 3 // boolean parseModule
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   30     1   truffleSource  Lcom/oracle/truffle/api/source/Source;
            0   30     2   parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            0   30     3     parseModule  Z
            0   30     4            eval  Z
            0   30     5  evalInFunction  Z
            0   30     6       evalScope  Lcom/oracle/js/parser/ir/Scope;
            0   30     7        prologue  Ljava/lang/String;
            0   30     8        epilogue  Ljava/lang/String;
            0   30     9   argumentNames  [Ljava/lang/String;
            3    4    10            code  Ljava/lang/CharSequence;
            9   30    10            code  Ljava/lang/CharSequence;
            5    9    11             all  Ljava/lang/StringBuilder;
           10   30    11          source  Lcom/oracle/js/parser/Source;
           11   30    12             env  Lcom/oracle/js/parser/ScriptEnvironment;
           13   14    13          errors  Lcom/oracle/js/parser/ErrorManager;
           15   30    13          errors  Lcom/oracle/js/parser/ErrorManager;
           17   30    14          parser  Lcom/oracle/js/parser/Parser;
           19   20    15          parsed  Lcom/oracle/js/parser/ir/FunctionNode;
           22   23    15          parsed  Lcom/oracle/js/parser/ir/FunctionNode;
           25   26    15          parsed  Lcom/oracle/js/parser/ir/FunctionNode;
           27   30    15          parsed  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
                Name  Flags
      context         
      truffleSource   
      parserOptions   
      parseModule     
      eval            
      evalInFunction  
      evalScope       
      prologue        
      epilogue        
      argumentNames   

  public static com.oracle.js.parser.ir.Expression parseExpression(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source truffleSource
        start local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 138
            ldc "do not parse from compiled code"
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
         1: .line 139
            aload 1 /* truffleSource */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            astore 3 /* code */
        start local 3 // java.lang.CharSequence code
         2: .line 140
            aload 1 /* truffleSource */
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            aload 3 /* code */
            iconst_1
            invokestatic com.oracle.js.parser.Source.sourceFor:(Ljava/lang/String;Ljava/lang/CharSequence;Z)Lcom/oracle/js/parser/Source;
            astore 4 /* source */
        start local 4 // com.oracle.js.parser.Source source
         3: .line 142
            aload 2 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.makeScriptEnvironment:(Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ScriptEnvironment;
            astore 5 /* env */
        start local 5 // com.oracle.js.parser.ScriptEnvironment env
         4: .line 143
            new com.oracle.js.parser.ErrorManager$ThrowErrorManager
            dup
            invokespecial com.oracle.js.parser.ErrorManager$ThrowErrorManager.<init>:()V
            astore 6 /* errors */
        start local 6 // com.oracle.js.parser.ErrorManager errors
         5: .line 144
            aload 6 /* errors */
            iconst_0
            invokevirtual com.oracle.js.parser.ErrorManager.setLimit:(I)V
         6: .line 146
            aload 0 /* context */
            aload 5 /* env */
            aload 4 /* source */
            aload 6 /* errors */
            aload 2 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.createParser:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/Parser;
            astore 7 /* parser */
        start local 7 // com.oracle.js.parser.Parser parser
         7: .line 147
            aload 7 /* parser */
            invokevirtual com.oracle.js.parser.Parser.parseExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* expression */
        start local 8 // com.oracle.js.parser.ir.Expression expression
         8: .line 148
            aload 6 /* errors */
            invokevirtual com.oracle.js.parser.ErrorManager.hasErrors:()Z
            ifeq 10
         9: .line 149
            aload 1 /* truffleSource */
            aload 6 /* errors */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.throwErrors:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ErrorManager;)V
        10: .line 152
      StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source com.oracle.truffle.js.runtime.JSParserOptions java.lang.CharSequence com.oracle.js.parser.Source com.oracle.js.parser.ScriptEnvironment com.oracle.js.parser.ErrorManager com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 8 /* expression */
            areturn
        end local 8 // com.oracle.js.parser.ir.Expression expression
        end local 7 // com.oracle.js.parser.Parser parser
        end local 6 // com.oracle.js.parser.ErrorManager errors
        end local 5 // com.oracle.js.parser.ScriptEnvironment env
        end local 4 // com.oracle.js.parser.Source source
        end local 3 // java.lang.CharSequence code
        end local 2 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 1 // com.oracle.truffle.api.source.Source truffleSource
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   11     1  truffleSource  Lcom/oracle/truffle/api/source/Source;
            0   11     2  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            2   11     3           code  Ljava/lang/CharSequence;
            3   11     4         source  Lcom/oracle/js/parser/Source;
            4   11     5            env  Lcom/oracle/js/parser/ScriptEnvironment;
            5   11     6         errors  Lcom/oracle/js/parser/ErrorManager;
            7   11     7         parser  Lcom/oracle/js/parser/Parser;
            8   11     8     expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
               Name  Flags
      context        
      truffleSource  
      parserOptions  

  private static com.oracle.js.parser.Parser createParser(com.oracle.truffle.js.runtime.JSContext, com.oracle.js.parser.ScriptEnvironment, com.oracle.js.parser.Source, com.oracle.js.parser.ErrorManager, com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/Parser;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.js.parser.ScriptEnvironment env
        start local 2 // com.oracle.js.parser.Source source
        start local 3 // com.oracle.js.parser.ErrorManager errors
        start local 4 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 156
            new com.oracle.truffle.js.parser.GraalJSParserHelper$1
            dup
            aload 1 /* env */
            aload 2 /* source */
            aload 3 /* errors */
            aload 0 /* context */
            aload 4 /* parserOptions */
            invokespecial com.oracle.truffle.js.parser.GraalJSParserHelper$1.<init>:(Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSParserOptions;)V
            areturn
        end local 4 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 3 // com.oracle.js.parser.ErrorManager errors
        end local 2 // com.oracle.js.parser.Source source
        end local 1 // com.oracle.js.parser.ScriptEnvironment env
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1            env  Lcom/oracle/js/parser/ScriptEnvironment;
            0    1     2         source  Lcom/oracle/js/parser/Source;
            0    1     3         errors  Lcom/oracle/js/parser/ErrorManager;
            0    1     4  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
    MethodParameters:
               Name  Flags
      context        
      env            
      source         
      errors         
      parserOptions  

  private static com.oracle.js.parser.ScriptEnvironment makeScriptEnvironment(com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ScriptEnvironment;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 180
            invokestatic com.oracle.js.parser.ScriptEnvironment.builder:()Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            astore 1 /* builder */
        start local 1 // com.oracle.js.parser.ScriptEnvironment$Builder builder
         1: .line 181
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isStrict:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.strict:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         2: .line 182
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.getEcmaScriptVersion:()I
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.ecmaScriptVersion:(I)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         3: .line 183
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isEmptyStatements:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.emptyStatements:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         4: .line 184
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isSyntaxExtensions:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.syntaxExtensions:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         5: .line 185
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isScripting:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.scripting:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         6: .line 186
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isShebang:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.shebang:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         7: .line 187
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isConstAsVar:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.constAsVar:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         8: .line 188
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isAllowBigInt:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.allowBigInt:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
         9: .line 189
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isAnnexB:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.annexB:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
        10: .line 190
            aload 1 /* builder */
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isClassFields:()Z
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.classFields:(Z)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
        11: .line 191
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isFunctionStatementError:()Z
            ifeq 14
        12: .line 192
            aload 1 /* builder */
            getstatic com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior.ERROR:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.functionStatementBehavior:(Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
        13: .line 193
            goto 15
        14: .line 194
      StackMap locals: com.oracle.js.parser.ScriptEnvironment$Builder
      StackMap stack:
            aload 1 /* builder */
            getstatic com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior.ACCEPT:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.functionStatementBehavior:(Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
        15: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* parserOptions */
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isDumpOnError:()Z
            ifeq 17
        16: .line 197
            aload 1 /* builder */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.dumpOnError:(Ljava/io/PrintWriter;)Lcom/oracle/js/parser/ScriptEnvironment$Builder;
            pop
        17: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            invokevirtual com.oracle.js.parser.ScriptEnvironment$Builder.build:()Lcom/oracle/js/parser/ScriptEnvironment;
            areturn
        end local 1 // com.oracle.js.parser.ScriptEnvironment$Builder builder
        end local 0 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            1   18     1        builder  Lcom/oracle/js/parser/ScriptEnvironment$Builder;
    MethodParameters:
               Name  Flags
      parserOptions  

  public static void checkFunctionSyntax(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.JSParserOptions, java.lang.String, java.lang.String, boolean, boolean, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSParserOptions;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        start local 2 // java.lang.String parameterList
        start local 3 // java.lang.String body
        start local 4 // boolean generator
        start local 5 // boolean async
        start local 6 // java.lang.String sourceName
         0: .line 203
            ldc "do not parse from compiled code"
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
         1: .line 204
            aload 1 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.makeScriptEnvironment:(Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ScriptEnvironment;
            astore 7 /* env */
        start local 7 // com.oracle.js.parser.ScriptEnvironment env
         2: .line 205
            new com.oracle.js.parser.ErrorManager$ThrowErrorManager
            dup
            invokespecial com.oracle.js.parser.ErrorManager$ThrowErrorManager.<init>:()V
            astore 8 /* errors */
        start local 8 // com.oracle.js.parser.ErrorManager errors
         3: .line 206
            aload 0 /* context */
            aload 7 /* env */
            aload 6 /* sourceName */
            aload 2 /* parameterList */
            invokestatic com.oracle.js.parser.Source.sourceFor:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/Source;
            aload 8 /* errors */
            aload 1 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.createParser:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/Parser;
            astore 9 /* parser */
        start local 9 // com.oracle.js.parser.Parser parser
         4: .line 207
            aload 9 /* parser */
            invokevirtual com.oracle.js.parser.Parser.parseFormalParameterList:()V
         5: .line 208
            aload 0 /* context */
            aload 7 /* env */
            aload 6 /* sourceName */
            aload 3 /* body */
            invokestatic com.oracle.js.parser.Source.sourceFor:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/Source;
            aload 8 /* errors */
            aload 1 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.createParser:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/Parser;
            astore 9 /* parser */
         6: .line 209
            aload 9 /* parser */
            iload 4 /* generator */
            iload 5 /* async */
            invokevirtual com.oracle.js.parser.Parser.parseFunctionBody:(ZZ)Lcom/oracle/js/parser/ir/FunctionNode;
            pop
         7: .line 210
            return
        end local 9 // com.oracle.js.parser.Parser parser
        end local 8 // com.oracle.js.parser.ErrorManager errors
        end local 7 // com.oracle.js.parser.ScriptEnvironment env
        end local 6 // java.lang.String sourceName
        end local 5 // boolean async
        end local 4 // boolean generator
        end local 3 // java.lang.String body
        end local 2 // java.lang.String parameterList
        end local 1 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    8     1  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            0    8     2  parameterList  Ljava/lang/String;
            0    8     3           body  Ljava/lang/String;
            0    8     4      generator  Z
            0    8     5          async  Z
            0    8     6     sourceName  Ljava/lang/String;
            2    8     7            env  Lcom/oracle/js/parser/ScriptEnvironment;
            3    8     8         errors  Lcom/oracle/js/parser/ErrorManager;
            4    8     9         parser  Lcom/oracle/js/parser/Parser;
    MethodParameters:
               Name  Flags
      context        
      parserOptions  
      parameterList  
      body           
      generator      
      async          
      sourceName     

  private static void throwErrors(com.oracle.truffle.api.source.Source, com.oracle.js.parser.ErrorManager);
    descriptor: (Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ErrorManager;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.source.Source source
        start local 1 // com.oracle.js.parser.ErrorManager errors
         0: .line 213
            aload 1 /* errors */
            invokevirtual com.oracle.js.parser.ErrorManager.getParserException:()Lcom/oracle/js/parser/ParserException;
            astore 2 /* parserException */
        start local 2 // com.oracle.js.parser.ParserException parserException
         1: .line 214
            aconst_null
            astore 3 /* sourceLocation */
        start local 3 // com.oracle.truffle.api.source.SourceSection sourceLocation
         2: .line 215
            iconst_0
            istore 4 /* isIncompleteSource */
        start local 4 // boolean isIncompleteSource
         3: .line 216
            aload 2 /* parserException */
            ifnull 13
         4: .line 217
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.isIncompleteSource:()Z
            istore 4 /* isIncompleteSource */
         5: .line 218
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getPosition:()I
            iflt 10
         6: .line 220
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getToken:()J
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
            iconst_0
            goto 8
      StackMap locals: com.oracle.js.parser.ParserException com.oracle.truffle.api.source.SourceSection int
      StackMap stack:
         7: aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getToken:()J
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* length */
        start local 5 // int length
         9: .line 221
            aload 0 /* source */
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getPosition:()I
            iload 5 /* length */
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* sourceLocation */
        end local 5 // int length
        10: .line 223
      StackMap locals:
      StackMap stack:
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getErrorType:()Lcom/oracle/js/parser/JSErrorType;
            getstatic com.oracle.js.parser.JSErrorType.ReferenceError:Lcom/oracle/js/parser/JSErrorType;
            if_acmpne 12
        11: .line 224
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            aload 3 /* sourceLocation */
            invokestatic com.oracle.truffle.js.runtime.Errors.createReferenceError:(Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        12: .line 226
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSParserHelper.$assertionsDisabled:Z
            ifne 13
            aload 2 /* parserException */
            invokevirtual com.oracle.js.parser.ParserException.getErrorType:()Lcom/oracle/js/parser/JSErrorType;
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* errors */
            checkcast com.oracle.js.parser.ErrorManager$StringBuilderErrorManager
            invokevirtual com.oracle.js.parser.ErrorManager$StringBuilderErrorManager.getOutput:()Ljava/lang/String;
            aload 3 /* sourceLocation */
            iload 4 /* isIncompleteSource */
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;Z)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 4 // boolean isIncompleteSource
        end local 3 // com.oracle.truffle.api.source.SourceSection sourceLocation
        end local 2 // com.oracle.js.parser.ParserException parserException
        end local 1 // com.oracle.js.parser.ErrorManager errors
        end local 0 // com.oracle.truffle.api.source.Source source
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0              source  Lcom/oracle/truffle/api/source/Source;
            0   14     1              errors  Lcom/oracle/js/parser/ErrorManager;
            1   14     2     parserException  Lcom/oracle/js/parser/ParserException;
            2   14     3      sourceLocation  Lcom/oracle/truffle/api/source/SourceSection;
            3   14     4  isIncompleteSource  Z
            9   10     5              length  I
    MethodParameters:
        Name  Flags
      source  
      errors  

  public static java.lang.String parseToJSON(java.lang.String, java.lang.String, boolean, com.oracle.truffle.js.runtime.JSParserOptions);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLcom/oracle/truffle/js/runtime/JSParserOptions;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.lang.String code
        start local 1 // java.lang.String name
        start local 2 // boolean includeLoc
        start local 3 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
         0: .line 233
            ldc "do not parse from compiled code"
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
         1: .line 234
            aload 3 /* parserOptions */
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.makeScriptEnvironment:(Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ScriptEnvironment;
            astore 4 /* env */
        start local 4 // com.oracle.js.parser.ScriptEnvironment env
         2: .line 236
            aload 4 /* env */
            aload 0 /* code */
            aload 1 /* name */
            iload 2 /* includeLoc */
            invokestatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.parse:(Lcom/oracle/js/parser/ScriptEnvironment;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
         3: areturn
         4: .line 237
      StackMap locals: java.lang.String java.lang.String int com.oracle.truffle.js.runtime.JSParserOptions com.oracle.js.parser.ScriptEnvironment
      StackMap stack: com.oracle.js.parser.ParserException
            astore 5 /* e */
        start local 5 // com.oracle.js.parser.ParserException e
         5: .line 238
            aload 5 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // com.oracle.js.parser.ParserException e
        end local 4 // com.oracle.js.parser.ScriptEnvironment env
        end local 3 // com.oracle.truffle.js.runtime.JSParserOptions parserOptions
        end local 2 // boolean includeLoc
        end local 1 // java.lang.String name
        end local 0 // java.lang.String code
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           code  Ljava/lang/String;
            0    6     1           name  Ljava/lang/String;
            0    6     2     includeLoc  Z
            0    6     3  parserOptions  Lcom/oracle/truffle/js/runtime/JSParserOptions;
            2    6     4            env  Lcom/oracle/js/parser/ScriptEnvironment;
            5    6     5              e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.js.parser.ParserException
    MethodParameters:
               Name  Flags
      code           
      name           
      includeLoc     
      parserOptions  
}
SourceFile: "GraalJSParserHelper.java"
NestMembers:
  com.oracle.truffle.js.parser.GraalJSParserHelper$1
InnerClasses:
  public StringBuilderErrorManager = com.oracle.js.parser.ErrorManager$StringBuilderErrorManager of com.oracle.js.parser.ErrorManager
  public ThrowErrorManager = com.oracle.js.parser.ErrorManager$ThrowErrorManager of com.oracle.js.parser.ErrorManager
  public final Builder = com.oracle.js.parser.ScriptEnvironment$Builder of com.oracle.js.parser.ScriptEnvironment
  public final FunctionStatementBehavior = com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior of com.oracle.js.parser.ScriptEnvironment
  com.oracle.truffle.js.parser.GraalJSParserHelper$1