public class com.oracle.js.parser.Parser extends com.oracle.js.parser.AbstractParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.js.parser.Parser
  super_class: com.oracle.js.parser.AbstractParser
{
  private static final java.lang.String ARGUMENTS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "arguments"

  private static final java.lang.String EVAL_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "eval"

  private static final java.lang.String CONSTRUCTOR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "constructor"

  private static final java.lang.String PRIVATE_CONSTRUCTOR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "#constructor"

  private static final java.lang.String PROTO_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__proto__"

  private static final java.lang.String NEW_TARGET_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "new.target"

  private static final java.lang.String IMPORT_META_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "import.meta"

  private static final java.lang.String PROTOTYPE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "prototype"

  private static final java.lang.String APPLY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "apply"

  private static final java.lang.String EXEC_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "$EXEC"

  private static final java.lang.String ANONYMOUS_FUNCTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":anonymous"

  private static final java.lang.String PROGRAM_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":program"

  private static final java.lang.String ERROR_BINDING_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":error"

  private static final java.lang.String SWITCH_BINDING_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":switch"

  private static final java.lang.String ARROW_FUNCTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":=>"

  private static final java.lang.String INITIALIZER_FUNCTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":initializer"

  private static final java.lang.String FUNCTION_PARAMETER_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function parameter"

  private static final java.lang.String CATCH_PARAMETER_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "catch parameter"

  private static final java.lang.String IMPORTED_BINDING_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "imported binding"

  private static final java.lang.String CLASS_NAME_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "class name"

  private static final java.lang.String VARIABLE_NAME_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "variable name"

  private static final java.lang.String ASSIGNMENT_TARGET_CONTEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "assignment target"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static final java.lang.String MESSAGE_INVALID_LVALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "invalid.lvalue"

  private static final java.lang.String MESSAGE_EXPECTED_STMT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "expected.stmt"

  private static final java.lang.String MESSAGE_ESCAPED_KEYWORD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "escaped.keyword"

  private static final java.lang.String MESSAGE_INVALID_PROPERTY_INITIALIZER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "invalid.property.initializer"

  private static final java.lang.String MESSAGE_INVALID_ARROW_PARAMETER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "invalid.arrow.parameter"

  private static final java.lang.String MESSAGE_EXPECTED_OPERAND;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "expected.operand"

  private static final java.lang.String MESSAGE_PROPERTY_REDEFINITON;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "property.redefinition"

  private final com.oracle.js.parser.ScriptEnvironment env;
    descriptor: Lcom/oracle/js/parser/ScriptEnvironment;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private java.util.List<com.oracle.js.parser.ir.Statement> functionDeclarations;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;

  private final com.oracle.js.parser.ParserContext lc;
    descriptor: Lcom/oracle/js/parser/ParserContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.lang.Object> defaultNames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private final com.oracle.js.parser.Namespace namespace;
    descriptor: Lcom/oracle/js/parser/Namespace;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final com.oracle.js.parser.Lexer$LineInfoReceiver lineInfoReceiver;
    descriptor: Lcom/oracle/js/parser/Lexer$LineInfoReceiver;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private com.oracle.js.parser.RecompilableScriptFunctionData reparsedFunction;
    descriptor: Lcom/oracle/js/parser/RecompilableScriptFunctionData;
    flags: (0x0002) ACC_PRIVATE

  private boolean isModule;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static final boolean PROFILE_PARSING;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean PROFILE_PARSING_PRINT;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 178
            ldc Lcom/oracle/js/parser/Parser;
            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.js.parser.Parser.$assertionsDisabled:Z
         3: .line 214
            ldc "parser.for.of"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_FOR_OF:Z
         4: .line 215
            ldc "parser.class"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_CLASS:Z
         5: .line 216
            ldc "parser.arrow.function"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_ARROW_FUNCTION:Z
         6: .line 217
            ldc "parser.rest.parameter"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_REST_PARAMETER:Z
         7: .line 218
            ldc "parser.spread.argument"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_SPREAD_ARGUMENT:Z
         8: .line 219
            ldc "parser.generator.function"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_GENERATOR_FUNCTION:Z
         9: .line 220
            ldc "parser.destructuring"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_DESTRUCTURING:Z
        10: .line 221
            ldc "parser.spread.array"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_SPREAD_ARRAY:Z
        11: .line 222
            ldc "parser.computed.property.name"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_COMPUTED_PROPERTY_NAME:Z
        12: .line 223
            ldc "parser.default.parameter"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_DEFAULT_PARAMETER:Z
        13: .line 224
            ldc "parser.new.target"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES6_NEW_TARGET:Z
        14: .line 226
            ldc "parser.trailing.comma"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES8_TRAILING_COMMA:Z
        15: .line 227
            ldc "parser.async.function"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES8_ASYNC_FUNCTION:Z
        16: .line 228
            ldc "parser.rest.spread.property"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES8_REST_SPREAD_PROPERTY:Z
        17: .line 229
            ldc "parser.for.await.of"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES8_FOR_AWAIT_OF:Z
        18: .line 230
            ldc "parser.optional.catch.binding"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES2019_OPTIONAL_CATCH_BINDING:Z
        19: .line 231
            ldc "parser.class.fields"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES2020_CLASS_FIELDS:Z
        20: .line 232
            ldc "parser.top.level.await"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.ES2021_TOP_LEVEL_AWAIT:Z
        21: .line 276
            ldc "parser.profiling"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.PROFILE_PARSING:Z
        22: .line 277
            ldc "parser.profiling.print"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.js.parser.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            putstatic com.oracle.js.parser.Parser.PROFILE_PARSING_PRINT:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.js.parser.ScriptEnvironment, com.oracle.js.parser.Source, com.oracle.js.parser.ErrorManager);
    descriptor: (Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        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
         0: .line 287
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* source */
            aload 3 /* errors */
            aload 1 /* env */
            getfield com.oracle.js.parser.ScriptEnvironment.strict:Z
            invokespecial com.oracle.js.parser.Parser.<init>:(Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Z)V
         1: .line 288
            return
        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.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/js/parser/Parser;
            0    2     1     env  Lcom/oracle/js/parser/ScriptEnvironment;
            0    2     2  source  Lcom/oracle/js/parser/Source;
            0    2     3  errors  Lcom/oracle/js/parser/ErrorManager;
    MethodParameters:
        Name  Flags
      env     final
      source  final
      errors  final

  public void <init>(com.oracle.js.parser.ScriptEnvironment, com.oracle.js.parser.Source, com.oracle.js.parser.ErrorManager, boolean);
    descriptor: (Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        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 // boolean strict
         0: .line 299
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* source */
            aload 3 /* errors */
            iload 4 /* strict */
            iconst_0
            invokespecial com.oracle.js.parser.Parser.<init>:(Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;ZI)V
         1: .line 300
            return
        end local 4 // boolean strict
        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.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/js/parser/Parser;
            0    2     1     env  Lcom/oracle/js/parser/ScriptEnvironment;
            0    2     2  source  Lcom/oracle/js/parser/Source;
            0    2     3  errors  Lcom/oracle/js/parser/ErrorManager;
            0    2     4  strict  Z
    MethodParameters:
        Name  Flags
      env     final
      source  final
      errors  final
      strict  final

  public void <init>(com.oracle.js.parser.ScriptEnvironment, com.oracle.js.parser.Source, com.oracle.js.parser.ErrorManager, boolean, int);
    descriptor: (Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        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 // boolean strict
        start local 5 // int lineOffset
         0: .line 312
            aload 0 /* this */
            aload 2 /* source */
            aload 3 /* errors */
            iload 4 /* strict */
            iload 5 /* lineOffset */
            invokespecial com.oracle.js.parser.AbstractParser.<init>:(Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;ZI)V
         1: .line 313
            aload 0 /* this */
            new com.oracle.js.parser.ParserContext
            dup
            invokespecial com.oracle.js.parser.ParserContext.<init>:()V
            putfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
         2: .line 314
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
         3: .line 315
            aload 0 /* this */
            aload 1 /* env */
            putfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
         4: .line 316
            aload 0 /* this */
            new com.oracle.js.parser.Namespace
            dup
            aload 1 /* env */
            invokevirtual com.oracle.js.parser.ScriptEnvironment.getNamespace:()Lcom/oracle/js/parser/Namespace;
            invokespecial com.oracle.js.parser.Namespace.<init>:(Lcom/oracle/js/parser/Namespace;)V
            putfield com.oracle.js.parser.Parser.namespace:Lcom/oracle/js/parser/Namespace;
         5: .line 317
            aload 0 /* this */
            aload 1 /* env */
            getfield com.oracle.js.parser.ScriptEnvironment.scripting:Z
            ifeq 6
            aload 1 /* env */
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ScriptEnvironment com.oracle.js.parser.Source com.oracle.js.parser.ErrorManager int int
      StackMap stack: com.oracle.js.parser.Parser
         6: iconst_0
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ScriptEnvironment com.oracle.js.parser.Source com.oracle.js.parser.ErrorManager int int
      StackMap stack: com.oracle.js.parser.Parser int
         7: putfield com.oracle.js.parser.Parser.scripting:Z
         8: .line 318
            aload 0 /* this */
            aload 1 /* env */
            getfield com.oracle.js.parser.ScriptEnvironment.shebang:Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            ifne 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: com.oracle.js.parser.Parser
         9: iconst_1
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ScriptEnvironment com.oracle.js.parser.Source com.oracle.js.parser.ErrorManager int int
      StackMap stack: com.oracle.js.parser.Parser int
        10: putfield com.oracle.js.parser.Parser.shebang:Z
        11: .line 319
            aload 0 /* this */
            aload 1 /* env */
            getfield com.oracle.js.parser.ScriptEnvironment.allowBigInt:Z
            putfield com.oracle.js.parser.Parser.allowBigInt:Z
        12: .line 320
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            ifeq 15
        13: .line 321
            aload 0 /* this */
            new com.oracle.js.parser.Parser$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.js.parser.Parser$1.<init>:(Lcom/oracle/js/parser/Parser;)V
            putfield com.oracle.js.parser.Parser.lineInfoReceiver:Lcom/oracle/js/parser/Lexer$LineInfoReceiver;
        14: .line 329
            goto 16
        15: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.lineInfoReceiver:Lcom/oracle/js/parser/Lexer$LineInfoReceiver;
        16: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int lineOffset
        end local 4 // boolean strict
        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.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/oracle/js/parser/Parser;
            0   17     1         env  Lcom/oracle/js/parser/ScriptEnvironment;
            0   17     2      source  Lcom/oracle/js/parser/Source;
            0   17     3      errors  Lcom/oracle/js/parser/ErrorManager;
            0   17     4      strict  Z
            0   17     5  lineOffset  I
    MethodParameters:
            Name  Flags
      env         final
      source      final
      errors      final
      strict      final
      lineOffset  final

  public com.oracle.js.parser.ir.FunctionNode parse();
    descriptor: ()Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 344
            aload 0 /* this */
            ldc ":program"
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            iconst_0
            aconst_null
            aconst_null
            invokevirtual com.oracle.js.parser.Parser.parse:(Ljava/lang/String;IIILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  public void setReparsedFunction(com.oracle.js.parser.RecompilableScriptFunctionData);
    descriptor: (Lcom/oracle/js/parser/RecompilableScriptFunctionData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.RecompilableScriptFunctionData reparsedFunction
         0: .line 356
            aload 0 /* this */
            aload 1 /* reparsedFunction */
            putfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
         1: .line 357
            return
        end local 1 // com.oracle.js.parser.RecompilableScriptFunctionData reparsedFunction
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/oracle/js/parser/Parser;
            0    2     1  reparsedFunction  Lcom/oracle/js/parser/RecompilableScriptFunctionData;
    MethodParameters:
                  Name  Flags
      reparsedFunction  final

  private void scanFirstToken();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 363
            aload 0 /* this */
            iconst_m1
            putfield com.oracle.js.parser.Parser.k:I
         1: .line 364
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 365
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/Parser;

  private void prepareLexer(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int startPos
        start local 2 // int len
         0: .line 374
            aload 0 /* this */
            new com.oracle.js.parser.TokenStream
            dup
            invokespecial com.oracle.js.parser.TokenStream.<init>:()V
            putfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
         1: .line 375
            aload 0 /* this */
         2: new com.oracle.js.parser.Lexer
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            iload 1 /* startPos */
            iload 2 /* len */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.shebang:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: com.oracle.js.parser.Parser int int
      StackMap stack: com.oracle.js.parser.Parser new 2 new 2 com.oracle.js.parser.Source int int com.oracle.js.parser.TokenStream int int int int
         3: iconst_0
      StackMap locals: com.oracle.js.parser.Parser int int
      StackMap stack: com.oracle.js.parser.Parser new 2 new 2 com.oracle.js.parser.Source int int com.oracle.js.parser.TokenStream int int int int int
         4: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.allowBigInt:Z
            invokespecial com.oracle.js.parser.Lexer.<init>:(Lcom/oracle/js/parser/Source;IILcom/oracle/js/parser/TokenStream;ZIZZZZ)V
            putfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
         5: .line 376
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lineOffset:I
            iconst_1
            iadd
            dup_x1
            putfield com.oracle.js.parser.Lexer.pendingLine:I
            putfield com.oracle.js.parser.Lexer.line:I
         6: .line 377
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lineOffset:I
            putfield com.oracle.js.parser.Parser.line:I
         7: .line 378
            return
        end local 2 // int len
        end local 1 // int startPos
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/js/parser/Parser;
            0    8     1  startPos  I
            0    8     2       len  I
    MethodParameters:
          Name  Flags
      startPos  final
      len       final

  private com.oracle.js.parser.TokenType lookahead();
    descriptor: ()Lcom/oracle/js/parser/TokenType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 384
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         1: .line 385
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 1 /* i */
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         2: .line 386
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 5
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
         3: .line 387
            goto 5
         4: .line 389
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 2 /* t */
            areturn
        end local 2 // com.oracle.js.parser.TokenType t
         5: .line 384
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
            goto 1
        end local 1 // int i
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/js/parser/Parser;
            1    6     1     i  I
            2    5     2     t  Lcom/oracle/js/parser/TokenType;

  public com.oracle.js.parser.ir.FunctionNode parse(java.lang.String, int, int, int, com.oracle.js.parser.ir.Scope, java.lang.String[]);
    descriptor: (Ljava/lang/String;IIILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=7
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String scriptName
        start local 2 // int startPos
        start local 3 // int len
        start local 4 // int reparseFlags
        start local 5 // com.oracle.js.parser.ir.Scope parentScope
        start local 6 // java.lang.String[] argumentNames
         0: .line 412
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING:Z
            ifeq 1
            invokestatic java.lang.System.nanoTime:()J
            goto 2
      StackMap locals:
      StackMap stack:
         1: lconst_0
      StackMap locals:
      StackMap stack: long
         2: lstore 7 /* startTime */
        start local 7 // long startTime
         3: .line 414
            aload 0 /* this */
            iload 2 /* startPos */
            iload 3 /* len */
            invokevirtual com.oracle.js.parser.Parser.prepareLexer:(II)V
         4: .line 416
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
         5: .line 418
            aload 0 /* this */
            aload 1 /* scriptName */
            iload 4 /* reparseFlags */
            aload 5 /* parentScope */
            aload 6 /* argumentNames */
            invokevirtual com.oracle.js.parser.Parser.program:(Ljava/lang/String;ILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 11
         6: .line 424
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING:Z
            ifeq 10
         7: .line 425
            invokestatic java.lang.System.nanoTime:()J
            lload 7 /* startTime */
            lsub
            lstore 12 /* duration */
        start local 12 // long duration
         8: .line 426
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING_PRINT:Z
            ifeq 10
         9: .line 427
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Parsing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 12 /* duration */
            ldc 1000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // long duration
        10: .line 418
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int int int com.oracle.js.parser.ir.Scope java.lang.String[] long top top com.oracle.js.parser.ir.FunctionNode
      StackMap stack:
            aload 11
            areturn
        11: .line 419
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int int int com.oracle.js.parser.ir.Scope java.lang.String[] long
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        12: .line 420
            aload 0 /* this */
            aload 9 /* e */
            invokevirtual com.oracle.js.parser.Parser.handleParseException:(Ljava/lang/Exception;)V
        13: .line 424
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING:Z
            ifeq 17
        14: .line 425
            invokestatic java.lang.System.nanoTime:()J
            lload 7 /* startTime */
            lsub
            lstore 12 /* duration */
        start local 12 // long duration
        15: .line 426
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING_PRINT:Z
            ifeq 17
        16: .line 427
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Parsing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 12 /* duration */
            ldc 1000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // long duration
        17: .line 422
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.Exception e
        18: .line 423
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int int int com.oracle.js.parser.ir.Scope java.lang.String[] long
      StackMap stack: java.lang.Throwable
            astore 10
        19: .line 424
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING:Z
            ifeq 23
        20: .line 425
            invokestatic java.lang.System.nanoTime:()J
            lload 7 /* startTime */
            lsub
            lstore 12 /* duration */
        start local 12 // long duration
        21: .line 426
            getstatic com.oracle.js.parser.Parser.PROFILE_PARSING_PRINT:Z
            ifeq 23
        22: .line 427
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Parsing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 12 /* duration */
            ldc 1000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // long duration
        23: .line 430
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int int int com.oracle.js.parser.ir.Scope java.lang.String[] long top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        end local 7 // long startTime
        end local 6 // java.lang.String[] argumentNames
        end local 5 // com.oracle.js.parser.ir.Scope parentScope
        end local 4 // int reparseFlags
        end local 3 // int len
        end local 2 // int startPos
        end local 1 // java.lang.String scriptName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lcom/oracle/js/parser/Parser;
            0   24     1     scriptName  Ljava/lang/String;
            0   24     2       startPos  I
            0   24     3            len  I
            0   24     4   reparseFlags  I
            0   24     5    parentScope  Lcom/oracle/js/parser/ir/Scope;
            0   24     6  argumentNames  [Ljava/lang/String;
            3   24     7      startTime  J
           12   18     9              e  Ljava/lang/Exception;
            8   10    12       duration  J
           15   17    12       duration  J
           21   23    12       duration  J
      Exception table:
        from    to  target  type
           3     6      11  Class java.lang.Exception
           3     6      18  any
          11    13      18  any
    MethodParameters:
               Name  Flags
      scriptName     final
      startPos       final
      len            final
      reparseFlags   final
      parentScope    
      argumentNames  

  public com.oracle.js.parser.ir.FunctionNode parseModule(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String moduleName
        start local 2 // int startPos
        start local 3 // int len
         0: .line 444
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            istore 4 /* oldModule */
        start local 4 // boolean oldModule
         1: .line 445
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            istore 5 /* oldStrictMode */
        start local 5 // boolean oldStrictMode
         2: .line 447
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.Parser.isModule:Z
         3: .line 448
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
         4: .line 449
            aload 0 /* this */
            iload 2 /* startPos */
            iload 3 /* len */
            invokevirtual com.oracle.js.parser.Parser.prepareLexer:(II)V
         5: .line 451
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
         6: .line 453
            aload 0 /* this */
            aload 1 /* moduleName */
            invokevirtual com.oracle.js.parser.Parser.module:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 8
         7: .line 459
            aload 0 /* this */
            iload 5 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
         8: .line 460
            aload 0 /* this */
            iload 4 /* oldModule */
            putfield com.oracle.js.parser.Parser.isModule:Z
         9: .line 453
            aload 8
            areturn
        10: .line 454
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int int int int
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        11: .line 455
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual com.oracle.js.parser.Parser.handleParseException:(Ljava/lang/Exception;)V
        12: .line 459
            aload 0 /* this */
            iload 5 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        13: .line 460
            aload 0 /* this */
            iload 4 /* oldModule */
            putfield com.oracle.js.parser.Parser.isModule:Z
        14: .line 457
            aconst_null
            areturn
        end local 6 // java.lang.Exception e
        15: .line 458
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        16: .line 459
            aload 0 /* this */
            iload 5 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        17: .line 460
            aload 0 /* this */
            iload 4 /* oldModule */
            putfield com.oracle.js.parser.Parser.isModule:Z
        18: .line 461
            aload 7
            athrow
        end local 5 // boolean oldStrictMode
        end local 4 // boolean oldModule
        end local 3 // int len
        end local 2 // int startPos
        end local 1 // java.lang.String moduleName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/oracle/js/parser/Parser;
            0   19     1     moduleName  Ljava/lang/String;
            0   19     2       startPos  I
            0   19     3            len  I
            1   19     4      oldModule  Z
            2   19     5  oldStrictMode  Z
           11   15     6              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     7      10  Class java.lang.Exception
           2     7      15  any
          10    12      15  any
    MethodParameters:
            Name  Flags
      moduleName  final
      startPos    final
      len         final

  public com.oracle.js.parser.ir.FunctionNode parseModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String moduleName
         0: .line 465
            aload 0 /* this */
            aload 1 /* moduleName */
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            invokevirtual com.oracle.js.parser.Parser.parseModule:(Ljava/lang/String;II)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 1 // java.lang.String moduleName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/js/parser/Parser;
            0    1     1  moduleName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      moduleName  final

  public com.oracle.js.parser.ir.FunctionNode parseEval(boolean, com.oracle.js.parser.ir.Scope);
    descriptor: (ZLcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean functionContext
        start local 2 // com.oracle.js.parser.ir.Scope parentScope
         0: .line 474
            aload 0 /* this */
            ldc ":program"
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            iconst_4
            iload 1 /* functionContext */
            ifeq 1
            bipush 8
            goto 2
      StackMap locals: com.oracle.js.parser.Parser int com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.Parser java.lang.String int int int
         1: iconst_0
      StackMap locals: com.oracle.js.parser.Parser int com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.Parser java.lang.String int int int int
         2: ior
            aload 2 /* parentScope */
            aconst_null
            invokevirtual com.oracle.js.parser.Parser.parse:(Ljava/lang/String;IIILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 2 // com.oracle.js.parser.ir.Scope parentScope
        end local 1 // boolean functionContext
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/oracle/js/parser/Parser;
            0    3     1  functionContext  Z
            0    3     2      parentScope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
                 Name  Flags
      functionContext  
      parentScope      

  public com.oracle.js.parser.ir.FunctionNode parseWithArguments(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String[] argumentNames
         0: .line 483
            aload 0 /* this */
            ldc ":program"
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            iconst_0
            aconst_null
            aload 1 /* argumentNames */
            invokevirtual com.oracle.js.parser.Parser.parse:(Ljava/lang/String;IIILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 1 // java.lang.String[] argumentNames
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/js/parser/Parser;
            0    1     1  argumentNames  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      argumentNames  

  public void parseFormalParameterList();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 494
            aload 0 /* this */
            new com.oracle.js.parser.TokenStream
            dup
            invokespecial com.oracle.js.parser.TokenStream.<init>:()V
            putfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
         1: .line 495
            aload 0 /* this */
            new com.oracle.js.parser.Lexer
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.shebang:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.allowBigInt:Z
            invokespecial com.oracle.js.parser.Lexer.<init>:(Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/TokenStream;ZIZZZ)V
            putfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
         2: .line 497
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
         3: .line 499
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.formalParameterList:(Lcom/oracle/js/parser/TokenType;ZZ)V
         4: .line 500
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 1 /* e */
        start local 1 // java.lang.Exception e
         6: .line 501
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.oracle.js.parser.Parser.handleParseException:(Ljava/lang/Exception;)V
        end local 1 // java.lang.Exception e
         7: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/js/parser/Parser;
            6    7     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception

  public com.oracle.js.parser.ir.FunctionNode parseFunctionBody(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=12, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean generator
        start local 2 // boolean async
         0: .line 514
            aload 0 /* this */
            new com.oracle.js.parser.TokenStream
            dup
            invokespecial com.oracle.js.parser.TokenStream.<init>:()V
            putfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
         1: .line 515
            aload 0 /* this */
            new com.oracle.js.parser.Lexer
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.shebang:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.allowBigInt:Z
            invokespecial com.oracle.js.parser.Lexer.<init>:(Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/TokenStream;ZIZZZ)V
            putfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
         2: .line 516
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* functionLine */
        start local 3 // int functionLine
         3: .line 518
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
         4: .line 521
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            invokestatic com.oracle.js.parser.Token.toDesc:(Lcom/oracle/js/parser/TokenType;II)J
            lstore 4 /* functionToken */
        start local 4 // long functionToken
         5: .line 524
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 4 /* functionToken */
            lload 4 /* functionToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            ldc ":program"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            astore 6 /* ident */
        start local 6 // com.oracle.js.parser.ir.IdentNode ident
         6: .line 525
            iload 1 /* generator */
            ifeq 7
            ldc 16777216
            goto 8
      StackMap locals: int long com.oracle.js.parser.ir.IdentNode
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: iload 2 /* async */
            ifeq 9
            ldc 33554432
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_0
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
        10: ior
            istore 7 /* functionFlags */
        start local 7 // int functionFlags
        11: .line 526
            aload 0 /* this */
            aload 6 /* ident */
            lload 4 /* functionToken */
            iload 7 /* functionFlags */
            iload 3 /* functionLine */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 8 /* function */
        start local 8 // com.oracle.js.parser.ParserContextFunctionNode function
        12: .line 527
            aload 8 /* function */
            sipush 8192
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.clearFlag:(I)I
            pop
        13: .line 529
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            ifnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 530
      StackMap locals: int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        15: .line 531
            aload 0 /* this */
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 9 /* body */
        start local 9 // com.oracle.js.parser.ParserContextBlockNode body
        16: .line 532
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        17: .line 534
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.sourceElements:(I)V
        18: .line 535
            aload 0 /* this */
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.Parser.addFunctionDeclarations:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        19: .line 536
            goto 25
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        20: astore 10
        21: .line 537
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        22: .line 538
            aload 0 /* this */
            aload 9 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        23: .line 539
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        24: .line 540
            aload 10
            athrow
        25: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        26: .line 538
            aload 0 /* this */
            aload 9 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        27: .line 539
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        28: .line 541
            aload 9 /* body */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setFlag:(I)I
            pop
        29: .line 542
            new com.oracle.js.parser.ir.Block
            dup
            lload 4 /* functionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 9 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            bipush 32
            ior
            aload 9 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 9 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            astore 10 /* functionBody */
        start local 10 // com.oracle.js.parser.ir.Block functionBody
        30: .line 544
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        31: .line 546
            aload 0 /* this */
        32: .line 547
            aload 8 /* function */
        33: .line 548
            lload 4 /* functionToken */
        34: .line 549
            aload 6 /* ident */
        35: .line 550
            iload 3 /* functionLine */
        36: .line 551
            aload 10 /* functionBody */
        37: .line 546
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 11 /* functionNode */
        start local 11 // com.oracle.js.parser.ir.FunctionNode functionNode
        38: .line 552
            aload 11 /* functionNode */
        39: areturn
        end local 11 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 10 // com.oracle.js.parser.ir.Block functionBody
        end local 9 // com.oracle.js.parser.ParserContextBlockNode body
        end local 8 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 7 // int functionFlags
        end local 6 // com.oracle.js.parser.ir.IdentNode ident
        end local 4 // long functionToken
        end local 3 // int functionLine
        40: .line 553
      StackMap locals: com.oracle.js.parser.Parser int int
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        41: .line 554
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual com.oracle.js.parser.Parser.handleParseException:(Ljava/lang/Exception;)V
        42: .line 555
            aconst_null
            areturn
        end local 3 // java.lang.Exception e
        end local 2 // boolean async
        end local 1 // boolean generator
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   43     0           this  Lcom/oracle/js/parser/Parser;
            0   43     1      generator  Z
            0   43     2          async  Z
            3   40     3   functionLine  I
            5   40     4  functionToken  J
            6   40     6          ident  Lcom/oracle/js/parser/ir/IdentNode;
           11   40     7  functionFlags  I
           12   40     8       function  Lcom/oracle/js/parser/ParserContextFunctionNode;
           16   40     9           body  Lcom/oracle/js/parser/ParserContextBlockNode;
           30   40    10   functionBody  Lcom/oracle/js/parser/ir/Block;
           38   40    11   functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
           41   43     3              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          17    20      20  any
           0    39      40  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      generator  
      async      

  private void handleParseException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.Exception e
         0: .line 561
            aload 1 /* e */
            instanceof com.oracle.js.parser.ParserException
            ifeq 3
         1: .line 562
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.errors:Lcom/oracle/js/parser/ErrorManager;
            aload 1 /* e */
            checkcast com.oracle.js.parser.ParserException
            invokevirtual com.oracle.js.parser.ErrorManager.error:(Lcom/oracle/js/parser/ParserException;)V
         2: .line 563
            goto 7
         3: .line 566
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         4: .line 569
            aload 2 /* message */
            ifnonnull 6
         5: .line 570
            aload 1 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            astore 2 /* message */
         6: .line 573
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.errors:Lcom/oracle/js/parser/ErrorManager;
            aload 2 /* message */
            invokevirtual com.oracle.js.parser.ErrorManager.error:(Ljava/lang/String;)V
        end local 2 // java.lang.String message
         7: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.dumpOnError:Z
            ifeq 9
         8: .line 577
            aload 1 /* e */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            invokevirtual com.oracle.js.parser.ScriptEnvironment.getErr:()Ljava/io/PrintWriter;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
         9: .line 579
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Exception e
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/oracle/js/parser/Parser;
            0   10     1        e  Ljava/lang/Exception;
            4    7     2  message  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     final

  private void recover(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.Exception e
         0: .line 585
            aload 1 /* e */
            ifnull 10
         1: .line 587
            aload 1 /* e */
            instanceof com.oracle.js.parser.ParserException
            ifeq 4
         2: .line 588
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.errors:Lcom/oracle/js/parser/ErrorManager;
            aload 1 /* e */
            checkcast com.oracle.js.parser.ParserException
            invokevirtual com.oracle.js.parser.ErrorManager.error:(Lcom/oracle/js/parser/ParserException;)V
         3: .line 589
            goto 8
         4: .line 592
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         5: .line 595
            aload 2 /* message */
            ifnonnull 7
         6: .line 596
            aload 1 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            astore 2 /* message */
         7: .line 599
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.errors:Lcom/oracle/js/parser/ErrorManager;
            aload 2 /* message */
            invokevirtual com.oracle.js.parser.ErrorManager.error:(Ljava/lang/String;)V
        end local 2 // java.lang.String message
         8: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.dumpOnError:Z
            ifeq 10
         9: .line 603
            aload 1 /* e */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            invokevirtual com.oracle.js.parser.ScriptEnvironment.getErr:()Ljava/io/PrintWriter;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
        10: .line 609
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                    2: 11
                    3: 12
                   32: 12
                   57: 12
              default: 14
          }
        11: .line 612
      StackMap locals:
      StackMap stack:
            goto 16
        12: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        13: .line 618
            goto 16
        14: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
        15: .line 608
            goto 10
        16: .line 625
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Exception e
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/js/parser/Parser;
            0   17     1        e  Ljava/lang/Exception;
            5    8     2  message  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     final

  private com.oracle.js.parser.ParserContextBlockNode newBlock();
    descriptor: ()Lcom/oracle/js/parser/ParserContextBlockNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 633
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokestatic com.oracle.js.parser.ir.Scope.createBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            astore 1 /* scope */
        start local 1 // com.oracle.js.parser.ir.Scope scope
         1: .line 634
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            areturn
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/Parser;
            1    2     1  scope  Lcom/oracle/js/parser/ir/Scope;

  private com.oracle.js.parser.ParserContextBlockNode newBlock(com.oracle.js.parser.ir.Scope);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Scope scope
         0: .line 643
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            new com.oracle.js.parser.ParserContextBlockNode
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            aload 1 /* scope */
            invokespecial com.oracle.js.parser.ParserContextBlockNode.<init>:(JLcom/oracle/js/parser/ir/Scope;)V
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            checkcast com.oracle.js.parser.ParserContextBlockNode
            areturn
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1  scope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
       Name  Flags
      scope  

  private com.oracle.js.parser.ParserContextFunctionNode createParserContextFunctionNode(com.oracle.js.parser.ir.IdentNode, long, int, int);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;JII)Lcom/oracle/js/parser/ParserContextFunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // long functionToken
        start local 4 // int functionFlags
        start local 5 // int functionLine
         0: .line 647
            aload 0 /* this */
            aload 1 /* ident */
            lload 2 /* functionToken */
            iload 4 /* functionFlags */
            iload 5 /* functionLine */
            aconst_null
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
            areturn
        end local 5 // int functionLine
        end local 4 // int functionFlags
        end local 2 // long functionToken
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/js/parser/Parser;
            0    1     1          ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    1     2  functionToken  J
            0    1     4  functionFlags  I
            0    1     5   functionLine  I
    MethodParameters:
               Name  Flags
      ident          final
      functionToken  final
      functionFlags  final
      functionLine   final

  private com.oracle.js.parser.ParserContextFunctionNode createParserContextFunctionNode(com.oracle.js.parser.ir.IdentNode, long, int, int, java.util.List<com.oracle.js.parser.ir.IdentNode>, int);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // long functionToken
        start local 4 // int functionFlags
        start local 5 // int functionLine
        start local 6 // java.util.List parameters
        start local 7 // int functionLength
         0: .line 652
            aload 0 /* this */
            aload 1 /* ident */
            lload 2 /* functionToken */
            iload 4 /* functionFlags */
            iload 5 /* functionLine */
            aload 6 /* parameters */
            iload 7 /* functionLength */
            aconst_null
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextFunctionNode;
            areturn
        end local 7 // int functionLength
        end local 6 // java.util.List parameters
        end local 5 // int functionLine
        end local 4 // int functionFlags
        end local 2 // long functionToken
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/js/parser/Parser;
            0    1     1           ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    1     2   functionToken  J
            0    1     4   functionFlags  I
            0    1     5    functionLine  I
            0    1     6      parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            0    1     7  functionLength  I
    Signature: (Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
    MethodParameters:
                Name  Flags
      ident           final
      functionToken   final
      functionFlags   final
      functionLine    final
      parameters      final
      functionLength  

  private com.oracle.js.parser.ParserContextFunctionNode createParserContextFunctionNode(com.oracle.js.parser.ir.IdentNode, long, int, int, java.util.List<com.oracle.js.parser.ir.IdentNode>, int, com.oracle.js.parser.ir.Scope);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextFunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=13, args_size=8
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // long functionToken
        start local 4 // int functionFlags
        start local 5 // int functionLine
        start local 6 // java.util.List parameters
        start local 7 // int functionLength
        start local 8 // com.oracle.js.parser.ir.Scope functionTopScope
         0: .line 657
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 9 /* parentFunction */
        start local 9 // com.oracle.js.parser.ParserContextFunctionNode parentFunction
         1: .line 659
            aload 1 /* ident */
            ifnonnull 2
            ldc ""
            goto 3
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
         2: aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 10 /* name */
        start local 10 // java.lang.String name
         4: .line 661
            iload 4 /* functionFlags */
            istore 11 /* flags */
        start local 11 // int flags
         5: .line 662
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 7
         6: .line 663
            iload 11 /* flags */
            iconst_4
            ior
            istore 11 /* flags */
         7: .line 665
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 9 /* parentFunction */
            ifnonnull 10
         8: .line 666
            iload 11 /* flags */
            sipush 8192
            ior
            istore 11 /* flags */
         9: .line 667
            iload 11 /* flags */
            iconst_1
            ior
            istore 11 /* flags */
        10: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 12 /* parentScope */
        start local 12 // com.oracle.js.parser.ir.Scope parentScope
        11: .line 671
            new com.oracle.js.parser.ParserContextFunctionNode
            dup
            lload 2 /* functionToken */
            aload 1 /* ident */
            aload 10 /* name */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.namespace:Lcom/oracle/js/parser/Namespace;
            iload 5 /* functionLine */
            iload 11 /* flags */
            aload 6 /* parameters */
            iload 7 /* functionLength */
            aload 12 /* parentScope */
            aload 8 /* functionTopScope */
            invokespecial com.oracle.js.parser.ParserContextFunctionNode.<init>:(JLcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;Lcom/oracle/js/parser/Namespace;IILjava/util/List;ILcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/Scope;)V
            areturn
        end local 12 // com.oracle.js.parser.ir.Scope parentScope
        end local 11 // int flags
        end local 10 // java.lang.String name
        end local 9 // com.oracle.js.parser.ParserContextFunctionNode parentFunction
        end local 8 // com.oracle.js.parser.ir.Scope functionTopScope
        end local 7 // int functionLength
        end local 6 // java.util.List parameters
        end local 5 // int functionLine
        end local 4 // int functionFlags
        end local 2 // long functionToken
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lcom/oracle/js/parser/Parser;
            0   12     1             ident  Lcom/oracle/js/parser/ir/IdentNode;
            0   12     2     functionToken  J
            0   12     4     functionFlags  I
            0   12     5      functionLine  I
            0   12     6        parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            0   12     7    functionLength  I
            0   12     8  functionTopScope  Lcom/oracle/js/parser/ir/Scope;
            1   12     9    parentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
            4   12    10              name  Ljava/lang/String;
            5   12    11             flags  I
           11   12    12       parentScope  Lcom/oracle/js/parser/ir/Scope;
    Signature: (Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextFunctionNode;
    MethodParameters:
                  Name  Flags
      ident             final
      functionToken     final
      functionFlags     final
      functionLine      final
      parameters        final
      functionLength    
      functionTopScope  

  private com.oracle.js.parser.ir.FunctionNode createFunctionNode(com.oracle.js.parser.ParserContextFunctionNode, long, com.oracle.js.parser.ir.IdentNode, int, com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=21, locals=12, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode function
        start local 2 // long startToken
        start local 4 // com.oracle.js.parser.ir.IdentNode ident
        start local 5 // int functionLine
        start local 6 // com.oracle.js.parser.ir.Block body
         0: .line 676
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 6 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
            ifne 2
            aload 6 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.isParameterBlock:()Z
            ifeq 1
            aload 6 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getLastStatement:()Lcom/oracle/js/parser/ir/Statement;
            checkcast com.oracle.js.parser.ir.BlockStatement
            invokevirtual com.oracle.js.parser.ir.BlockStatement.getBlock:()Lcom/oracle/js/parser/ir/Block;
            invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 678
      StackMap locals:
      StackMap stack:
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.verifyHoistedVarDeclarations:()Lcom/oracle/js/parser/ir/VarNode;
            astore 7 /* varNode */
        start local 7 // com.oracle.js.parser.ir.VarNode varNode
         3: .line 679
            aload 7 /* varNode */
            ifnull 5
         4: .line 680
            aload 0 /* this */
            ldc "syntax.error.redeclare.variable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 7 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         5: .line 683
      StackMap locals: com.oracle.js.parser.ir.VarNode
      StackMap stack:
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getLastToken:()J
            invokestatic com.oracle.js.parser.Token.withDelimiter:(J)J
            lstore 8 /* lastTokenWithDelimiter */
        start local 8 // long lastTokenWithDelimiter
         6: .line 685
            lload 8 /* lastTokenWithDelimiter */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            lload 8 /* lastTokenWithDelimiter */
            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.Parser com.oracle.js.parser.ParserContextFunctionNode long com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.VarNode long
      StackMap stack: int
         7: lload 8 /* lastTokenWithDelimiter */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.VarNode long
      StackMap stack: int int
         8: iadd
            istore 10 /* lastTokenFinish */
        start local 10 // int lastTokenFinish
         9: .line 687
            new com.oracle.js.parser.ir.FunctionNode
            dup
        10: .line 688
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
        11: .line 689
            iload 5 /* functionLine */
        12: .line 690
            aload 6 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getToken:()J
        13: .line 691
            iload 10 /* lastTokenFinish */
        14: .line 692
            lload 2 /* startToken */
        15: .line 693
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getLastToken:()J
        16: .line 694
            aload 4 /* ident */
        17: .line 695
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getName:()Ljava/lang/String;
        18: .line 696
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getLength:()I
        19: .line 697
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterCount:()I
        20: .line 698
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameters:()Ljava/util/List;
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/List;)Ljava/util/List;
        21: .line 699
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlags:()I
        22: .line 700
            aload 6 /* body */
        23: .line 701
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getEndParserState:()Ljava/lang/Object;
        24: .line 702
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getModule:()Lcom/oracle/js/parser/ir/Module;
        25: .line 703
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getInternalName:()Ljava/lang/String;
        26: .line 687
            invokespecial com.oracle.js.parser.ir.FunctionNode.<init>:(Lcom/oracle/js/parser/Source;IJIJJLcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;IILjava/util/List;ILcom/oracle/js/parser/ir/Block;Ljava/lang/Object;Lcom/oracle/js/parser/ir/Module;Ljava/lang/String;)V
            astore 11 /* functionNode */
        start local 11 // com.oracle.js.parser.ir.FunctionNode functionNode
        27: .line 705
            aload 11 /* functionNode */
            areturn
        end local 11 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 10 // int lastTokenFinish
        end local 8 // long lastTokenWithDelimiter
        end local 7 // com.oracle.js.parser.ir.VarNode varNode
        end local 6 // com.oracle.js.parser.ir.Block body
        end local 5 // int functionLine
        end local 4 // com.oracle.js.parser.ir.IdentNode ident
        end local 2 // long startToken
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   28     0                    this  Lcom/oracle/js/parser/Parser;
            0   28     1                function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   28     2              startToken  J
            0   28     4                   ident  Lcom/oracle/js/parser/ir/IdentNode;
            0   28     5            functionLine  I
            0   28     6                    body  Lcom/oracle/js/parser/ir/Block;
            3   28     7                 varNode  Lcom/oracle/js/parser/ir/VarNode;
            6   28     8  lastTokenWithDelimiter  J
            9   28    10         lastTokenFinish  I
           27   28    11            functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
              Name  Flags
      function      final
      startToken    final
      ident         final
      functionLine  final
      body          final

  private com.oracle.js.parser.ParserContextBlockNode restoreBlock(com.oracle.js.parser.ParserContextBlockNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextBlockNode block
         0: .line 712
            aload 1 /* block */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.close:()V
         1: .line 713
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 1 /* block */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            checkcast com.oracle.js.parser.ParserContextBlockNode
            areturn
        end local 1 // com.oracle.js.parser.ParserContextBlockNode block
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/Parser;
            0    2     1  block  Lcom/oracle/js/parser/ParserContextBlockNode;
    MethodParameters:
       Name  Flags
      block  final

  private com.oracle.js.parser.ir.Block getBlock(boolean);
    descriptor: (Z)Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean needsBraces
         0: .line 722
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* blockToken */
        start local 2 // long blockToken
         1: .line 723
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.newBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 4 /* newBlock */
        start local 4 // com.oracle.js.parser.ParserContextBlockNode newBlock
         2: .line 726
            iload 1 /* needsBraces */
            ifeq 4
         3: .line 727
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 730
      StackMap locals: long com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.statementList:()V
         5: .line 732
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 5
         7: .line 733
            aload 0 /* this */
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
         8: .line 734
            aload 5
            athrow
         9: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        10: .line 738
            iload 1 /* needsBraces */
            ifeq 15
        11: .line 739
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        12: .line 742
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            istore 5 /* realFinish */
        start local 5 // int realFinish
        13: .line 743
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        14: .line 744
            goto 16
        end local 5 // int realFinish
        15: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            istore 5 /* realFinish */
        start local 5 // int realFinish
        16: .line 748
      StackMap locals: int
      StackMap stack:
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            iload 1 /* needsBraces */
            ifeq 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack: int
        17: bipush 16
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode int
      StackMap stack: int int
        18: ior
            istore 6 /* flags */
        start local 6 // int flags
        19: .line 749
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* blockToken */
            iload 5 /* realFinish */
            lload 2 /* blockToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            invokestatic java.lang.Math.max:(II)I
            iload 6 /* flags */
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            areturn
        end local 6 // int flags
        end local 5 // int realFinish
        end local 4 // com.oracle.js.parser.ParserContextBlockNode newBlock
        end local 2 // long blockToken
        end local 1 // boolean needsBraces
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/oracle/js/parser/Parser;
            0   20     1  needsBraces  Z
            1   20     2   blockToken  J
            2   20     4     newBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
           13   15     5   realFinish  I
           16   20     5   realFinish  I
           19   20     6        flags  I
      Exception table:
        from    to  target  type
           2     6       6  any
    MethodParameters:
             Name  Flags
      needsBraces  final

  private java.util.List<com.oracle.js.parser.ir.Statement> caseStatementList();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 757
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 1 /* newBlock */
        start local 1 // com.oracle.js.parser.ParserContextBlockNode newBlock
         1: .line 759
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.statementList:()V
         2: .line 760
            goto 6
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 761
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 1 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         5: .line 762
            aload 2
            athrow
         6: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 1 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         7: .line 763
            aload 1 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            areturn
        end local 1 // com.oracle.js.parser.ParserContextBlockNode newBlock
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/js/parser/Parser;
            1    8     1  newBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
      Exception table:
        from    to  target  type
           1     3       3  any
    Signature: ()Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;

  private com.oracle.js.parser.ir.Block getStatement();
    descriptor: ()Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 772
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.getStatement:(ZZ)Lcom/oracle/js/parser/ir/Block;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.Block getStatement(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean labelledStatement
        start local 2 // boolean mayBeFunctionDeclaration
         0: .line 776
            aload 0 /* this */
            iload 1 /* labelledStatement */
            iload 2 /* mayBeFunctionDeclaration */
            iload 2 /* mayBeFunctionDeclaration */
            invokevirtual com.oracle.js.parser.Parser.getStatement:(ZZZ)Lcom/oracle/js/parser/ir/Block;
            areturn
        end local 2 // boolean mayBeFunctionDeclaration
        end local 1 // boolean labelledStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0                      this  Lcom/oracle/js/parser/Parser;
            0    1     1         labelledStatement  Z
            0    1     2  mayBeFunctionDeclaration  Z
    MethodParameters:
                          Name  Flags
      labelledStatement         
      mayBeFunctionDeclaration  

  private com.oracle.js.parser.ir.Block getStatement(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean labelledStatement
        start local 2 // boolean mayBeFunctionDeclaration
        start local 3 // boolean maybeLabeledFunctionDeclaration
         0: .line 780
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
         1: .line 781
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.getBlock:(Z)Lcom/oracle/js/parser/ir/Block;
            areturn
         2: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.newBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 4 /* newBlock */
        start local 4 // com.oracle.js.parser.ParserContextBlockNode newBlock
         3: .line 786
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_1
            iload 1 /* labelledStatement */
            iload 2 /* mayBeFunctionDeclaration */
            iload 3 /* maybeLabeledFunctionDeclaration */
            invokevirtual com.oracle.js.parser.Parser.statement:(ZIZZZZ)V
         4: .line 787
            goto 8
      StackMap locals: com.oracle.js.parser.Parser int int int com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
         5: astore 5
         6: .line 788
            aload 0 /* this */
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
         7: .line 789
            aload 5
            athrow
         8: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
         9: .line 790
            new com.oracle.js.parser.ir.Block
            dup
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 4 /* newBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            areturn
        end local 4 // com.oracle.js.parser.ParserContextBlockNode newBlock
        end local 3 // boolean maybeLabeledFunctionDeclaration
        end local 2 // boolean mayBeFunctionDeclaration
        end local 1 // boolean labelledStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   10     0                             this  Lcom/oracle/js/parser/Parser;
            0   10     1                labelledStatement  Z
            0   10     2         mayBeFunctionDeclaration  Z
            0   10     3  maybeLabeledFunctionDeclaration  Z
            3   10     4                         newBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
      Exception table:
        from    to  target  type
           3     5       5  any
    MethodParameters:
                                 Name  Flags
      labelledStatement                
      mayBeFunctionDeclaration         
      maybeLabeledFunctionDeclaration  

  private com.oracle.js.parser.ir.IdentNode detectSpecialProperty(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 799
            aload 1 /* ident */
            invokestatic com.oracle.js.parser.Parser.isArguments:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 2
         1: .line 800
            aload 0 /* this */
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.Parser.markArguments:(Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
         2: .line 802
      StackMap locals:
      StackMap stack:
            aload 1 /* ident */
            areturn
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/js/parser/Parser;
            0    3     1  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private com.oracle.js.parser.ir.IdentNode markArguments(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 806
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.inClassFieldInitializer:()Z
            ifeq 2
         1: .line 807
            aload 0 /* this */
            ldc "arguments.in.field.initializer"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         2: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentNonArrowFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            bipush 8
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         3: .line 811
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsArguments:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/oracle/js/parser/Parser;
            0    4     1  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private boolean useBlockScope();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 815
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isES6();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 822
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            bipush 6
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isES2017();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 829
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            bipush 8
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isES2020();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 836
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            bipush 11
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isES2021();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 843
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            bipush 12
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isClassFields();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 847
            getstatic com.oracle.js.parser.Parser.ES2020_CLASS_FIELDS:Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.classFields:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private static boolean isArguments(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 851
            ldc "arguments"
            aload 0 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  static boolean isArguments(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 855
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.Parser.isArguments:(Ljava/lang/String;)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private static boolean checkIdentLValue(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 865
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.tokenType:()Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getKind:()Lcom/oracle/js/parser/TokenKind;
            getstatic com.oracle.js.parser.TokenKind.KEYWORD:Lcom/oracle/js/parser/TokenKind;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private com.oracle.js.parser.ir.Expression verifyAssignment(long, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression, boolean);
    descriptor: (JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long op
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        start local 4 // com.oracle.js.parser.ir.Expression rhs
        start local 5 // boolean inPatternPosition
         0: .line 877
            lload 1 /* op */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 6 /* opType */
        start local 6 // com.oracle.js.parser.TokenType opType
         1: .line 878
            aload 4 /* rhs */
            astore 7 /* rhsExpr */
        start local 7 // com.oracle.js.parser.ir.Expression rhsExpr
         2: .line 880
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 6 /* opType */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 17
                   10: 3
                   13: 3
                   14: 3
                   18: 3
                   20: 3
                   23: 3
                   27: 3
                   30: 3
                   35: 3
                   37: 3
                   44: 3
                   46: 3
                   51: 3
                   54: 3
                   56: 3
                   61: 3
                  143: 3
              default: 19
          }
         3: .line 898
      StackMap locals: com.oracle.js.parser.TokenType com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 3 /* lhs */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 11
         4: .line 899
            aload 3 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 8 /* ident */
        start local 8 // com.oracle.js.parser.ir.IdentNode ident
         5: .line 900
            aload 8 /* ident */
            invokestatic com.oracle.js.parser.Parser.checkIdentLValue:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 6
            aload 8 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
            ifeq 7
         6: .line 901
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.invalidLHSError:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
            athrow
         7: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* ident */
            ldc "assignment target"
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
         8: .line 906
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 19
            aload 7 /* rhsExpr */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 19
         9: .line 907
            aload 0 /* this */
            aload 7 /* rhsExpr */
            aload 8 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 7 /* rhsExpr */
        10: .line 910
            goto 19
        end local 8 // com.oracle.js.parser.ir.IdentNode ident
        11: .line 911
      StackMap locals:
      StackMap stack:
            aload 3 /* lhs */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifne 12
            aload 3 /* lhs */
            instanceof com.oracle.js.parser.ir.IndexNode
            ifeq 14
        12: .line 912
      StackMap locals:
      StackMap stack:
            aload 3 /* lhs */
            checkcast com.oracle.js.parser.ir.BaseNode
            invokevirtual com.oracle.js.parser.ir.BaseNode.isOptional:()Z
            ifeq 19
        13: .line 913
            aload 0 /* this */
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.invalidLHSError:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
            athrow
        14: .line 916
      StackMap locals:
      StackMap stack:
            aload 6 /* opType */
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 15
            aload 6 /* opType */
            getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 18
      StackMap locals:
      StackMap stack:
        15: aload 0 /* this */
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 18
            iload 5 /* inPatternPosition */
            ifne 16
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 18
        16: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lhs */
            ldc "assignment target"
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringAssignmentPattern:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)V
        17: .line 918
            goto 19
        18: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.invalidLHSError:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
            athrow
        19: .line 923
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 21
        20: .line 926
            aload 6 /* opType */
            invokestatic com.oracle.js.parser.ir.BinaryNode.isLogical:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 927
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* op */
            aload 3 /* lhs */
            aload 7 /* rhsExpr */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 7 // com.oracle.js.parser.ir.Expression rhsExpr
        end local 6 // com.oracle.js.parser.TokenType opType
        end local 5 // boolean inPatternPosition
        end local 4 // com.oracle.js.parser.ir.Expression rhs
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        end local 1 // long op
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lcom/oracle/js/parser/Parser;
            0   22     1                 op  J
            0   22     3                lhs  Lcom/oracle/js/parser/ir/Expression;
            0   22     4                rhs  Lcom/oracle/js/parser/ir/Expression;
            0   22     5  inPatternPosition  Z
            1   22     6             opType  Lcom/oracle/js/parser/TokenType;
            2   22     7            rhsExpr  Lcom/oracle/js/parser/ir/Expression;
            5   11     8              ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
                   Name  Flags
      op                 final
      lhs                final
      rhs                final
      inPatternPosition  

  private boolean isDestructuringLhs(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression lhs
         0: .line 931
            aload 1 /* lhs */
            instanceof com.oracle.js.parser.ir.ObjectNode
            ifne 1
            aload 1 /* lhs */
            instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            ifeq 3
         1: .line 932
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_DESTRUCTURING:Z
            ifeq 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 934
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.ir.Expression lhs
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/js/parser/Parser;
            0    4     1   lhs  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
      Name  Flags
      lhs   

  private void verifyDestructuringAssignmentPattern(com.oracle.js.parser.ir.Expression, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression pattern
        start local 2 // java.lang.String contextString
         0: .line 938
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 1 /* pattern */
            instanceof com.oracle.js.parser.ir.ObjectNode
            ifne 1
            aload 1 /* pattern */
            instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 939
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            new com.oracle.js.parser.Parser$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            new com.oracle.js.parser.ir.LexicalContext
            dup
            invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
            aload 2 /* contextString */
            invokespecial com.oracle.js.parser.Parser$2.<init>:(Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/ir/LexicalContext;Ljava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         2: .line 978
            return
        end local 2 // java.lang.String contextString
        end local 1 // com.oracle.js.parser.ir.Expression pattern
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/js/parser/Parser;
            0    3     1        pattern  Lcom/oracle/js/parser/ir/Expression;
            0    3     2  contextString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      pattern        
      contextString  

  private com.oracle.js.parser.ir.Expression newBinaryExpression(long, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression);
    descriptor: (JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long op
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        start local 4 // com.oracle.js.parser.ir.Expression rhs
         0: .line 981
            lload 1 /* op */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 5 /* opType */
        start local 5 // com.oracle.js.parser.TokenType opType
         1: .line 984
            aload 5 /* opType */
            invokestatic com.oracle.js.parser.ir.BinaryNode.isLogical:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 5
         2: .line 985
            aload 5 /* opType */
            aload 3 /* lhs */
            aload 4 /* rhs */
            invokestatic com.oracle.js.parser.Parser.forbiddenNullishCoalescingUsage:(Lcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 4
         3: .line 986
            aload 0 /* this */
            ldc "nullish coalescing operator cannot immediately contain, or be contained within, an && or || operation"
            iconst_0
            anewarray java.lang.Object
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 988
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* op */
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 3 /* lhs */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 4 /* rhs */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            areturn
         5: .line 990
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* op */
            aload 3 /* lhs */
            aload 4 /* rhs */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 5 // com.oracle.js.parser.TokenType opType
        end local 4 // com.oracle.js.parser.ir.Expression rhs
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        end local 1 // long op
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/oracle/js/parser/Parser;
            0    6     1      op  J
            0    6     3     lhs  Lcom/oracle/js/parser/ir/Expression;
            0    6     4     rhs  Lcom/oracle/js/parser/ir/Expression;
            1    6     5  opType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
      Name  Flags
      op    final
      lhs   final
      rhs   final

  private static boolean forbiddenNullishCoalescingUsage(com.oracle.js.parser.TokenType, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.TokenType opType
        start local 1 // com.oracle.js.parser.ir.Expression lhs
        start local 2 // com.oracle.js.parser.ir.Expression rhs
         0: .line 994
            aload 0 /* opType */
            getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
            if_acmpne 3
         1: .line 995
            aload 1 /* lhs */
            invokestatic com.oracle.js.parser.Parser.forbiddenNullishCoalescingChaining:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 2
            aload 2 /* rhs */
            invokestatic com.oracle.js.parser.Parser.forbiddenNullishCoalescingChaining:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
         3: .line 997
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 4
            aload 0 /* opType */
            getstatic com.oracle.js.parser.TokenType.AND:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
            aload 0 /* opType */
            getstatic com.oracle.js.parser.TokenType.OR:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 998
      StackMap locals:
      StackMap stack:
            aload 1 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 5
            aload 1 /* lhs */
            getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifne 7
      StackMap locals:
      StackMap stack:
         5: aload 2 /* rhs */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 6
            aload 2 /* rhs */
            getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifne 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 2 // com.oracle.js.parser.ir.Expression rhs
        end local 1 // com.oracle.js.parser.ir.Expression lhs
        end local 0 // com.oracle.js.parser.TokenType opType
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  opType  Lcom/oracle/js/parser/TokenType;
            0    8     1     lhs  Lcom/oracle/js/parser/ir/Expression;
            0    8     2     rhs  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
        Name  Flags
      opType  
      lhs     
      rhs     

  private static boolean forbiddenNullishCoalescingChaining(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.Expression expression
         0: .line 1003
            aload 0 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 2
            aload 0 /* expression */
            getstatic com.oracle.js.parser.TokenType.AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifne 1
            aload 0 /* expression */
            getstatic com.oracle.js.parser.TokenType.OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.Expression expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
            Name  Flags
      expression  

  private static com.oracle.js.parser.ir.UnaryNode incDecExpression(long, com.oracle.js.parser.TokenType, com.oracle.js.parser.ir.Expression, boolean);
    descriptor: (JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/UnaryNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // long firstToken
        start local 2 // com.oracle.js.parser.TokenType tokenType
        start local 3 // com.oracle.js.parser.ir.Expression expression
        start local 4 // boolean isPostfix
         0: .line 1016
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 2 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            aload 2 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1017
      StackMap locals:
      StackMap stack:
            iload 4 /* isPostfix */
            ifeq 6
         2: .line 1018
            lload 0 /* firstToken */
            aload 2 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpne 3
            getstatic com.oracle.js.parser.TokenType.DECPOSTFIX:Lcom/oracle/js/parser/TokenType;
            goto 4
      StackMap locals:
      StackMap stack: long
         3: getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
      StackMap locals: long com.oracle.js.parser.TokenType com.oracle.js.parser.ir.Expression int
      StackMap stack: long com.oracle.js.parser.TokenType
         4: invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 5 /* postfixToken */
        start local 5 // long postfixToken
         5: .line 1019
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 5 /* postfixToken */
            aload 3 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            lload 0 /* firstToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            lload 0 /* firstToken */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            aload 3 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JIILcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 5 // long postfixToken
         6: .line 1022
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 0 /* firstToken */
            aload 3 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 4 // boolean isPostfix
        end local 3 // com.oracle.js.parser.ir.Expression expression
        end local 2 // com.oracle.js.parser.TokenType tokenType
        end local 0 // long firstToken
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0    firstToken  J
            0    7     2     tokenType  Lcom/oracle/js/parser/TokenType;
            0    7     3    expression  Lcom/oracle/js/parser/ir/Expression;
            0    7     4     isPostfix  Z
            5    6     5  postfixToken  J
    MethodParameters:
            Name  Flags
      firstToken  final
      tokenType   final
      expression  final
      isPostfix   final

  private com.oracle.js.parser.ir.FunctionNode program(java.lang.String, int, com.oracle.js.parser.ir.Scope, java.lang.String[]);
    descriptor: (Ljava/lang/String;ILcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String scriptName
        start local 2 // int parseFlags
        start local 3 // com.oracle.js.parser.ir.Scope parentScope
        start local 4 // java.lang.String[] argumentNames
         0: .line 1035
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.withDelimiter:(J)J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* functionStart */
        start local 5 // int functionStart
         1: .line 1036
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            iload 5 /* functionStart */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            iload 5 /* functionStart */
            isub
            invokestatic com.oracle.js.parser.Token.toDesc:(Lcom/oracle/js/parser/TokenType;II)J
            lstore 6 /* functionToken */
        start local 6 // long functionToken
         2: .line 1037
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 8 /* functionLine */
        start local 8 // int functionLine
         3: .line 1039
            iload 2 /* parseFlags */
            iconst_4
            iand
            ifeq 4
            aload 0 /* this */
            iload 2 /* parseFlags */
            aload 3 /* parentScope */
            invokevirtual com.oracle.js.parser.Parser.createEvalScope:(ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            goto 5
      StackMap locals: int long int
      StackMap stack:
         4: invokestatic com.oracle.js.parser.ir.Scope.createGlobal:()Lcom/oracle/js/parser/ir/Scope;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.Scope
         5: astore 9 /* topScope */
        start local 9 // com.oracle.js.parser.ir.Scope topScope
         6: .line 1040
            aload 9 /* topScope */
            aload 4 /* argumentNames */
            invokestatic com.oracle.js.parser.Parser.applyArgumentsToScope:(Lcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/Scope;
            astore 9 /* topScope */
         7: .line 1041
            aconst_null
            astore 10 /* ident */
        start local 10 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 1042
            aload 4 /* argumentNames */
            invokestatic com.oracle.js.parser.Parser.createFunctionNodeParameters:([Ljava/lang/String;)Ljava/util/List;
            astore 11 /* parameters */
        start local 11 // java.util.List parameters
         9: .line 1043
            aload 0 /* this */
        10: .line 1044
            aload 10 /* ident */
        11: .line 1045
            lload 6 /* functionToken */
        12: .line 1046
            sipush 1024
        13: .line 1047
            iload 8 /* functionLine */
        14: .line 1048
            aload 11 /* parameters */
        15: .line 1049
            aload 11 /* parameters */
            invokeinterface java.util.List.size:()I
        16: .line 1050
            aload 9 /* topScope */
        17: .line 1043
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 12 /* script */
        start local 12 // com.oracle.js.parser.ParserContextFunctionNode script
        18: .line 1051
            aload 12 /* script */
            aload 1 /* scriptName */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
        19: .line 1053
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        20: .line 1054
            aload 0 /* this */
            aload 9 /* topScope */
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 13 /* body */
        start local 13 // com.oracle.js.parser.ParserContextBlockNode body
        21: .line 1055
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        22: .line 1057
            aload 0 /* this */
            iload 2 /* parseFlags */
            invokevirtual com.oracle.js.parser.Parser.sourceElements:(I)V
        23: .line 1058
            aload 0 /* this */
            aload 12 /* script */
            invokevirtual com.oracle.js.parser.Parser.addFunctionDeclarations:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        24: .line 1059
            goto 30
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int com.oracle.js.parser.ir.Scope java.lang.String[] int long int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.IdentNode java.util.List com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        25: astore 14
        26: .line 1060
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        27: .line 1061
            aload 0 /* this */
            aload 13 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        28: .line 1062
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        29: .line 1063
            aload 14
            athrow
        30: .line 1060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        31: .line 1061
            aload 0 /* this */
            aload 13 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        32: .line 1062
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        33: .line 1064
            aload 13 /* body */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setFlag:(I)I
            pop
        34: .line 1065
            new com.oracle.js.parser.ir.Block
            dup
            lload 6 /* functionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 13 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            bipush 32
            ior
            aload 13 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 13 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            astore 14 /* programBody */
        start local 14 // com.oracle.js.parser.ir.Block programBody
        35: .line 1066
            aload 12 /* script */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        36: .line 1068
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        37: .line 1070
            aload 0 /* this */
            aload 12 /* script */
            lload 6 /* functionToken */
            aload 10 /* ident */
            iload 8 /* functionLine */
            aload 14 /* programBody */
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 14 // com.oracle.js.parser.ir.Block programBody
        end local 13 // com.oracle.js.parser.ParserContextBlockNode body
        end local 12 // com.oracle.js.parser.ParserContextFunctionNode script
        end local 11 // java.util.List parameters
        end local 10 // com.oracle.js.parser.ir.IdentNode ident
        end local 9 // com.oracle.js.parser.ir.Scope topScope
        end local 8 // int functionLine
        end local 6 // long functionToken
        end local 5 // int functionStart
        end local 4 // java.lang.String[] argumentNames
        end local 3 // com.oracle.js.parser.ir.Scope parentScope
        end local 2 // int parseFlags
        end local 1 // java.lang.String scriptName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lcom/oracle/js/parser/Parser;
            0   38     1     scriptName  Ljava/lang/String;
            0   38     2     parseFlags  I
            0   38     3    parentScope  Lcom/oracle/js/parser/ir/Scope;
            0   38     4  argumentNames  [Ljava/lang/String;
            1   38     5  functionStart  I
            2   38     6  functionToken  J
            3   38     8   functionLine  I
            6   38     9       topScope  Lcom/oracle/js/parser/ir/Scope;
            8   38    10          ident  Lcom/oracle/js/parser/ir/IdentNode;
            9   38    11     parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
           18   38    12         script  Lcom/oracle/js/parser/ParserContextFunctionNode;
           21   38    13           body  Lcom/oracle/js/parser/ParserContextBlockNode;
           35   38    14    programBody  Lcom/oracle/js/parser/ir/Block;
      Exception table:
        from    to  target  type
          22    25      25  any
    MethodParameters:
               Name  Flags
      scriptName     final
      parseFlags     final
      parentScope    final
      argumentNames  final

  private static com.oracle.js.parser.ir.Scope applyArgumentsToScope(com.oracle.js.parser.ir.Scope, java.lang.String[]);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;[Ljava/lang/String;)Lcom/oracle/js/parser/ir/Scope;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.oracle.js.parser.ir.Scope scope
        start local 1 // java.lang.String[] argumentNames
         0: .line 1074
            aload 1 /* argumentNames */
            ifnonnull 2
         1: .line 1075
            aload 0 /* scope */
            areturn
         2: .line 1079
      StackMap locals:
      StackMap stack:
            aload 0 /* scope */
            iconst_0
            invokestatic com.oracle.js.parser.ir.Scope.createFunctionBody:(Lcom/oracle/js/parser/ir/Scope;I)Lcom/oracle/js/parser/ir/Scope;
            astore 2 /* body */
        start local 2 // com.oracle.js.parser.ir.Scope body
         3: .line 1082
            aload 1 /* argumentNames */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: com.oracle.js.parser.ir.Scope java.lang.String[] com.oracle.js.parser.ir.Scope top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* argument */
        start local 3 // java.lang.String argument
         5: .line 1083
            aload 2 /* body */
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 3 /* argument */
            bipush 20
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
        end local 3 // java.lang.String argument
         6: .line 1082
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 1085
            aload 2 /* body */
            areturn
        end local 2 // com.oracle.js.parser.ir.Scope body
        end local 1 // java.lang.String[] argumentNames
        end local 0 // com.oracle.js.parser.ir.Scope scope
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0          scope  Lcom/oracle/js/parser/ir/Scope;
            0    9     1  argumentNames  [Ljava/lang/String;
            3    9     2           body  Lcom/oracle/js/parser/ir/Scope;
            5    6     3       argument  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      scope          
      argumentNames  

  private static java.util.List<com.oracle.js.parser.ir.IdentNode> createFunctionNodeParameters(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // java.lang.String[] argumentNames
         0: .line 1089
            aload 0 /* argumentNames */
            ifnonnull 2
         1: .line 1090
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 1092
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         3: .line 1093
            aload 0 /* argumentNames */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: java.lang.String[] java.util.ArrayList top int int java.lang.String[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* argumentName */
        start local 2 // java.lang.String argumentName
         5: .line 1095
            aload 1 /* list */
            new com.oracle.js.parser.ir.IdentNode
            dup
            lconst_0
            iconst_0
            aload 2 /* argumentName */
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String argumentName
         6: .line 1093
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 1097
            aload 1 /* list */
            areturn
        end local 1 // java.util.ArrayList list
        end local 0 // java.lang.String[] argumentNames
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  argumentNames  [Ljava/lang/String;
            3    9     1           list  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/IdentNode;>;
            5    6     2   argumentName  Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
    MethodParameters:
               Name  Flags
      argumentNames  

  private com.oracle.js.parser.ir.Scope createEvalScope(int, com.oracle.js.parser.ir.Scope);
    descriptor: (ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int parseFlags
        start local 2 // com.oracle.js.parser.ir.Scope parentScope
         0: .line 1106
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            iload 1 /* parseFlags */
            iconst_4
            iand
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 2
            iload 1 /* parseFlags */
            bipush 8
            iand
            ifeq 3
         2: .line 1108
      StackMap locals:
      StackMap stack:
            aload 2 /* parentScope */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            invokestatic com.oracle.js.parser.ir.Scope.createEval:(Lcom/oracle/js/parser/ir/Scope;Z)Lcom/oracle/js/parser/ir/Scope;
            areturn
         3: .line 1110
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.ir.Scope.createGlobal:()Lcom/oracle/js/parser/ir/Scope;
            areturn
        end local 2 // com.oracle.js.parser.ir.Scope parentScope
        end local 1 // int parseFlags
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/js/parser/Parser;
            0    4     1   parseFlags  I
            0    4     2  parentScope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
             Name  Flags
      parseFlags   final
      parentScope  

  private java.lang.String getDirective(com.oracle.js.parser.ir.Node);
    descriptor: (Lcom/oracle/js/parser/ir/Node;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Node stmt
         0: .line 1121
            aload 1 /* stmt */
            instanceof com.oracle.js.parser.ir.ExpressionStatement
            ifeq 8
         1: .line 1122
            aload 1 /* stmt */
            checkcast com.oracle.js.parser.ir.ExpressionStatement
            invokevirtual com.oracle.js.parser.ir.ExpressionStatement.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* expr */
        start local 2 // com.oracle.js.parser.ir.Node expr
         2: .line 1123
            aload 2 /* expr */
            instanceof com.oracle.js.parser.ir.LiteralNode
            ifeq 8
         3: .line 1124
            aload 2 /* expr */
            checkcast com.oracle.js.parser.ir.LiteralNode
            astore 3 /* lit */
        start local 3 // com.oracle.js.parser.ir.LiteralNode lit
         4: .line 1125
            aload 3 /* lit */
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getToken:()J
            lstore 4 /* litToken */
        start local 4 // long litToken
         5: .line 1126
            lload 4 /* litToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 6 /* tt */
        start local 6 // com.oracle.js.parser.TokenType tt
         6: .line 1128
            aload 6 /* tt */
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 7
            aload 6 /* tt */
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            if_acmpne 8
         7: .line 1130
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Node com.oracle.js.parser.ir.Node com.oracle.js.parser.ir.LiteralNode long com.oracle.js.parser.TokenType
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            aload 3 /* lit */
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getStart:()I
            iconst_1
            iadd
            lload 4 /* litToken */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iconst_2
            isub
            invokevirtual com.oracle.js.parser.Source.getString:(II)Ljava/lang/String;
            areturn
        end local 6 // com.oracle.js.parser.TokenType tt
        end local 4 // long litToken
        end local 3 // com.oracle.js.parser.ir.LiteralNode lit
        end local 2 // com.oracle.js.parser.ir.Node expr
         8: .line 1135
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Node
      StackMap stack:
            aconst_null
            areturn
        end local 1 // com.oracle.js.parser.ir.Node stmt
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/js/parser/Parser;
            0    9     1      stmt  Lcom/oracle/js/parser/ir/Node;
            2    8     2      expr  Lcom/oracle/js/parser/ir/Node;
            4    8     3       lit  Lcom/oracle/js/parser/ir/LiteralNode<*>;
            5    8     4  litToken  J
            6    8     6        tt  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
      Name  Flags
      stmt  final

  private void sourceElements(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int parseFlags
         0: .line 1148
            iconst_1
            istore 2 /* checkDirective */
        start local 2 // boolean checkDirective
         1: .line 1149
            iload 1 /* parseFlags */
            istore 3 /* functionFlags */
        start local 3 // int functionFlags
         2: .line 1150
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            istore 4 /* oldStrictMode */
        start local 4 // boolean oldStrictMode
         3: .line 1154
            goto 37
         4: .line 1155
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 5 /* elementType */
        start local 5 // com.oracle.js.parser.TokenType elementType
         5: .line 1157
            aload 5 /* elementType */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         6: .line 1158
            goto 42
         7: .line 1163
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 3 /* functionFlags */
            iconst_0
            iconst_0
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.statement:(ZIZZZ)V
         8: .line 1164
            iconst_0
            istore 3 /* functionFlags */
         9: .line 1168
            iload 2 /* checkDirective */
            ifeq 36
        10: .line 1170
            aload 5 /* elementType */
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 11
            aload 5 /* elementType */
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            if_acmpne 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getLastStatement:()Lcom/oracle/js/parser/ir/Statement;
            goto 13
      StackMap locals:
      StackMap stack:
        12: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.Statement
        13: astore 6 /* lastStatement */
        start local 6 // com.oracle.js.parser.ir.Statement lastStatement
        14: .line 1173
            aload 0 /* this */
            aload 6 /* lastStatement */
            invokevirtual com.oracle.js.parser.Parser.getDirective:(Lcom/oracle/js/parser/ir/Node;)Ljava/lang/String;
            astore 7 /* directive */
        start local 7 // java.lang.String directive
        15: .line 1177
            aload 7 /* directive */
            ifnull 16
            iconst_1
            goto 17
      StackMap locals: com.oracle.js.parser.ir.Statement java.lang.String
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 2 /* checkDirective */
        18: .line 1179
            iload 2 /* checkDirective */
            ifeq 36
        19: .line 1181
            aload 5 /* elementType */
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            if_acmpne 36
            ldc "use strict"
            aload 7 /* directive */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        20: .line 1182
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 8 /* function */
        start local 8 // com.oracle.js.parser.ParserContextFunctionNode function
        21: .line 1183
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isSimpleParameterList:()Z
            ifne 23
        22: .line 1184
            aload 0 /* this */
            ldc "use.strict.non.simple.param"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* lastStatement */
            invokevirtual com.oracle.js.parser.ir.Statement.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        23: .line 1189
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            iload 4 /* oldStrictMode */
            ifne 28
        24: .line 1190
            aload 8 /* function */
            iconst_4
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        25: .line 1191
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        26: .line 1193
            aload 0 /* this */
            aload 8 /* function */
            iload 1 /* parseFlags */
            invokevirtual com.oracle.js.parser.Parser.verifyUseStrict:(Lcom/oracle/js/parser/ParserContextFunctionNode;I)V
        27: .line 1194
            goto 36
        28: .line 1195
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 36
            aload 8 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isStrict:()Z
            ifne 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 8 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 7 // java.lang.String directive
        end local 6 // com.oracle.js.parser.ir.Statement lastStatement
        29: .line 1200
      StackMap locals: com.oracle.js.parser.Parser int int int int com.oracle.js.parser.TokenType
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        30: .line 1201
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 7 /* errorLine */
        start local 7 // int errorLine
        31: .line 1202
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 8 /* errorToken */
        start local 8 // long errorToken
        32: .line 1204
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual com.oracle.js.parser.Parser.recover:(Ljava/lang/Exception;)V
        33: .line 1205
            new com.oracle.js.parser.ir.ErrorNode
            dup
            lload 8 /* errorToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokespecial com.oracle.js.parser.ir.ErrorNode.<init>:(JI)V
            astore 10 /* errorExpr */
        start local 10 // com.oracle.js.parser.ir.ErrorNode errorExpr
        34: .line 1206
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 7 /* errorLine */
            lload 8 /* errorToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 10 /* errorExpr */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            astore 11 /* expressionStatement */
        start local 11 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
        35: .line 1207
            aload 0 /* this */
            aload 11 /* expressionStatement */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 11 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
        end local 10 // com.oracle.js.parser.ir.ErrorNode errorExpr
        end local 8 // long errorToken
        end local 7 // int errorLine
        end local 6 // java.lang.Exception e
        36: .line 1211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            invokevirtual com.oracle.js.parser.TokenStream.commit:(I)V
        end local 5 // com.oracle.js.parser.TokenType elementType
        37: .line 1154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
        38: .line 1213
            goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 12
        40: .line 1214
            aload 0 /* this */
            iload 4 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        41: .line 1215
            aload 12
            athrow
        42: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        43: .line 1216
            return
        end local 4 // boolean oldStrictMode
        end local 3 // int functionFlags
        end local 2 // boolean checkDirective
        end local 1 // int parseFlags
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   44     0                 this  Lcom/oracle/js/parser/Parser;
            0   44     1           parseFlags  I
            1   44     2       checkDirective  Z
            2   44     3        functionFlags  I
            3   44     4        oldStrictMode  Z
            5   37     5          elementType  Lcom/oracle/js/parser/TokenType;
           14   29     6        lastStatement  Lcom/oracle/js/parser/ir/Statement;
           15   29     7            directive  Ljava/lang/String;
           21   29     8             function  Lcom/oracle/js/parser/ParserContextFunctionNode;
           30   36     6                    e  Ljava/lang/Exception;
           31   36     7            errorLine  I
           32   36     8           errorToken  J
           34   36    10            errorExpr  Lcom/oracle/js/parser/ir/ErrorNode;
           35   36    11  expressionStatement  Lcom/oracle/js/parser/ir/ExpressionStatement;
      Exception table:
        from    to  target  type
           7    29      29  Class java.lang.Exception
           3    39      39  any
    MethodParameters:
            Name  Flags
      parseFlags  final

  private void verifyUseStrict(com.oracle.js.parser.ParserContextFunctionNode, int);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode function
        start local 2 // int parseFlags
         0: .line 1220
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.peek:()Lcom/oracle/js/parser/ParserContextNode;
            invokeinterface com.oracle.js.parser.ParserContextNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Node
            astore 3 /* statement */
        start local 3 // com.oracle.js.parser.ir.Node statement
         2: .line 1222
            aload 0 /* this */
            aload 3 /* statement */
            invokevirtual com.oracle.js.parser.ir.Node.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.getValue:(J)Ljava/lang/Object;
            pop
        end local 3 // com.oracle.js.parser.ir.Node statement
         3: .line 1220
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1227
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            ifnull 6
         5: .line 1228
            aload 0 /* this */
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            ldc "function name"
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
         6: .line 1230
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode int
      StackMap stack:
            aload 1 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode int top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 3 /* param */
        start local 3 // com.oracle.js.parser.ir.IdentNode param
         8: .line 1231
            aload 0 /* this */
            aload 3 /* param */
            ldc "function parameter"
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
        end local 3 // com.oracle.js.parser.ir.IdentNode param
         9: .line 1230
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1235
            iload 2 /* parseFlags */
            iconst_4
            iand
            ifeq 12
        11: .line 1236
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.setupStrictEvalScope:()V
        12: .line 1238
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode int
      StackMap stack:
            return
        end local 2 // int parseFlags
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/oracle/js/parser/Parser;
            0   13     1    function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   13     2  parseFlags  I
            2    3     3   statement  Lcom/oracle/js/parser/ir/Node;
            8    9     3       param  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
            Name  Flags
      function    final
      parseFlags  final

  private void setupStrictEvalScope();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 1244
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 1 /* body */
        start local 1 // com.oracle.js.parser.ParserContextBlockNode body
         1: .line 1245
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 1 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.getSymbolCount:()I
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1246
      StackMap locals: com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 1 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.isGlobalScope:()Z
            ifeq 8
         3: .line 1247
            aload 1 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            iconst_1
            invokestatic com.oracle.js.parser.ir.Scope.createEval:(Lcom/oracle/js/parser/ir/Scope;Z)Lcom/oracle/js/parser/ir/Scope;
            astore 2 /* evalScope */
        start local 2 // com.oracle.js.parser.ir.Scope evalScope
         4: .line 1248
            aload 1 /* body */
            aload 2 /* evalScope */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setScope:(Lcom/oracle/js/parser/ir/Scope;)V
         5: .line 1249
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 3 /* function */
        start local 3 // com.oracle.js.parser.ParserContextFunctionNode function
         6: .line 1250
            aload 3 /* function */
            aload 2 /* evalScope */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.replaceBodyScope:(Lcom/oracle/js/parser/ir/Scope;)V
         7: .line 1251
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 8
            aload 3 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 2 /* evalScope */
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 2 // com.oracle.js.parser.ir.Scope evalScope
         8: .line 1253
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.js.parser.ParserContextBlockNode body
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/oracle/js/parser/Parser;
            1    9     1       body  Lcom/oracle/js/parser/ParserContextBlockNode;
            4    8     2  evalScope  Lcom/oracle/js/parser/ir/Scope;
            6    8     3   function  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void statement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 1305
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.statement:(ZIZZZ)V
         1: .line 1306
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private void statement(boolean, int, boolean, boolean, boolean);
    descriptor: (ZIZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean topLevel
        start local 2 // int reparseFlags
        start local 3 // boolean singleStatement
        start local 4 // boolean labelledStatement
        start local 5 // boolean mayBeFunctionDeclaration
         0: .line 1309
            aload 0 /* this */
            iload 1 /* topLevel */
            iload 2 /* reparseFlags */
            iload 3 /* singleStatement */
            iload 4 /* labelledStatement */
            iload 5 /* mayBeFunctionDeclaration */
            iload 5 /* mayBeFunctionDeclaration */
            invokevirtual com.oracle.js.parser.Parser.statement:(ZIZZZZ)V
         1: .line 1310
            return
        end local 5 // boolean mayBeFunctionDeclaration
        end local 4 // boolean labelledStatement
        end local 3 // boolean singleStatement
        end local 2 // int reparseFlags
        end local 1 // boolean topLevel
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lcom/oracle/js/parser/Parser;
            0    2     1                  topLevel  Z
            0    2     2              reparseFlags  I
            0    2     3           singleStatement  Z
            0    2     4         labelledStatement  Z
            0    2     5  mayBeFunctionDeclaration  Z
    MethodParameters:
                          Name  Flags
      topLevel                  final
      reparseFlags              final
      singleStatement           final
      labelledStatement         final
      mayBeFunctionDeclaration  final

  private void statement(boolean, int, boolean, boolean, boolean, boolean);
    descriptor: (ZIZZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean topLevel
        start local 2 // int reparseFlags
        start local 3 // boolean singleStatement
        start local 4 // boolean labelledStatement
        start local 5 // boolean mayBeFunctionDeclaration
        start local 6 // boolean maybeLabeledFunctionDeclaration
         0: .line 1320
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 23
                    2: 31
                   16: 31
                   32: 5
                   49: 31
                   52: 1
                   64: 61
                   66: 17
                   69: 56
                   70: 48
                   71: 15
                   72: 29
                   75: 13
                   82: 9
                   84: 33
                   86: 7
                   92: 40
                  100: 19
                  104: 23
                  106: 25
                  108: 27
                  110: 3
                  112: 11
                  113: 21
              default: 68
          }
         1: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.block:()V
         2: .line 1323
            return
         3: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.variableStatement:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 1326
            return
         5: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.emptyStatement:()V
         6: .line 1329
            return
         7: .line 1331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.ifStatement:()V
         8: .line 1332
            return
         9: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.forStatement:()V
        10: .line 1335
            return
        11: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.whileStatement:()V
        12: .line 1338
            return
        13: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.doStatement:()V
        14: .line 1341
            return
        15: .line 1343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.continueStatement:()V
        16: .line 1344
            return
        17: .line 1346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.breakStatement:()V
        18: .line 1347
            return
        19: .line 1349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.returnStatement:()V
        20: .line 1350
            return
        21: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.withStatement:()V
        22: .line 1353
            return
        23: .line 1355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.switchStatement:()V
        24: .line 1356
            return
        25: .line 1358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.throwStatement:()V
        26: .line 1359
            return
        27: .line 1361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.tryStatement:()V
        28: .line 1362
            return
        29: .line 1364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.debuggerStatement:()V
        30: .line 1365
            return
        31: .line 1369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        32: .line 1370
            return
        33: .line 1374
      StackMap locals:
      StackMap stack:
            iload 3 /* singleStatement */
            ifeq 36
        34: .line 1379
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 35
            iload 5 /* mayBeFunctionDeclaration */
            ifne 36
        35: .line 1380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "function declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        36: .line 1383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* topLevel */
            ifne 37
            iload 4 /* labelledStatement */
            ifne 37
            iconst_0
            goto 38
      StackMap locals: com.oracle.js.parser.Parser int int int int int int
      StackMap stack: com.oracle.js.parser.Parser int
        37: iconst_1
      StackMap locals: com.oracle.js.parser.Parser int int int int int int
      StackMap stack: com.oracle.js.parser.Parser int int
        38: iload 3 /* singleStatement */
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            pop
        39: .line 1384
            return
        40: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 68
        41: .line 1387
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadOfLetDeclaration:()Lcom/oracle/js/parser/TokenType;
            astore 7 /* lookahead */
        start local 7 // com.oracle.js.parser.TokenType lookahead
        42: .line 1388
            aload 7 /* lookahead */
            ifnull 68
        43: .line 1389
            iload 3 /* singleStatement */
            ifeq 46
        44: .line 1393
            aload 7 /* lookahead */
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 45
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 68
        45: .line 1394
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "let declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        46: .line 1397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.variableStatement:(Lcom/oracle/js/parser/TokenType;)V
        47: .line 1398
            return
        end local 7 // com.oracle.js.parser.TokenType lookahead
        48: .line 1404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 53
        49: .line 1405
            iload 3 /* singleStatement */
            ifeq 51
        50: .line 1406
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "const declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        51: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.variableStatement:(Lcom/oracle/js/parser/TokenType;)V
        52: .line 1409
            return
        53: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.constAsVar:Z
            ifeq 68
        54: .line 1411
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.variableStatement:(Lcom/oracle/js/parser/TokenType;)V
        55: .line 1412
            return
        56: .line 1416
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_CLASS:Z
            ifeq 68
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 68
        57: .line 1417
            iload 3 /* singleStatement */
            ifeq 59
        58: .line 1418
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "class declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        59: .line 1420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.classDeclaration:(ZZZ)Lcom/oracle/js/parser/ir/ClassNode;
            pop
        60: .line 1421
            return
        61: .line 1425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 68
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncFunction:()Z
            ifeq 68
        62: .line 1426
            iload 3 /* singleStatement */
            ifeq 64
        63: .line 1427
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "async function declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        64: .line 1429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* topLevel */
            ifne 65
            iload 4 /* labelledStatement */
            ifne 65
            iconst_0
            goto 66
      StackMap locals: com.oracle.js.parser.Parser int int int int int int
      StackMap stack: com.oracle.js.parser.Parser int
        65: iconst_1
      StackMap locals: com.oracle.js.parser.Parser int int int int int int
      StackMap stack: com.oracle.js.parser.Parser int int
        66: invokevirtual com.oracle.js.parser.Parser.asyncFunctionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            pop
        67: .line 1430
            return
        68: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 75
        69: .line 1438
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            if_acmpne 73
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 70
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            ifne 73
      StackMap locals:
      StackMap stack:
        70: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAwait:()Z
            ifeq 71
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            ifne 73
        71: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* maybeLabeledFunctionDeclaration */
            invokevirtual com.oracle.js.parser.Parser.labelStatement:(Z)V
        72: .line 1440
            return
        73: .line 1442
      StackMap locals:
      StackMap stack:
            iload 2 /* reparseFlags */
            ifeq 75
            aload 0 /* this */
            iload 2 /* reparseFlags */
            invokevirtual com.oracle.js.parser.Parser.reparseFunctionStatement:(I)Z
            ifeq 75
        74: .line 1443
            return
        75: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expressionStatement:()V
        76: .line 1448
            return
        end local 6 // boolean maybeLabeledFunctionDeclaration
        end local 5 // boolean mayBeFunctionDeclaration
        end local 4 // boolean labelledStatement
        end local 3 // boolean singleStatement
        end local 2 // int reparseFlags
        end local 1 // boolean topLevel
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   77     0                             this  Lcom/oracle/js/parser/Parser;
            0   77     1                         topLevel  Z
            0   77     2                     reparseFlags  I
            0   77     3                  singleStatement  Z
            0   77     4                labelledStatement  Z
            0   77     5         mayBeFunctionDeclaration  Z
            0   77     6  maybeLabeledFunctionDeclaration  Z
           42   48     7                        lookahead  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
                                 Name  Flags
      topLevel                         final
      reparseFlags                     final
      singleStatement                  final
      labelledStatement                final
      mayBeFunctionDeclaration         final
      maybeLabeledFunctionDeclaration  final

  private boolean reparseFunctionStatement(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=10, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int reparseFlags
         0: .line 1451
            iload 1 /* reparseFlags */
            iconst_1
            iand
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* allowPropertyFunction */
        start local 2 // boolean allowPropertyFunction
         3: .line 1452
            iload 1 /* reparseFlags */
            iconst_2
            iand
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* isES6Method */
        start local 3 // boolean isES6Method
         6: .line 1453
            iload 2 /* allowPropertyFunction */
            ifeq 17
         7: .line 1454
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* propertyToken */
        start local 4 // long propertyToken
         8: .line 1455
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 6 /* propertyLine */
        start local 6 // int propertyLine
         9: .line 1456
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 13
        10: .line 1457
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        11: .line 1458
            aload 0 /* this */
            aload 0 /* this */
            lload 4 /* propertyToken */
            iload 6 /* propertyLine */
            iconst_0
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.propertyGetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            invokevirtual com.oracle.js.parser.Parser.addPropertyFunctionStatement:(Lcom/oracle/js/parser/Parser$PropertyFunction;)V
        12: .line 1459
            iconst_1
            ireturn
        13: .line 1460
      StackMap locals: int long int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 28
        14: .line 1461
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        15: .line 1462
            aload 0 /* this */
            aload 0 /* this */
            lload 4 /* propertyToken */
            iload 6 /* propertyLine */
            iconst_0
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.propertySetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            invokevirtual com.oracle.js.parser.Parser.addPropertyFunctionStatement:(Lcom/oracle/js/parser/Parser$PropertyFunction;)V
        16: .line 1463
            iconst_1
            ireturn
        end local 6 // int propertyLine
        end local 4 // long propertyToken
        17: .line 1465
      StackMap locals:
      StackMap stack:
            iload 3 /* isES6Method */
            ifeq 28
        18: .line 1466
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* ident */
        start local 4 // java.lang.String ident
        19: .line 1467
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* ident */
            invokevirtual com.oracle.js.parser.Parser.createIdentNode:(JILjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPropertyName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 5 /* identNode */
        start local 5 // com.oracle.js.parser.ir.IdentNode identNode
        20: .line 1468
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* propertyToken */
        start local 6 // long propertyToken
        21: .line 1469
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 8 /* propertyLine */
        start local 8 // int propertyLine
        22: .line 1470
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        23: .line 1471
            ldc "constructor"
            aload 4 /* ident */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
            ldc 2097152
            goto 25
      StackMap locals: com.oracle.js.parser.Parser int int int java.lang.String com.oracle.js.parser.ir.IdentNode long int
      StackMap stack:
        24: ldc 1048576
      StackMap locals:
      StackMap stack: int
        25: istore 9 /* flags */
        start local 9 // int flags
        26: .line 1472
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* identNode */
            lload 6 /* propertyToken */
            iload 8 /* propertyLine */
            iconst_0
            iload 9 /* flags */
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.propertyMethodFunction:(Lcom/oracle/js/parser/ir/Expression;JIZIZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            invokevirtual com.oracle.js.parser.Parser.addPropertyFunctionStatement:(Lcom/oracle/js/parser/Parser$PropertyFunction;)V
        27: .line 1473
            iconst_1
            ireturn
        end local 9 // int flags
        end local 8 // int propertyLine
        end local 6 // long propertyToken
        end local 5 // com.oracle.js.parser.ir.IdentNode identNode
        end local 4 // java.lang.String ident
        28: .line 1475
      StackMap locals: com.oracle.js.parser.Parser int int int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean isES6Method
        end local 2 // boolean allowPropertyFunction
        end local 1 // int reparseFlags
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   29     0                   this  Lcom/oracle/js/parser/Parser;
            0   29     1           reparseFlags  I
            3   29     2  allowPropertyFunction  Z
            6   29     3            isES6Method  Z
            8   17     4          propertyToken  J
            9   17     6           propertyLine  I
           19   28     4                  ident  Ljava/lang/String;
           20   28     5              identNode  Lcom/oracle/js/parser/ir/IdentNode;
           21   28     6          propertyToken  J
           22   28     8           propertyLine  I
           26   28     9                  flags  I
    MethodParameters:
              Name  Flags
      reparseFlags  final

  private void addPropertyFunctionStatement(com.oracle.js.parser.Parser$PropertyFunction);
    descriptor: (Lcom/oracle/js/parser/Parser$PropertyFunction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.Parser$PropertyFunction propertyFunction
         0: .line 1479
            aload 1 /* propertyFunction */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            astore 2 /* fn */
        start local 2 // com.oracle.js.parser.ir.FunctionNode fn
         1: .line 1480
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getLineNumber:()I
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getToken:()J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 2 /* fn */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1481
            return
        end local 2 // com.oracle.js.parser.ir.FunctionNode fn
        end local 1 // com.oracle.js.parser.Parser$PropertyFunction propertyFunction
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/oracle/js/parser/Parser;
            0    3     1  propertyFunction  Lcom/oracle/js/parser/Parser$PropertyFunction;
            1    3     2                fn  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
                  Name  Flags
      propertyFunction  final

  private com.oracle.js.parser.ir.ClassNode classDeclaration(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/ClassNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // boolean defaultExport
         0: .line 1495
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.CLASS:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 4 /* classLineNumber */
        start local 4 // int classLineNumber
         2: .line 1497
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 5 /* classToken */
        start local 5 // long classToken
         3: .line 1498
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 1500
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            istore 7 /* oldStrictMode */
        start local 7 // boolean oldStrictMode
         5: .line 1501
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
         6: .line 1503
            aconst_null
            astore 8 /* className */
        start local 8 // com.oracle.js.parser.ir.IdentNode className
         7: .line 1504
            iload 3 /* defaultExport */
            ifeq 8
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 9
         8: .line 1505
      StackMap locals: com.oracle.js.parser.Parser int int int int long int com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            ldc "class name"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 8 /* className */
         9: .line 1508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* classLineNumber */
            lload 5 /* classToken */
            aload 8 /* className */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.classTail:(IJLcom/oracle/js/parser/ir/IdentNode;ZZ)Lcom/oracle/js/parser/ir/ClassNode;
            astore 9 /* classExpression */
        start local 9 // com.oracle.js.parser.ir.ClassNode classExpression
        10: .line 1510
            iload 3 /* defaultExport */
            ifne 14
        11: .line 1511
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 4 /* classLineNumber */
            aload 9 /* classExpression */
            invokevirtual com.oracle.js.parser.ir.ClassNode.getToken:()J
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 9 /* classExpression */
            invokevirtual com.oracle.js.parser.ir.ClassNode.getFinish:()I
            aload 8 /* className */
            aload 9 /* classExpression */
            iconst_1
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 10 /* classVar */
        start local 10 // com.oracle.js.parser.ir.VarNode classVar
        12: .line 1512
            aload 0 /* this */
            aload 10 /* classVar */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        13: .line 1513
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 10 /* classVar */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
        end local 10 // com.oracle.js.parser.ir.VarNode classVar
        14: .line 1515
      StackMap locals: com.oracle.js.parser.ir.ClassNode
      StackMap stack:
            aload 9 /* classExpression */
            astore 12
        15: .line 1517
            aload 0 /* this */
            iload 7 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        16: .line 1515
            aload 12
            areturn
        end local 9 // com.oracle.js.parser.ir.ClassNode classExpression
        end local 8 // com.oracle.js.parser.ir.IdentNode className
        17: .line 1516
      StackMap locals: com.oracle.js.parser.Parser int int int int long int
      StackMap stack: java.lang.Throwable
            astore 11
        18: .line 1517
            aload 0 /* this */
            iload 7 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        19: .line 1518
            aload 11
            athrow
        end local 7 // boolean oldStrictMode
        end local 5 // long classToken
        end local 4 // int classLineNumber
        end local 3 // boolean defaultExport
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lcom/oracle/js/parser/Parser;
            0   20     1            yield  Z
            0   20     2            await  Z
            0   20     3    defaultExport  Z
            2   20     4  classLineNumber  I
            3   20     5       classToken  J
            5   20     7    oldStrictMode  Z
            7   17     8        className  Lcom/oracle/js/parser/ir/IdentNode;
           10   17     9  classExpression  Lcom/oracle/js/parser/ir/ClassNode;
           12   14    10         classVar  Lcom/oracle/js/parser/ir/VarNode;
      Exception table:
        from    to  target  type
           6    15      17  any
    MethodParameters:
               Name  Flags
      yield          
      await          
      defaultExport  

  private com.oracle.js.parser.ir.ClassNode classExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/ClassNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 1532
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.CLASS:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* classLineNumber */
        start local 3 // int classLineNumber
         2: .line 1534
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* classToken */
        start local 4 // long classToken
         3: .line 1535
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 1537
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            istore 6 /* oldStrictMode */
        start local 6 // boolean oldStrictMode
         5: .line 1538
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
         6: .line 1540
            aconst_null
            astore 7 /* className */
        start local 7 // com.oracle.js.parser.ir.IdentNode className
         7: .line 1541
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 9
         8: .line 1542
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            ldc "class name"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 7 /* className */
         9: .line 1545
      StackMap locals: com.oracle.js.parser.Parser int int int long int com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            iload 3 /* classLineNumber */
            lload 4 /* classToken */
            aload 7 /* className */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.classTail:(IJLcom/oracle/js/parser/ir/IdentNode;ZZ)Lcom/oracle/js/parser/ir/ClassNode;
            astore 9
        10: .line 1547
            aload 0 /* this */
            iload 6 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        11: .line 1545
            aload 9
            areturn
        end local 7 // com.oracle.js.parser.ir.IdentNode className
        12: .line 1546
      StackMap locals: com.oracle.js.parser.Parser int int int long int
      StackMap stack: java.lang.Throwable
            astore 8
        13: .line 1547
            aload 0 /* this */
            iload 6 /* oldStrictMode */
            putfield com.oracle.js.parser.Parser.isStrictMode:Z
        14: .line 1548
            aload 8
            athrow
        end local 6 // boolean oldStrictMode
        end local 4 // long classToken
        end local 3 // int classLineNumber
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lcom/oracle/js/parser/Parser;
            0   15     1            yield  Z
            0   15     2            await  Z
            2   15     3  classLineNumber  I
            3   15     4       classToken  J
            5   15     6    oldStrictMode  Z
            7   12     7        className  Lcom/oracle/js/parser/ir/IdentNode;
      Exception table:
        from    to  target  type
           6    10      12  any
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.ClassNode classTail(int, long, com.oracle.js.parser.ir.IdentNode, boolean, boolean);
    descriptor: (IJLcom/oracle/js/parser/ir/IdentNode;ZZ)Lcom/oracle/js/parser/ir/ClassNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=32, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int classLineNumber
        start local 2 // long classToken
        start local 4 // com.oracle.js.parser.ir.IdentNode className
        start local 5 // boolean yield
        start local 6 // boolean await
         0: .line 1570
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokestatic com.oracle.js.parser.ir.Scope.createClass:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            astore 7 /* classScope */
        start local 7 // com.oracle.js.parser.ir.Scope classScope
         2: .line 1572
            aload 4 /* className */
            ifnull 4
         3: .line 1573
            aload 7 /* classScope */
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 4 /* className */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            iconst_2
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
         4: .line 1575
      StackMap locals: com.oracle.js.parser.ir.Scope
      StackMap stack:
            new com.oracle.js.parser.ParserContextClassNode
            dup
            aload 7 /* classScope */
            invokespecial com.oracle.js.parser.ParserContextClassNode.<init>:(Lcom/oracle/js/parser/ir/Scope;)V
            astore 8 /* classNode */
        start local 8 // com.oracle.js.parser.ParserContextClassNode classNode
         5: .line 1576
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* classNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         6: .line 1578
            aconst_null
            astore 9 /* classHeritage */
        start local 9 // com.oracle.js.parser.ir.Expression classHeritage
         7: .line 1579
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EXTENDS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 13
         8: .line 1580
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         9: .line 1581
            aload 0 /* this */
            iload 5 /* yield */
            iload 6 /* await */
            invokevirtual com.oracle.js.parser.Parser.leftHandSideExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* classHeritage */
        10: .line 1587
            aload 8 /* classNode */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContextClassNode.verifyAllPrivateIdentifiersValid:(Lcom/oracle/js/parser/ParserContext;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 10 /* invalidPrivateIdent */
        start local 10 // com.oracle.js.parser.ir.IdentNode invalidPrivateIdent
        11: .line 1588
            aload 10 /* invalidPrivateIdent */
            ifnull 13
        12: .line 1589
            aload 0 /* this */
            ldc "invalid.private.ident"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* invalidPrivateIdent */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 10 // com.oracle.js.parser.ir.IdentNode invalidPrivateIdent
        13: .line 1593
      StackMap locals: com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        14: .line 1595
            aconst_null
            astore 10 /* constructor */
        start local 10 // com.oracle.js.parser.ir.PropertyNode constructor
        15: .line 1596
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* classElements */
        start local 11 // java.util.ArrayList classElements
        16: .line 1597
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* privateNameToAccessorIndexMap */
        start local 12 // java.util.Map privateNameToAccessorIndexMap
        17: .line 1598
            iconst_0
            istore 13 /* instanceFieldCount */
        start local 13 // int instanceFieldCount
        18: .line 1599
            iconst_0
            istore 14 /* staticFieldCount */
        start local 14 // int staticFieldCount
        19: .line 1600
            iconst_0
            istore 15 /* hasPrivateMethods */
        start local 15 // boolean hasPrivateMethods
        20: .line 1601
            iconst_0
            istore 16 /* hasPrivateInstanceMethods */
        start local 16 // boolean hasPrivateInstanceMethods
        21: .line 1603
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            if_acmpne 24
        22: .line 1604
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        23: .line 1605
            goto 21
        24: .line 1607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 26
        25: .line 1608
            goto 98
        26: .line 1610
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 17 /* isStatic */
        start local 17 // boolean isStatic
        27: .line 1611
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.STATIC:Lcom/oracle/js/parser/TokenType;
            if_acmpne 32
        28: .line 1612
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookahead:()Lcom/oracle/js/parser/TokenType;
            astore 18 /* nextToken */
        start local 18 // com.oracle.js.parser.TokenType nextToken
        29: .line 1613
            aload 18 /* nextToken */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 32
            aload 18 /* nextToken */
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 32
            aload 18 /* nextToken */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 32
            aload 18 /* nextToken */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 32
        30: .line 1614
            iconst_1
            istore 17 /* isStatic */
        31: .line 1615
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        end local 18 // com.oracle.js.parser.TokenType nextToken
        32: .line 1618
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 18 /* classElementToken */
        start local 18 // long classElementToken
        33: .line 1619
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 20 /* classElementLine */
        start local 20 // int classElementLine
        34: .line 1620
            iconst_0
            istore 21 /* async */
        start local 21 // boolean async
        35: .line 1621
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 38
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncMethod:(Z)Z
            ifeq 38
        36: .line 1622
            iconst_1
            istore 21 /* async */
        37: .line 1623
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        38: .line 1625
      StackMap locals: long int int
      StackMap stack:
            iconst_0
            istore 22 /* generator */
        start local 22 // boolean generator
        39: .line 1626
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 42
            getstatic com.oracle.js.parser.Parser.ES6_GENERATOR_FUNCTION:Z
            ifeq 42
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 42
        40: .line 1627
            iconst_1
            istore 22 /* generator */
        41: .line 1628
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        42: .line 1631
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 23 /* nameTokenType */
        start local 23 // com.oracle.js.parser.TokenType nameTokenType
        43: .line 1632
            aload 23 /* nameTokenType */
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 44
            iconst_1
            goto 45
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
        44: iconst_0
      StackMap locals:
      StackMap stack: int
        45: istore 24 /* computed */
        start local 24 // boolean computed
        46: .line 1633
            aload 0 /* this */
            iload 5 /* yield */
            iload 6 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.classElementName:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 25 /* classElementName */
        start local 25 // com.oracle.js.parser.ir.Expression classElementName
        47: .line 1636
            iload 22 /* generator */
            ifne 54
            iload 21 /* async */
            ifne 54
            aload 0 /* this */
            aload 23 /* nameTokenType */
            invokevirtual com.oracle.js.parser.Parser.isClassFieldDefinition:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 54
        48: .line 1637
            aload 0 /* this */
            aload 25 /* classElementName */
            iload 17 /* isStatic */
            lload 18 /* classElementToken */
            iload 24 /* computed */
            invokevirtual com.oracle.js.parser.Parser.fieldDefinition:(Lcom/oracle/js/parser/ir/Expression;ZJZ)Lcom/oracle/js/parser/ir/PropertyNode;
            astore 26 /* classElement */
        start local 26 // com.oracle.js.parser.ir.PropertyNode classElement
        49: .line 1638
            iload 17 /* isStatic */
            ifeq 52
        50: .line 1639
            iinc 14 /* staticFieldCount */ 1
        51: .line 1640
            goto 81
        52: .line 1641
      StackMap locals: int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode
      StackMap stack:
            iinc 13 /* instanceFieldCount */ 1
        53: .line 1643
            goto 81
        end local 26 // com.oracle.js.parser.ir.PropertyNode classElement
        54: .line 1644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 25 /* classElementName */
            iload 17 /* isStatic */
            aload 9 /* classHeritage */
            ifnull 55
            iconst_1
            goto 56
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int int long int int int com.oracle.js.parser.TokenType int com.oracle.js.parser.ir.Expression
      StackMap stack: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression int
        55: iconst_0
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int int long int int int com.oracle.js.parser.TokenType int com.oracle.js.parser.ir.Expression
      StackMap stack: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression int int
        56: iload 22 /* generator */
            iload 21 /* async */
            lload 18 /* classElementToken */
            iload 20 /* classElementLine */
            iload 5 /* yield */
            iload 6 /* await */
            aload 23 /* nameTokenType */
            iload 24 /* computed */
            invokevirtual com.oracle.js.parser.Parser.methodDefinition:(Lcom/oracle/js/parser/ir/Expression;ZZZZJIZZLcom/oracle/js/parser/TokenType;Z)Lcom/oracle/js/parser/ir/PropertyNode;
            astore 26 /* classElement */
        start local 26 // com.oracle.js.parser.ir.PropertyNode classElement
        57: .line 1646
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
            ifne 81
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isAccessor:()Z
            ifeq 81
        58: .line 1647
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isPrivate:()Z
            ifeq 72
        59: .line 1649
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
            astore 27 /* privateName */
        start local 27 // java.lang.String privateName
        60: .line 1650
            aload 12 /* privateNameToAccessorIndexMap */
            aload 27 /* privateName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 28 /* existing */
        start local 28 // java.lang.Integer existing
        61: .line 1651
            aload 28 /* existing */
            ifnonnull 64
        62: .line 1652
            aload 12 /* privateNameToAccessorIndexMap */
            aload 27 /* privateName */
            aload 11 /* classElements */
            invokevirtual java.util.ArrayList.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        63: .line 1653
            goto 81
        64: .line 1654
      StackMap locals: com.oracle.js.parser.ir.PropertyNode java.lang.String java.lang.Integer
      StackMap stack:
            aload 11 /* classElements */
            aload 28 /* existing */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.PropertyNode
            astore 29 /* otherAccessor */
        start local 29 // com.oracle.js.parser.ir.PropertyNode otherAccessor
        65: .line 1655
            iload 17 /* isStatic */
            aload 29 /* otherAccessor */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
            if_icmpne 81
        66: .line 1656
            aload 29 /* otherAccessor */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            ifnonnull 69
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            ifnull 69
        67: .line 1657
            aload 11 /* classElements */
            aload 28 /* existing */
            invokevirtual java.lang.Integer.intValue:()I
            aload 29 /* otherAccessor */
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setGetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        68: .line 1658
            goto 21
        69: .line 1659
      StackMap locals: com.oracle.js.parser.ir.PropertyNode
      StackMap stack:
            aload 29 /* otherAccessor */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            ifnonnull 81
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            ifnull 81
        70: .line 1660
            aload 11 /* classElements */
            aload 28 /* existing */
            invokevirtual java.lang.Integer.intValue:()I
            aload 29 /* otherAccessor */
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setSetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        71: .line 1661
            goto 21
        end local 29 // com.oracle.js.parser.ir.PropertyNode otherAccessor
        end local 28 // java.lang.Integer existing
        end local 27 // java.lang.String privateName
        72: .line 1667
      StackMap locals:
      StackMap stack:
            aload 11 /* classElements */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 81
        73: .line 1669
            aload 11 /* classElements */
            aload 11 /* classElements */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.PropertyNode
            astore 27 /* lastElement */
        start local 27 // com.oracle.js.parser.ir.PropertyNode lastElement
        74: .line 1670
            aload 27 /* lastElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
            ifne 81
            aload 27 /* lastElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isAccessor:()Z
            ifeq 81
            iload 17 /* isStatic */
            aload 27 /* lastElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
            if_icmpne 81
        75: .line 1671
            aload 27 /* lastElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isPrivate:()Z
            ifne 81
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            aload 27 /* lastElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 81
        76: .line 1672
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            ifnull 77
            aload 27 /* lastElement */
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setGetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
            goto 78
      StackMap locals: com.oracle.js.parser.ir.PropertyNode
      StackMap stack:
        77: aload 27 /* lastElement */
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setSetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.PropertyNode
        78: astore 28 /* merged */
        start local 28 // com.oracle.js.parser.ir.PropertyNode merged
        79: .line 1673
            aload 11 /* classElements */
            aload 11 /* classElements */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            aload 28 /* merged */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        80: .line 1674
            goto 21
        end local 28 // com.oracle.js.parser.ir.PropertyNode merged
        end local 27 // com.oracle.js.parser.ir.PropertyNode lastElement
        81: .line 1680
      StackMap locals:
      StackMap stack:
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isPrivate:()Z
            ifeq 90
        82: .line 1681
            iload 15 /* hasPrivateMethods */
            ifne 83
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
            ifeq 83
            iconst_0
            goto 84
      StackMap locals:
      StackMap stack:
        83: iconst_1
      StackMap locals:
      StackMap stack: int
        84: istore 15 /* hasPrivateMethods */
        85: .line 1682
            iload 16 /* hasPrivateInstanceMethods */
            ifne 87
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
            ifne 86
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
            ifeq 87
      StackMap locals:
      StackMap stack:
        86: iconst_0
            goto 88
      StackMap locals:
      StackMap stack:
        87: iconst_1
      StackMap locals:
      StackMap stack: int
        88: istore 16 /* hasPrivateInstanceMethods */
        89: .line 1683
            aload 0 /* this */
            aload 7 /* classScope */
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.Parser.declarePrivateName:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/PropertyNode;)V
        90: .line 1686
      StackMap locals:
      StackMap stack:
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
            ifne 96
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
            ifne 96
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 96
        91: .line 1687
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 92
            aload 26 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
            ifeq 92
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        92: .line 1688
      StackMap locals:
      StackMap stack:
            aload 10 /* constructor */
            ifnonnull 95
        93: .line 1689
            aload 26 /* classElement */
            astore 10 /* constructor */
        94: .line 1690
            goto 21
        95: .line 1691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "multiple.constructors"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 18 /* classElementToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        96: .line 1694
      StackMap locals:
      StackMap stack:
            aload 11 /* classElements */
            aload 26 /* classElement */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 26 // com.oracle.js.parser.ir.PropertyNode classElement
        end local 25 // com.oracle.js.parser.ir.Expression classElementName
        end local 24 // boolean computed
        end local 23 // com.oracle.js.parser.TokenType nameTokenType
        end local 22 // boolean generator
        end local 21 // boolean async
        end local 20 // int classElementLine
        end local 18 // long classElementToken
        end local 17 // boolean isStatic
        97: .line 1602
            goto 21
        98: .line 1698
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 17 /* lastToken */
        start local 17 // long lastToken
        99: .line 1699
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
       100: .line 1701
            aload 11 /* classElements */
            invokevirtual java.util.ArrayList.trimToSize:()V
       101: .line 1702
            lload 17 /* lastToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            lload 17 /* lastToken */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            istore 19 /* classFinish */
        start local 19 // int classFinish
       102: .line 1704
            aload 10 /* constructor */
            ifnonnull 107
       103: .line 1705
            aload 0 /* this */
            iload 1 /* classLineNumber */
            lload 2 /* classToken */
            lload 17 /* lastToken */
            aload 4 /* className */
            aload 9 /* classHeritage */
            ifnull 104
            iconst_1
            goto 105
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int long int
      StackMap stack: com.oracle.js.parser.Parser int long long com.oracle.js.parser.ir.IdentNode
       104: iconst_0
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int long int
      StackMap stack: com.oracle.js.parser.Parser int long long com.oracle.js.parser.ir.IdentNode int
       105: invokevirtual com.oracle.js.parser.Parser.createDefaultClassConstructor:(IJJLcom/oracle/js/parser/ir/IdentNode;Z)Lcom/oracle/js/parser/ir/PropertyNode;
            astore 10 /* constructor */
       106: .line 1706
            goto 117
       107: .line 1708
      StackMap locals:
      StackMap stack:
            aload 10 /* constructor */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 20 /* ctor */
        start local 20 // com.oracle.js.parser.ir.FunctionNode ctor
       108: .line 1709
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlags:()I
            istore 21 /* flags */
        start local 21 // int flags
       109: .line 1710
            aload 4 /* className */
            ifnonnull 111
       110: .line 1711
            iload 21 /* flags */
            iconst_1
            ior
            istore 21 /* flags */
       111: .line 1713
      StackMap locals: com.oracle.js.parser.ir.FunctionNode int
      StackMap stack:
            aload 10 /* constructor */
       112: new com.oracle.js.parser.ir.FunctionNode
            dup
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getSource:()Lcom/oracle/js/parser/Source;
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getLineNumber:()I
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getToken:()J
            iload 19 /* classFinish */
            lload 2 /* classToken */
            lload 17 /* lastToken */
            aload 4 /* className */
       113: .line 1714
            aload 4 /* className */
            ifnonnull 114
            ldc ""
            goto 115
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int long int com.oracle.js.parser.ir.FunctionNode int
      StackMap stack: com.oracle.js.parser.ir.PropertyNode new 112 new 112 com.oracle.js.parser.Source int long int long long com.oracle.js.parser.ir.IdentNode
       114: aload 4 /* className */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
       115: .line 1715
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.PropertyNode java.util.ArrayList java.util.Map int int int int long int com.oracle.js.parser.ir.FunctionNode int
      StackMap stack: com.oracle.js.parser.ir.PropertyNode new 112 new 112 com.oracle.js.parser.Source int long int long long com.oracle.js.parser.ir.IdentNode java.lang.String
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getLength:()I
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getNumOfParams:()I
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getParameters:()Ljava/util/List;
            iload 21 /* flags */
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getEndParserState:()Ljava/lang/Object;
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getModule:()Lcom/oracle/js/parser/ir/Module;
            aload 20 /* ctor */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getInternalName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.FunctionNode.<init>:(Lcom/oracle/js/parser/Source;IJIJJLcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;IILjava/util/List;ILcom/oracle/js/parser/ir/Block;Ljava/lang/Object;Lcom/oracle/js/parser/ir/Module;Ljava/lang/String;)V
       116: .line 1713
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setValue:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/PropertyNode;
            astore 10 /* constructor */
        end local 21 // int flags
        end local 20 // com.oracle.js.parser.ir.FunctionNode ctor
       117: .line 1718
      StackMap locals:
      StackMap stack:
            aload 8 /* classNode */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContextClassNode.verifyAllPrivateIdentifiersValid:(Lcom/oracle/js/parser/ParserContext;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 20 /* invalidPrivateIdent */
        start local 20 // com.oracle.js.parser.ir.IdentNode invalidPrivateIdent
       118: .line 1719
            aload 20 /* invalidPrivateIdent */
            ifnull 120
       119: .line 1720
            aload 0 /* this */
            ldc "invalid.private.ident"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 20 /* invalidPrivateIdent */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
       120: .line 1723
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            iload 15 /* hasPrivateMethods */
            ifeq 122
       121: .line 1725
            aload 7 /* classScope */
            new com.oracle.js.parser.ir.Symbol
            dup
            ldc "#constructor"
            sipush 1026
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
       122: .line 1728
      StackMap locals:
      StackMap stack:
            aload 7 /* classScope */
            invokevirtual com.oracle.js.parser.ir.Scope.close:()V
       123: .line 1729
            new com.oracle.js.parser.ir.ClassNode
            dup
            lload 2 /* classToken */
            iload 19 /* classFinish */
            aload 4 /* className */
            aload 9 /* classHeritage */
            aload 10 /* constructor */
            aload 11 /* classElements */
            aload 7 /* classScope */
       124: .line 1730
            iload 13 /* instanceFieldCount */
            iload 14 /* staticFieldCount */
            iload 15 /* hasPrivateMethods */
            iload 16 /* hasPrivateInstanceMethods */
       125: .line 1729
            invokespecial com.oracle.js.parser.ir.ClassNode.<init>:(JILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/PropertyNode;Ljava/util/List;Lcom/oracle/js/parser/ir/Scope;IIZZ)V
            astore 31
       126: .line 1732
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* classNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
       127: .line 1729
            aload 31
            areturn
        end local 20 // com.oracle.js.parser.ir.IdentNode invalidPrivateIdent
        end local 19 // int classFinish
        end local 17 // long lastToken
        end local 16 // boolean hasPrivateInstanceMethods
        end local 15 // boolean hasPrivateMethods
        end local 14 // int staticFieldCount
        end local 13 // int instanceFieldCount
        end local 12 // java.util.Map privateNameToAccessorIndexMap
        end local 11 // java.util.ArrayList classElements
        end local 10 // com.oracle.js.parser.ir.PropertyNode constructor
        end local 9 // com.oracle.js.parser.ir.Expression classHeritage
       128: .line 1731
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ParserContextClassNode
      StackMap stack: java.lang.Throwable
            astore 30
       129: .line 1732
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* classNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
       130: .line 1733
            aload 30
            athrow
        end local 8 // com.oracle.js.parser.ParserContextClassNode classNode
        end local 7 // com.oracle.js.parser.ir.Scope classScope
        end local 6 // boolean await
        end local 5 // boolean yield
        end local 4 // com.oracle.js.parser.ir.IdentNode className
        end local 2 // long classToken
        end local 1 // int classLineNumber
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  131     0                           this  Lcom/oracle/js/parser/Parser;
            0  131     1                classLineNumber  I
            0  131     2                     classToken  J
            0  131     4                      className  Lcom/oracle/js/parser/ir/IdentNode;
            0  131     5                          yield  Z
            0  131     6                          await  Z
            2  131     7                     classScope  Lcom/oracle/js/parser/ir/Scope;
            5  131     8                      classNode  Lcom/oracle/js/parser/ParserContextClassNode;
            7  128     9                  classHeritage  Lcom/oracle/js/parser/ir/Expression;
           11   13    10            invalidPrivateIdent  Lcom/oracle/js/parser/ir/IdentNode;
           15  128    10                    constructor  Lcom/oracle/js/parser/ir/PropertyNode;
           16  128    11                  classElements  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/PropertyNode;>;
           17  128    12  privateNameToAccessorIndexMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
           18  128    13             instanceFieldCount  I
           19  128    14               staticFieldCount  I
           20  128    15              hasPrivateMethods  Z
           21  128    16      hasPrivateInstanceMethods  Z
           27   97    17                       isStatic  Z
           29   32    18                      nextToken  Lcom/oracle/js/parser/TokenType;
           33   97    18              classElementToken  J
           34   97    20               classElementLine  I
           35   97    21                          async  Z
           39   97    22                      generator  Z
           43   97    23                  nameTokenType  Lcom/oracle/js/parser/TokenType;
           46   97    24                       computed  Z
           47   97    25               classElementName  Lcom/oracle/js/parser/ir/Expression;
           49   54    26                   classElement  Lcom/oracle/js/parser/ir/PropertyNode;
           57   97    26                   classElement  Lcom/oracle/js/parser/ir/PropertyNode;
           60   72    27                    privateName  Ljava/lang/String;
           61   72    28                       existing  Ljava/lang/Integer;
           65   72    29                  otherAccessor  Lcom/oracle/js/parser/ir/PropertyNode;
           74   81    27                    lastElement  Lcom/oracle/js/parser/ir/PropertyNode;
           79   81    28                         merged  Lcom/oracle/js/parser/ir/PropertyNode;
           99  128    17                      lastToken  J
          102  128    19                    classFinish  I
          108  117    20                           ctor  Lcom/oracle/js/parser/ir/FunctionNode;
          109  117    21                          flags  I
          118  128    20            invalidPrivateIdent  Lcom/oracle/js/parser/ir/IdentNode;
      Exception table:
        from    to  target  type
           6   126     128  any
    MethodParameters:
                 Name  Flags
      classLineNumber  
      classToken       
      className        
      yield            
      await            

  private com.oracle.js.parser.ir.Expression classElementName(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // boolean allowPrivate
         0: .line 1737
            iload 3 /* allowPrivate */
            ifeq 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
         1: .line 1738
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.privateIdentifierDeclaration:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
         2: .line 1740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.propertyName:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // boolean allowPrivate
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/js/parser/Parser;
            0    3     1         yield  Z
            0    3     2         await  Z
            0    3     3  allowPrivate  Z
    MethodParameters:
              Name  Flags
      yield         
      await         
      allowPrivate  

  private com.oracle.js.parser.ir.IdentNode parsePrivateIdentifier();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 1744
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isClassFields:()Z
            ifne 3
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2021:()Z
            ifne 3
         2: .line 1746
            aload 0 /* this */
            ldc "unexpected.token"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         3: .line 1749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* identToken */
        start local 1 // long identToken
         4: .line 1750
            aload 0 /* this */
            lload 1 /* identToken */
            invokevirtual com.oracle.js.parser.Parser.getValue:(J)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 1751
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         6: .line 1753
            aload 0 /* this */
            lload 1 /* identToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* name */
            invokevirtual com.oracle.js.parser.Parser.createIdentNode:(JILjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPrivate:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 3 // java.lang.String name
        end local 1 // long identToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/js/parser/Parser;
            4    7     1  identToken  J
            5    7     3        name  Ljava/lang/String;

  private com.oracle.js.parser.ir.IdentNode privateIdentifierDeclaration();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 1757
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.parsePrivateIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 1 /* privateIdent */
        start local 1 // com.oracle.js.parser.ir.IdentNode privateIdent
         1: .line 1759
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentClass:()Lcom/oracle/js/parser/ParserContextClassNode;
            astore 2 /* currentClass */
        start local 2 // com.oracle.js.parser.ParserContextClassNode currentClass
         2: .line 1760
            aload 2 /* currentClass */
            ifnonnull 4
         3: .line 1761
            aload 0 /* this */
            ldc "invalid.private.ident"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* privateIdent */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 1764
      StackMap locals: com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextClassNode
      StackMap stack:
            aload 1 /* privateIdent */
            areturn
        end local 2 // com.oracle.js.parser.ParserContextClassNode currentClass
        end local 1 // com.oracle.js.parser.ir.IdentNode privateIdent
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/oracle/js/parser/Parser;
            1    5     1  privateIdent  Lcom/oracle/js/parser/ir/IdentNode;
            2    5     2  currentClass  Lcom/oracle/js/parser/ParserContextClassNode;

  private void declarePrivateName(com.oracle.js.parser.ir.Scope, com.oracle.js.parser.ir.PropertyNode);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/PropertyNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Scope classScope
        start local 2 // com.oracle.js.parser.ir.PropertyNode classElement
         0: .line 1770
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
            ifeq 1
            ldc 262144
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* privateFlags */
        start local 3 // int privateFlags
         3: .line 1771
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
            ifne 7
         4: .line 1772
            iload 3 /* privateFlags */
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isAccessor:()Z
            ifeq 5
            ldc 1048576
            goto 6
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.PropertyNode int
      StackMap stack: int
         5: ldc 524288
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.PropertyNode int
      StackMap stack: int int
         6: ior
            istore 3 /* privateFlags */
         7: .line 1774
      StackMap locals:
      StackMap stack:
            aload 1 /* classScope */
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
            iload 3 /* privateFlags */
            invokevirtual com.oracle.js.parser.ir.Scope.addPrivateName:(Ljava/lang/String;I)Z
            ifne 9
         8: .line 1775
            aload 0 /* this */
            ldc "syntax.error.redeclare.variable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* classElement */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         9: .line 1777
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int privateFlags
        end local 2 // com.oracle.js.parser.ir.PropertyNode classElement
        end local 1 // com.oracle.js.parser.ir.Scope classScope
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/js/parser/Parser;
            0   10     1    classScope  Lcom/oracle/js/parser/ir/Scope;
            0   10     2  classElement  Lcom/oracle/js/parser/ir/PropertyNode;
            3   10     3  privateFlags  I
    MethodParameters:
              Name  Flags
      classScope    
      classElement  

  private com.oracle.js.parser.ir.IdentNode privateIdentifierUse();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 1780
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.parsePrivateIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 1 /* privateIdent */
        start local 1 // com.oracle.js.parser.ir.IdentNode privateIdent
         1: .line 1782
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentClass:()Lcom/oracle/js/parser/ParserContextClassNode;
            astore 2 /* currentClass */
        start local 2 // com.oracle.js.parser.ParserContextClassNode currentClass
         2: .line 1786
            aload 2 /* currentClass */
            ifnull 5
         3: .line 1787
            aload 2 /* currentClass */
            aload 1 /* privateIdent */
            invokevirtual com.oracle.js.parser.ParserContextClassNode.usePrivateName:(Lcom/oracle/js/parser/ir/IdentNode;)V
         4: .line 1788
            goto 7
         5: .line 1789
      StackMap locals: com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextClassNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 1 /* privateIdent */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ir.Scope.findPrivateName:(Ljava/lang/String;)Z
            ifne 7
         6: .line 1790
            aload 0 /* this */
            ldc "invalid.private.ident"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* privateIdent */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         7: .line 1794
      StackMap locals:
      StackMap stack:
            aload 1 /* privateIdent */
            areturn
        end local 2 // com.oracle.js.parser.ParserContextClassNode currentClass
        end local 1 // com.oracle.js.parser.ir.IdentNode privateIdent
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/oracle/js/parser/Parser;
            1    8     1  privateIdent  Lcom/oracle/js/parser/ir/IdentNode;
            2    8     2  currentClass  Lcom/oracle/js/parser/ParserContextClassNode;

  private boolean isClassFieldDefinition(com.oracle.js.parser.TokenType);
    descriptor: (Lcom/oracle/js/parser/TokenType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.TokenType nameTokenType
         0: .line 1798
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isClassFields:()Z
            ifne 2
         1: .line 1799
            iconst_0
            ireturn
         2: .line 1802
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                   15: 4
                   32: 3
                   37: 3
                   57: 3
              default: 5
          }
         3: .line 1807
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 1810
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 1812
      StackMap locals:
      StackMap stack:
            aload 1 /* nameTokenType */
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 6
            aload 1 /* nameTokenType */
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         6: .line 1814
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 1817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.last:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
         8: .line 1819
            iconst_1
            ireturn
         9: .line 1822
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.TokenType nameTokenType
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/oracle/js/parser/Parser;
            0   10     1  nameTokenType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
               Name  Flags
      nameTokenType  final

  private com.oracle.js.parser.ir.PropertyNode createDefaultClassConstructor(int, long, long, com.oracle.js.parser.ir.IdentNode, boolean);
    descriptor: (IJJLcom/oracle/js/parser/ir/IdentNode;Z)Lcom/oracle/js/parser/ir/PropertyNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=18, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int classLineNumber
        start local 2 // long classToken
        start local 4 // long lastToken
        start local 6 // com.oracle.js.parser.ir.IdentNode className
        start local 7 // boolean derived
         0: .line 1828
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            istore 8 /* ctorFinish */
        start local 8 // int ctorFinish
         1: .line 1831
            lload 2 /* classToken */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 11 /* identToken */
        start local 11 // long identToken
         2: .line 1832
            iload 7 /* derived */
            ifeq 10
         3: .line 1833
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 11 /* identToken */
            iload 8 /* ctorFinish */
            getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsDirectSuper:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 13 /* superIdent */
        start local 13 // com.oracle.js.parser.ir.IdentNode superIdent
         4: .line 1834
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 11 /* identToken */
            iload 8 /* ctorFinish */
            ldc "args"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsRestParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 14 /* argsIdent */
        start local 14 // com.oracle.js.parser.ir.IdentNode argsIdent
         5: .line 1835
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 2 /* classToken */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 14 /* argsIdent */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            astore 15 /* spreadArgs */
        start local 15 // com.oracle.js.parser.ir.Expression spreadArgs
         6: .line 1836
            iload 1 /* classLineNumber */
            lload 2 /* classToken */
            lload 2 /* classToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            iload 8 /* ctorFinish */
            aload 13 /* superIdent */
            aload 15 /* spreadArgs */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;)Lcom/oracle/js/parser/ir/Expression;
            astore 16 /* superCall */
        start local 16 // com.oracle.js.parser.ir.Expression superCall
         7: .line 1837
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 1 /* classLineNumber */
            lload 2 /* classToken */
            iload 8 /* ctorFinish */
            aload 16 /* superCall */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 9 /* statements */
        start local 9 // java.util.List statements
         8: .line 1838
            aload 14 /* argsIdent */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 10 /* parameters */
        end local 16 // com.oracle.js.parser.ir.Expression superCall
        end local 15 // com.oracle.js.parser.ir.Expression spreadArgs
        end local 14 // com.oracle.js.parser.ir.IdentNode argsIdent
        end local 13 // com.oracle.js.parser.ir.IdentNode superIdent
        start local 10 // java.util.List parameters
         9: .line 1839
            goto 12
        end local 10 // java.util.List parameters
        end local 9 // java.util.List statements
        10: .line 1840
      StackMap locals: com.oracle.js.parser.Parser int long long com.oracle.js.parser.ir.IdentNode int int top top long
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 9 /* statements */
        start local 9 // java.util.List statements
        11: .line 1841
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 10 /* parameters */
        start local 10 // java.util.List parameters
        12: .line 1843
      StackMap locals: com.oracle.js.parser.Parser int long long com.oracle.js.parser.ir.IdentNode int int java.util.List java.util.List long
      StackMap stack:
            ldc 3145728
            istore 13 /* functionFlags */
        start local 13 // int functionFlags
        13: .line 1844
            aload 0 /* this */
            aload 6 /* className */
            lload 2 /* classToken */
            iload 13 /* functionFlags */
            iload 1 /* classLineNumber */
            aload 10 /* parameters */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 14 /* function */
        start local 14 // com.oracle.js.parser.ParserContextFunctionNode function
        14: .line 1845
            aload 14 /* function */
            lload 4 /* lastToken */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        15: .line 1847
            aload 14 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 15 /* scope */
        start local 15 // com.oracle.js.parser.ir.Scope scope
        16: .line 1848
            aload 15 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.close:()V
        17: .line 1849
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* classToken */
            iload 8 /* ctorFinish */
            bipush 32
            aload 15 /* scope */
            aload 9 /* statements */
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            astore 16 /* body */
        start local 16 // com.oracle.js.parser.ir.Block body
        18: .line 1851
            iload 7 /* derived */
            ifeq 21
        19: .line 1852
            aload 14 /* function */
            ldc 4194304
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        20: .line 1853
            aload 14 /* function */
            ldc 262144
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        21: .line 1855
      StackMap locals: com.oracle.js.parser.Parser int long long com.oracle.js.parser.ir.IdentNode int int java.util.List java.util.List long int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 6 /* className */
            ifnonnull 24
        22: .line 1856
            aload 14 /* function */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        23: .line 1857
            aload 14 /* function */
            ldc "constructor"
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
        24: .line 1860
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 2 /* classToken */
            iload 8 /* ctorFinish */
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 11 /* identToken */
            iload 8 /* ctorFinish */
            ldc "constructor"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
        25: .line 1861
            aload 0 /* this */
            aload 14 /* function */
            lload 2 /* classToken */
            aload 6 /* className */
            iload 1 /* classLineNumber */
            aload 16 /* body */
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
        26: .line 1862
            aconst_null
            aconst_null
            iconst_0
            iconst_0
            iconst_0
            iconst_0
        27: .line 1860
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            astore 17 /* constructor */
        start local 17 // com.oracle.js.parser.ir.PropertyNode constructor
        28: .line 1863
            aload 17 /* constructor */
            areturn
        end local 17 // com.oracle.js.parser.ir.PropertyNode constructor
        end local 16 // com.oracle.js.parser.ir.Block body
        end local 15 // com.oracle.js.parser.ir.Scope scope
        end local 14 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 13 // int functionFlags
        end local 11 // long identToken
        end local 10 // java.util.List parameters
        end local 9 // java.util.List statements
        end local 8 // int ctorFinish
        end local 7 // boolean derived
        end local 6 // com.oracle.js.parser.ir.IdentNode className
        end local 4 // long lastToken
        end local 2 // long classToken
        end local 1 // int classLineNumber
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Lcom/oracle/js/parser/Parser;
            0   29     1  classLineNumber  I
            0   29     2       classToken  J
            0   29     4        lastToken  J
            0   29     6        className  Lcom/oracle/js/parser/ir/IdentNode;
            0   29     7          derived  Z
            1   29     8       ctorFinish  I
            8   10     9       statements  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
           11   29     9       statements  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
            9   10    10       parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
           12   29    10       parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            2   29    11       identToken  J
            4    9    13       superIdent  Lcom/oracle/js/parser/ir/IdentNode;
            5    9    14        argsIdent  Lcom/oracle/js/parser/ir/IdentNode;
            6    9    15       spreadArgs  Lcom/oracle/js/parser/ir/Expression;
            7    9    16        superCall  Lcom/oracle/js/parser/ir/Expression;
           13   29    13    functionFlags  I
           14   29    14         function  Lcom/oracle/js/parser/ParserContextFunctionNode;
           16   29    15            scope  Lcom/oracle/js/parser/ir/Scope;
           18   29    16             body  Lcom/oracle/js/parser/ir/Block;
           28   29    17      constructor  Lcom/oracle/js/parser/ir/PropertyNode;
    MethodParameters:
                 Name  Flags
      classLineNumber  
      classToken       
      lastToken        
      className        
      derived          

  private com.oracle.js.parser.ir.PropertyNode methodDefinition(com.oracle.js.parser.ir.Expression, boolean, boolean, boolean, boolean, long, int, boolean, boolean, com.oracle.js.parser.TokenType, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;ZZZZJIZZLcom/oracle/js/parser/TokenType;Z)Lcom/oracle/js/parser/ir/PropertyNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=16, args_size=12
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression propertyName
        start local 2 // boolean isStatic
        start local 3 // boolean derived
        start local 4 // boolean generator
        start local 5 // boolean async
        start local 6 // long startToken
        start local 8 // int methodLine
        start local 9 // boolean yield
        start local 10 // boolean await
        start local 11 // com.oracle.js.parser.TokenType nameTokenType
        start local 12 // boolean computed
         0: .line 1868
            ldc 1048576
            istore 13 /* flags */
        start local 13 // int flags
         1: .line 1869
            iload 12 /* computed */
            ifne 16
         2: .line 1870
            aload 1 /* propertyName */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            astore 14 /* name */
        start local 14 // java.lang.String name
         3: .line 1871
            iload 4 /* generator */
            ifne 7
            aload 11 /* nameTokenType */
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 7
         4: .line 1872
            aload 0 /* this */
            lload 6 /* startToken */
            iload 8 /* methodLine */
            iload 9 /* yield */
            iload 10 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.propertyGetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            astore 15 /* methodDefinition */
        start local 15 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
         5: .line 1873
            aload 0 /* this */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            iload 2 /* isStatic */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iload 4 /* generator */
            iconst_1
            iload 5 /* async */
            invokevirtual com.oracle.js.parser.Parser.verifyAllowedMethodName:(Lcom/oracle/js/parser/ir/Expression;ZZZZZ)V
         6: .line 1874
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 6 /* startToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            aconst_null
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            aconst_null
            iload 2 /* isStatic */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 15 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
         7: .line 1875
      StackMap locals: int java.lang.String
      StackMap stack:
            iload 4 /* generator */
            ifne 11
            aload 11 /* nameTokenType */
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 11
         8: .line 1876
            aload 0 /* this */
            lload 6 /* startToken */
            iload 8 /* methodLine */
            iload 9 /* yield */
            iload 10 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.propertySetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            astore 15 /* methodDefinition */
        start local 15 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
         9: .line 1877
            aload 0 /* this */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            iload 2 /* isStatic */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iload 4 /* generator */
            iconst_1
            iload 5 /* async */
            invokevirtual com.oracle.js.parser.Parser.verifyAllowedMethodName:(Lcom/oracle/js/parser/ir/Expression;ZZZZZ)V
        10: .line 1878
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 6 /* startToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            aconst_null
            aconst_null
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            iload 2 /* isStatic */
            aload 15 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 15 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
        11: .line 1880
      StackMap locals:
      StackMap stack:
            iload 2 /* isStatic */
            ifne 15
            iload 4 /* generator */
            ifne 15
            aload 14 /* name */
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 1881
            iload 13 /* flags */
            ldc 2097152
            ior
            istore 13 /* flags */
        13: .line 1882
            iload 3 /* derived */
            ifeq 15
        14: .line 1883
            iload 13 /* flags */
            ldc 4194304
            ior
            istore 13 /* flags */
        15: .line 1886
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* propertyName */
            iload 2 /* isStatic */
            iload 12 /* computed */
            iload 4 /* generator */
            iconst_0
            iload 5 /* async */
            invokevirtual com.oracle.js.parser.Parser.verifyAllowedMethodName:(Lcom/oracle/js/parser/ir/Expression;ZZZZZ)V
        end local 14 // java.lang.String name
        16: .line 1889
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* propertyName */
            lload 6 /* startToken */
            iload 8 /* methodLine */
            iload 4 /* generator */
            iload 13 /* flags */
            iload 12 /* computed */
            iload 5 /* async */
            invokevirtual com.oracle.js.parser.Parser.propertyMethodFunction:(Lcom/oracle/js/parser/ir/Expression;JIZIZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            astore 14 /* methodDefinition */
        start local 14 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
        17: .line 1890
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 6 /* startToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            aload 14 /* methodDefinition */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            aconst_null
            aconst_null
            iload 2 /* isStatic */
            iload 12 /* computed */
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 14 // com.oracle.js.parser.Parser$PropertyFunction methodDefinition
        end local 13 // int flags
        end local 12 // boolean computed
        end local 11 // com.oracle.js.parser.TokenType nameTokenType
        end local 10 // boolean await
        end local 9 // boolean yield
        end local 8 // int methodLine
        end local 6 // long startToken
        end local 5 // boolean async
        end local 4 // boolean generator
        end local 3 // boolean derived
        end local 2 // boolean isStatic
        end local 1 // com.oracle.js.parser.ir.Expression propertyName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lcom/oracle/js/parser/Parser;
            0   18     1      propertyName  Lcom/oracle/js/parser/ir/Expression;
            0   18     2          isStatic  Z
            0   18     3           derived  Z
            0   18     4         generator  Z
            0   18     5             async  Z
            0   18     6        startToken  J
            0   18     8        methodLine  I
            0   18     9             yield  Z
            0   18    10             await  Z
            0   18    11     nameTokenType  Lcom/oracle/js/parser/TokenType;
            0   18    12          computed  Z
            1   18    13             flags  I
            3   16    14              name  Ljava/lang/String;
            5    7    15  methodDefinition  Lcom/oracle/js/parser/Parser$PropertyFunction;
            9   11    15  methodDefinition  Lcom/oracle/js/parser/Parser$PropertyFunction;
           17   18    14  methodDefinition  Lcom/oracle/js/parser/Parser$PropertyFunction;
    MethodParameters:
               Name  Flags
      propertyName   
      isStatic       
      derived        
      generator      
      async          
      startToken     
      methodLine     
      yield          
      await          
      nameTokenType  
      computed       

  private void verifyAllowedMethodName(com.oracle.js.parser.ir.Expression, boolean, boolean, boolean, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;ZZZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression key
        start local 2 // boolean isStatic
        start local 3 // boolean computed
        start local 4 // boolean generator
        start local 5 // boolean accessor
        start local 6 // boolean async
         0: .line 1897
            iload 3 /* computed */
            ifne 12
         1: .line 1898
            aload 1 /* key */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         2: .line 1899
            iload 2 /* isStatic */
            ifne 4
            iload 4 /* generator */
            ifeq 4
            aload 7 /* name */
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1900
            aload 0 /* this */
            ldc "generator.constructor"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* key */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 1902
      StackMap locals: java.lang.String
      StackMap stack:
            iload 2 /* isStatic */
            ifne 6
            iload 5 /* accessor */
            ifeq 6
            aload 7 /* name */
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1903
            aload 0 /* this */
            ldc "accessor.constructor"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* key */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         6: .line 1905
      StackMap locals:
      StackMap stack:
            iload 2 /* isStatic */
            ifne 8
            iload 6 /* async */
            ifeq 8
            aload 7 /* name */
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1906
            aload 0 /* this */
            ldc "async.constructor"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* key */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         8: .line 1908
      StackMap locals:
      StackMap stack:
            iload 2 /* isStatic */
            ifeq 10
            aload 7 /* name */
            ldc "prototype"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1909
            aload 0 /* this */
            ldc "static.prototype.method"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* key */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        10: .line 1911
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            ldc "#constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1912
            aload 0 /* this */
            ldc "private.constructor.method"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* key */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 7 // java.lang.String name
        12: .line 1915
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean async
        end local 5 // boolean accessor
        end local 4 // boolean generator
        end local 3 // boolean computed
        end local 2 // boolean isStatic
        end local 1 // com.oracle.js.parser.ir.Expression key
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/oracle/js/parser/Parser;
            0   13     1        key  Lcom/oracle/js/parser/ir/Expression;
            0   13     2   isStatic  Z
            0   13     3   computed  Z
            0   13     4  generator  Z
            0   13     5   accessor  Z
            0   13     6      async  Z
            2   12     7       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      key        
      isStatic   
      computed   
      generator  
      accessor   
      async      

  private com.oracle.js.parser.ir.PropertyNode fieldDefinition(com.oracle.js.parser.ir.Expression, boolean, long, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;ZJZ)Lcom/oracle/js/parser/ir/PropertyNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=9, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression propertyName
        start local 2 // boolean isStatic
        start local 3 // long startToken
        start local 5 // boolean computed
         0: .line 1919
            iload 5 /* computed */
            ifne 6
            aload 1 /* propertyName */
            instanceof com.oracle.js.parser.ir.PropertyKey
            ifeq 6
         1: .line 1920
            aload 1 /* propertyName */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         2: .line 1921
            ldc "constructor"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            ldc "#constructor"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1922
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "constructor.field"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 3 /* startToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 1924
      StackMap locals:
      StackMap stack:
            iload 2 /* isStatic */
            ifeq 6
            ldc "prototype"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1925
            aload 0 /* this */
            ldc "static.prototype.field"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 3 /* startToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 6 // java.lang.String name
         6: .line 1929
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* initializer */
        start local 6 // com.oracle.js.parser.ir.FunctionNode initializer
         7: .line 1930
            iconst_0
            istore 7 /* isAnonymousFunctionDefinition */
        start local 7 // boolean isAnonymousFunctionDefinition
         8: .line 1931
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 14
         9: .line 1932
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 1935
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            lload 3 /* startToken */
            aload 1 /* propertyName */
            iload 5 /* computed */
            invokevirtual com.oracle.js.parser.Parser.fieldInitializer:(IJLcom/oracle/js/parser/ir/Expression;Z)Lorg/graalvm/collections/Pair;
            astore 8 /* pair */
        start local 8 // org.graalvm.collections.Pair pair
        11: .line 1936
            aload 8 /* pair */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 6 /* initializer */
        12: .line 1937
            aload 8 /* pair */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* isAnonymousFunctionDefinition */
        13: .line 1939
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        end local 8 // org.graalvm.collections.Pair pair
        14: .line 1941
      StackMap locals: com.oracle.js.parser.ir.FunctionNode int
      StackMap stack:
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 3 /* startToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 1 /* propertyName */
            aload 6 /* initializer */
            aconst_null
            aconst_null
            iload 2 /* isStatic */
            iload 5 /* computed */
            iconst_0
            iconst_0
            iconst_1
            iload 7 /* isAnonymousFunctionDefinition */
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZZZ)V
            areturn
        end local 7 // boolean isAnonymousFunctionDefinition
        end local 6 // com.oracle.js.parser.ir.FunctionNode initializer
        end local 5 // boolean computed
        end local 3 // long startToken
        end local 2 // boolean isStatic
        end local 1 // com.oracle.js.parser.ir.Expression propertyName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   15     0                           this  Lcom/oracle/js/parser/Parser;
            0   15     1                   propertyName  Lcom/oracle/js/parser/ir/Expression;
            0   15     2                       isStatic  Z
            0   15     3                     startToken  J
            0   15     5                       computed  Z
            2    6     6                           name  Ljava/lang/String;
            7   15     6                    initializer  Lcom/oracle/js/parser/ir/FunctionNode;
            8   15     7  isAnonymousFunctionDefinition  Z
           11   14     8                           pair  Lorg/graalvm/collections/Pair<Lcom/oracle/js/parser/ir/FunctionNode;Ljava/lang/Boolean;>;
    MethodParameters:
              Name  Flags
      propertyName  
      isStatic      
      startToken    
      computed      

  private org.graalvm.collections.Pair<com.oracle.js.parser.ir.FunctionNode, java.lang.Boolean> fieldInitializer(int, long, com.oracle.js.parser.ir.Expression, boolean);
    descriptor: (IJLcom/oracle/js/parser/ir/Expression;Z)Lorg/graalvm/collections/Pair;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int lineNumber
        start local 2 // long fieldToken
        start local 4 // com.oracle.js.parser.ir.Expression propertyName
        start local 5 // boolean computed
         0: .line 1945
            ldc 1074790401
            istore 6 /* functionFlags */
        start local 6 // int functionFlags
         1: .line 1946
            aload 0 /* this */
            aconst_null
            lload 2 /* fieldToken */
            iload 6 /* functionFlags */
            iload 1 /* lineNumber */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 7 /* function */
        start local 7 // com.oracle.js.parser.ParserContextFunctionNode function
         2: .line 1947
            aload 7 /* function */
            ldc ":initializer"
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
         3: .line 1948
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 7 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         4: .line 1949
            aload 0 /* this */
            aload 7 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 8 /* body */
        start local 8 // com.oracle.js.parser.ParserContextBlockNode body
         5: .line 1952
            aload 0 /* this */
            iconst_1
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* initializer */
        start local 9 // com.oracle.js.parser.ir.Expression initializer
         6: .line 1953
            goto 11
        end local 9 // com.oracle.js.parser.ir.Expression initializer
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.Expression int int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
         7: astore 10
         8: .line 1954
            aload 0 /* this */
            aload 8 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
         9: .line 1955
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 7 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        10: .line 1956
            aload 10
            athrow
        start local 9 // com.oracle.js.parser.ir.Expression initializer
        11: .line 1954
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aload 8 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        12: .line 1955
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 7 /* function */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        13: .line 1959
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 14
            aload 7 /* function */
            bipush 8
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 1960
      StackMap locals:
      StackMap stack:
            aload 7 /* function */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        15: .line 1962
            iconst_0
            istore 10 /* isAnonymousFunctionDefinition */
        start local 10 // boolean isAnonymousFunctionDefinition
        16: .line 1963
            aload 9 /* initializer */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 21
        17: .line 1964
            iload 5 /* computed */
            ifne 20
            aload 4 /* propertyName */
            instanceof com.oracle.js.parser.ir.PropertyKey
            ifeq 20
        18: .line 1965
            aload 0 /* this */
            aload 9 /* initializer */
            aload 4 /* propertyName */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* initializer */
        19: .line 1966
            goto 21
        20: .line 1967
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 10 /* isAnonymousFunctionDefinition */
        21: .line 1971
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.ReturnNode
            dup
            iload 1 /* lineNumber */
            lload 2 /* fieldToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 9 /* initializer */
            invokespecial com.oracle.js.parser.ir.ReturnNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 11 /* statements */
        start local 11 // java.util.List statements
        22: .line 1972
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* fieldToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            bipush 48
            aload 8 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 11 /* statements */
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            astore 12 /* bodyBlock */
        start local 12 // com.oracle.js.parser.ir.Block bodyBlock
        23: .line 1973
            aload 0 /* this */
            aload 7 /* function */
            lload 2 /* fieldToken */
            aconst_null
            iload 1 /* lineNumber */
            aload 12 /* bodyBlock */
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            iload 10 /* isAnonymousFunctionDefinition */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            areturn
        end local 12 // com.oracle.js.parser.ir.Block bodyBlock
        end local 11 // java.util.List statements
        end local 10 // boolean isAnonymousFunctionDefinition
        end local 9 // com.oracle.js.parser.ir.Expression initializer
        end local 8 // com.oracle.js.parser.ParserContextBlockNode body
        end local 7 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 6 // int functionFlags
        end local 5 // boolean computed
        end local 4 // com.oracle.js.parser.ir.Expression propertyName
        end local 2 // long fieldToken
        end local 1 // int lineNumber
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   24     0                           this  Lcom/oracle/js/parser/Parser;
            0   24     1                     lineNumber  I
            0   24     2                     fieldToken  J
            0   24     4                   propertyName  Lcom/oracle/js/parser/ir/Expression;
            0   24     5                       computed  Z
            1   24     6                  functionFlags  I
            2   24     7                       function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            5   24     8                           body  Lcom/oracle/js/parser/ParserContextBlockNode;
            6    7     9                    initializer  Lcom/oracle/js/parser/ir/Expression;
           11   24     9                    initializer  Lcom/oracle/js/parser/ir/Expression;
           16   24    10  isAnonymousFunctionDefinition  Z
           22   24    11                     statements  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
           23   24    12                      bodyBlock  Lcom/oracle/js/parser/ir/Block;
      Exception table:
        from    to  target  type
           5     7       7  any
    Signature: (IJLcom/oracle/js/parser/ir/Expression;Z)Lorg/graalvm/collections/Pair<Lcom/oracle/js/parser/ir/FunctionNode;Ljava/lang/Boolean;>;
    MethodParameters:
              Name  Flags
      lineNumber    
      fieldToken    
      propertyName  
      computed      

  private boolean isPropertyName(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long currentToken
         0: .line 1977
            lload 1 /* currentToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 3 /* currentType */
        start local 3 // com.oracle.js.parser.TokenType currentType
         1: .line 1978
            getstatic com.oracle.js.parser.Parser.ES6_COMPUTED_PROPERTY_NAME:Z
            ifeq 3
            aload 3 /* currentType */
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 3
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 3
         2: .line 1980
            iconst_1
            ireturn
         3: .line 1983
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 3 /* currentType */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            tableswitch { // 115 - 126
                  115: 7
                  116: 5
                  117: 7
                  118: 5
                  119: 7
                  120: 7
                  121: 7
                  122: 7
                  123: 7
                  124: 7
                  125: 8
                  126: 4
              default: 8
          }
         4: .line 1985
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 1988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 7
         6: .line 1989
            iconst_0
            ireturn
         7: .line 1999
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 2001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* currentToken */
            invokevirtual com.oracle.js.parser.Parser.isIdentifierName:(J)Z
            ireturn
        end local 3 // com.oracle.js.parser.TokenType currentType
        end local 1 // long currentToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/oracle/js/parser/Parser;
            0    9     1  currentToken  J
            1    9     3   currentType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
              Name  Flags
      currentToken  

  private void block();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2014
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.getBlock:(Z)Lcom/oracle/js/parser/ir/Block;
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         1: .line 2015
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private void statementList();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2028
            goto 4
         1: .line 2029
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                    2: 2
                   57: 2
                   67: 2
                   73: 2
              default: 3
          }
         2: .line 2034
      StackMap locals:
      StackMap stack:
            goto 5
         3: .line 2040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.statement:()V
         4: .line 2028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
         5: .line 2042
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/js/parser/Parser;

  private void verifyIdent(com.oracle.js.parser.ir.IdentNode, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 2052
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 4
         1: .line 2053
            aload 1 /* ident */
            invokestatic com.oracle.js.parser.Parser.isEscapedIdent:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 3
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.Parser.isReservedWordSequence:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 2054
            aload 0 /* this */
            ldc "escaped.keyword"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         3: .line 2056
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 4
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.Parser.isReservedWordSequence:(Ljava/lang/String;)Z
            ifeq 4
            new java.lang.AssertionError
            dup
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2061
      StackMap locals:
      StackMap stack:
            iload 2 /* yield */
            ifeq 10
         5: .line 2062
            aload 1 /* ident */
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.IdentNode.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 7
         6: .line 2063
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;J)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         7: .line 2064
      StackMap locals:
      StackMap stack:
            aload 1 /* ident */
            invokestatic com.oracle.js.parser.Parser.isEscapedIdent:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 9
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 2065
            aload 0 /* this */
            ldc "escaped.keyword"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         9: .line 2067
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 10
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 2072
      StackMap locals:
      StackMap stack:
            iload 3 /* await */
            ifne 11
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            ifeq 16
        11: .line 2073
      StackMap locals:
      StackMap stack:
            aload 1 /* ident */
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.IdentNode.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 13
        12: .line 2074
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;J)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        13: .line 2075
      StackMap locals:
      StackMap stack:
            aload 1 /* ident */
            invokestatic com.oracle.js.parser.Parser.isEscapedIdent:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 15
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 2076
            aload 0 /* this */
            ldc "escaped.keyword"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        15: .line 2078
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 16
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 2081
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lcom/oracle/js/parser/Parser;
            0   17     1  ident  Lcom/oracle/js/parser/ir/IdentNode;
            0   17     2  yield  Z
            0   17     3  await  Z
    MethodParameters:
       Name  Flags
      ident  final
      yield  final
      await  final

  private static boolean isEscapedIdent(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 2084
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private static boolean isReservedWordSequence(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 2088
            aload 0 /* name */
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_0
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            invokestatic com.oracle.js.parser.TokenLookup.lookupKeyword:([CII)Lcom/oracle/js/parser/TokenType;
            astore 1 /* tokenType */
        start local 1 // com.oracle.js.parser.TokenType tokenType
         1: .line 2089
            aload 1 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            aload 1 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 2
            aload 1 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.isFutureStrict:()Z
            ifne 2
            iconst_1
            ireturn
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.TokenType tokenType
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       name  Ljava/lang/String;
            1    3     1  tokenType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
      Name  Flags
      name  final

  private void verifyStrictIdent(com.oracle.js.parser.ir.IdentNode, java.lang.String, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // java.lang.String contextString
        start local 3 // boolean bindingIdentifier
         0: .line 2099
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 3
         1: .line 2100
            aload 1 /* ident */
            iload 3 /* bindingIdentifier */
            invokestatic com.oracle.js.parser.Parser.isValidStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Z)Z
            ifne 3
         2: .line 2101
            aload 0 /* this */
            ldc "strict.name"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* contextString */
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         3: .line 2104
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bindingIdentifier
        end local 2 // java.lang.String contextString
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/oracle/js/parser/Parser;
            0    4     1              ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    4     2      contextString  Ljava/lang/String;
            0    4     3  bindingIdentifier  Z
    MethodParameters:
                   Name  Flags
      ident              final
      contextString      final
      bindingIdentifier  final

  private void verifyStrictIdent(com.oracle.js.parser.ir.IdentNode, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // java.lang.String contextString
         0: .line 2107
            aload 0 /* this */
            aload 1 /* ident */
            aload 2 /* contextString */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;Z)V
         1: .line 2108
            return
        end local 2 // java.lang.String contextString
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/js/parser/Parser;
            0    2     1          ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    2     2  contextString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      ident          final
      contextString  final

  private static boolean isValidStrictIdent(com.oracle.js.parser.ir.IdentNode, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.ir.IdentNode ident
        start local 1 // boolean bindingIdentifier
         0: .line 2111
            iload 1 /* bindingIdentifier */
            ifeq 5
         1: .line 2112
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -2035517098: 2
              3125404: 3
              default: 5
          }
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 2
            ldc "arguments"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "eval"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 5
         4: .line 2115
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 2121
      StackMap locals:
      StackMap stack:
            aload 0 /* ident */
            invokestatic com.oracle.js.parser.Parser.isFutureStrictName:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 7
         6: .line 2122
            iconst_0
            ireturn
         7: .line 2124
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // boolean bindingIdentifier
        end local 0 // com.oracle.js.parser.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0              ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    8     1  bindingIdentifier  Z
    MethodParameters:
                   Name  Flags
      ident              final
      bindingIdentifier  final

  private static boolean isFutureStrictName(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 2133
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.tokenType:()Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isFutureStrict:()Z
            ifeq 2
         1: .line 2134
            iconst_1
            ireturn
         2: .line 2135
      StackMap locals:
      StackMap stack:
            aload 0 /* ident */
            invokestatic com.oracle.js.parser.Parser.isEscapedIdent:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 6
         3: .line 2136
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_0
            aload 0 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic com.oracle.js.parser.TokenLookup.lookupKeyword:([CII)Lcom/oracle/js/parser/TokenType;
            astore 1 /* tokenType */
        start local 1 // com.oracle.js.parser.TokenType tokenType
         4: .line 2137
            aload 1 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 5
            aload 1 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.isFutureStrict:()Z
            ifeq 5
            iconst_1
            ireturn
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.TokenType tokenType
         6: .line 2139
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      ident  Lcom/oracle/js/parser/ir/IdentNode;
            4    6     1  tokenType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
       Name  Flags
      ident  final

  private void variableStatement(com.oracle.js.parser.TokenType);
    descriptor: (Lcom/oracle/js/parser/TokenType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.TokenType varType
         0: .line 2161
            aload 0 /* this */
            aload 1 /* varType */
            iconst_1
            iconst_m1
            invokevirtual com.oracle.js.parser.Parser.variableDeclarationList:(Lcom/oracle/js/parser/TokenType;ZI)Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
            pop
         1: .line 2162
            return
        end local 1 // com.oracle.js.parser.TokenType varType
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/js/parser/Parser;
            0    2     1  varType  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
         Name  Flags
      varType  final

  private com.oracle.js.parser.Parser$ForVariableDeclarationListResult variableDeclarationList(com.oracle.js.parser.TokenType, boolean, int);
    descriptor: (Lcom/oracle/js/parser/TokenType;ZI)Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=16, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.TokenType varType
        start local 2 // boolean isStatement
        start local 3 // int sourceOrder
         0: .line 2210
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            istore 4 /* varStart */
        start local 4 // int varStart
         1: .line 2211
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2212
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2214
            iconst_0
            istore 5 /* varFlags */
        start local 5 // int varFlags
         4: .line 2215
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         5: .line 2216
            iload 5 /* varFlags */
            iconst_1
            ior
            istore 5 /* varFlags */
         6: .line 2217
            goto 9
      StackMap locals: int
      StackMap stack:
         7: aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
         8: .line 2218
            iload 5 /* varFlags */
            iconst_2
            ior
            istore 5 /* varFlags */
         9: .line 2221
      StackMap locals:
      StackMap stack:
            iload 2 /* isStatement */
            ifeq 10
            aconst_null
            goto 11
      StackMap locals:
      StackMap stack:
        10: new com.oracle.js.parser.Parser$ForVariableDeclarationListResult
            dup
            invokespecial com.oracle.js.parser.Parser$ForVariableDeclarationListResult.<init>:()V
      StackMap locals:
      StackMap stack: com.oracle.js.parser.Parser$ForVariableDeclarationListResult
        11: astore 6 /* forResult */
        start local 6 // com.oracle.js.parser.Parser$ForVariableDeclarationListResult forResult
        12: .line 2222
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 7 /* scope */
        start local 7 // com.oracle.js.parser.ir.Scope scope
        13: .line 2225
      StackMap locals: com.oracle.js.parser.Parser$ForVariableDeclarationListResult com.oracle.js.parser.ir.Scope
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 8 /* varLine */
        start local 8 // int varLine
        14: .line 2226
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            aload 1 /* varType */
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 9 /* varToken */
        start local 9 // long varToken
        15: .line 2229
            aload 0 /* this */
            ldc "variable name"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifierOrPattern:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* binding */
        start local 11 // com.oracle.js.parser.ir.Expression binding
        16: .line 2230
            aload 11 /* binding */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 17
            iconst_0
            goto 18
      StackMap locals: int long com.oracle.js.parser.ir.Expression
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 12 /* isDestructuring */
        start local 12 // boolean isDestructuring
        19: .line 2231
            iload 12 /* isDestructuring */
            ifeq 22
        20: .line 2232
            iload 5 /* varFlags */
            bipush 16
            ior
            istore 13 /* finalVarFlags */
        start local 13 // int finalVarFlags
        21: .line 2233
            aload 0 /* this */
            aload 11 /* binding */
            new com.oracle.js.parser.Parser$3
            dup
            aload 0 /* this */
            aload 1 /* varType */
            iload 8 /* varLine */
            lload 9 /* varToken */
            iload 3 /* sourceOrder */
            iload 13 /* finalVarFlags */
            aload 7 /* scope */
            invokespecial com.oracle.js.parser.Parser$3.<init>:(Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/TokenType;IJIILcom/oracle/js/parser/ir/Scope;)V
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringBindingPattern:(Lcom/oracle/js/parser/ir/Expression;Ljava/util/function/Consumer;)V
        end local 13 // int finalVarFlags
        22: .line 2249
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 13 /* init */
        start local 13 // com.oracle.js.parser.ir.Expression init
        23: .line 2252
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 38
        24: .line 2253
            iload 2 /* isStatement */
            ifne 26
        25: .line 2254
            aload 6 /* forResult */
            lload 9 /* varToken */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.recordDeclarationWithInitializer:(J)V
        26: .line 2256
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        27: .line 2259
            iload 12 /* isDestructuring */
            ifne 29
        28: .line 2260
            aload 0 /* this */
            aload 11 /* binding */
            invokevirtual com.oracle.js.parser.Parser.pushDefaultName:(Lcom/oracle/js/parser/ir/Expression;)V
        29: .line 2263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* isStatement */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(Z)Lcom/oracle/js/parser/ir/Expression;
            astore 13 /* init */
        30: .line 2264
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 14
        32: .line 2265
            iload 12 /* isDestructuring */
            ifne 34
        33: .line 2266
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        34: .line 2268
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        35: .line 2265
      StackMap locals:
      StackMap stack:
            iload 12 /* isDestructuring */
            ifne 43
        36: .line 2266
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        37: .line 2269
            goto 43
      StackMap locals:
      StackMap stack:
        38: iload 2 /* isStatement */
            ifeq 43
        39: .line 2270
            iload 12 /* isDestructuring */
            ifeq 41
        40: .line 2271
            aload 0 /* this */
            ldc "missing.destructuring.assignment"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        41: .line 2272
      StackMap locals:
      StackMap stack:
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 43
        42: .line 2273
            aload 0 /* this */
            ldc "missing.const.assignment"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 11 /* binding */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        43: .line 2278
      StackMap locals:
      StackMap stack:
            iload 12 /* isDestructuring */
            ifne 58
        44: .line 2279
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 45
            aload 13 /* init */
            ifnonnull 45
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 45
            iload 2 /* isStatement */
            ifeq 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 2280
      StackMap locals:
      StackMap stack:
            aload 11 /* binding */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 14 /* ident */
        start local 14 // com.oracle.js.parser.ir.IdentNode ident
        46: .line 2281
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 48
            aload 14 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 48
        47: .line 2282
            aload 0 /* this */
            ldc "let.lexical.binding"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        48: .line 2284
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            iload 2 /* isStatement */
            ifne 52
        49: .line 2285
            aload 13 /* init */
            ifnonnull 51
            aload 1 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 51
        50: .line 2286
            aload 6 /* forResult */
            aload 11 /* binding */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.recordMissingAssignment:(Lcom/oracle/js/parser/ir/Expression;)V
        51: .line 2288
      StackMap locals:
      StackMap stack:
            aload 6 /* forResult */
            aload 11 /* binding */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.addBinding:(Lcom/oracle/js/parser/ir/Expression;)V
        52: .line 2290
      StackMap locals:
      StackMap stack:
            aload 13 /* init */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 54
        53: .line 2291
            aload 0 /* this */
            aload 13 /* init */
            aload 14 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 13 /* init */
        54: .line 2293
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 8 /* varLine */
            lload 9 /* varToken */
            iload 3 /* sourceOrder */
            iload 4 /* varStart */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsDeclaredHere:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 13 /* init */
            iload 5 /* varFlags */
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJIIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 15 /* var */
        start local 15 // com.oracle.js.parser.ir.VarNode var
        55: .line 2294
            aload 0 /* this */
            aload 15 /* var */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        56: .line 2295
            aload 0 /* this */
            aload 7 /* scope */
            aload 15 /* var */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
        end local 15 // com.oracle.js.parser.ir.VarNode var
        end local 14 // com.oracle.js.parser.ir.IdentNode ident
        57: .line 2296
            goto 70
        58: .line 2297
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 59
            aload 13 /* init */
            ifnonnull 59
            iload 2 /* isStatement */
            ifeq 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 2298
      StackMap locals:
      StackMap stack:
            aload 13 /* init */
            ifnull 67
        60: .line 2299
            aload 0 /* this */
            lload 9 /* varToken */
            getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 11 /* binding */
            aload 13 /* init */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.verifyAssignment:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            astore 14 /* assignment */
        start local 14 // com.oracle.js.parser.ir.Expression assignment
        61: .line 2300
            iload 2 /* isStatement */
            ifeq 64
        62: .line 2301
            aload 0 /* this */
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 8 /* varLine */
            aload 14 /* assignment */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* assignment */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        63: .line 2302
            goto 70
        64: .line 2303
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 6 /* forResult */
            aload 14 /* assignment */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.addAssignment:(Lcom/oracle/js/parser/ir/Expression;)V
        65: .line 2304
            aload 6 /* forResult */
            aload 14 /* assignment */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.addBinding:(Lcom/oracle/js/parser/ir/Expression;)V
        end local 14 // com.oracle.js.parser.ir.Expression assignment
        66: .line 2306
            goto 70
      StackMap locals:
      StackMap stack:
        67: iload 2 /* isStatement */
            ifne 70
        68: .line 2307
            aload 6 /* forResult */
            aload 11 /* binding */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.recordMissingAssignment:(Lcom/oracle/js/parser/ir/Expression;)V
        69: .line 2308
            aload 6 /* forResult */
            aload 11 /* binding */
            invokevirtual com.oracle.js.parser.Parser$ForVariableDeclarationListResult.addBinding:(Lcom/oracle/js/parser/ir/Expression;)V
        70: .line 2312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 72
        71: .line 2313
            goto 74
        72: .line 2315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        end local 13 // com.oracle.js.parser.ir.Expression init
        end local 12 // boolean isDestructuring
        end local 11 // com.oracle.js.parser.ir.Expression binding
        end local 9 // long varToken
        end local 8 // int varLine
        73: .line 2223
            goto 13
        74: .line 2319
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.TokenType int int int int com.oracle.js.parser.Parser$ForVariableDeclarationListResult com.oracle.js.parser.ir.Scope
      StackMap stack:
            iload 2 /* isStatement */
            ifeq 76
        75: .line 2320
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        76: .line 2322
      StackMap locals:
      StackMap stack:
            aload 6 /* forResult */
            areturn
        end local 7 // com.oracle.js.parser.ir.Scope scope
        end local 6 // com.oracle.js.parser.Parser$ForVariableDeclarationListResult forResult
        end local 5 // int varFlags
        end local 4 // int varStart
        end local 3 // int sourceOrder
        end local 2 // boolean isStatement
        end local 1 // com.oracle.js.parser.TokenType varType
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   77     0             this  Lcom/oracle/js/parser/Parser;
            0   77     1          varType  Lcom/oracle/js/parser/TokenType;
            0   77     2      isStatement  Z
            0   77     3      sourceOrder  I
            1   77     4         varStart  I
            4   77     5         varFlags  I
           12   77     6        forResult  Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
           13   77     7            scope  Lcom/oracle/js/parser/ir/Scope;
           14   73     8          varLine  I
           15   73     9         varToken  J
           16   73    11          binding  Lcom/oracle/js/parser/ir/Expression;
           19   73    12  isDestructuring  Z
           21   22    13    finalVarFlags  I
           23   73    13             init  Lcom/oracle/js/parser/ir/Expression;
           46   57    14            ident  Lcom/oracle/js/parser/ir/IdentNode;
           55   57    15              var  Lcom/oracle/js/parser/ir/VarNode;
           61   66    14       assignment  Lcom/oracle/js/parser/ir/Expression;
      Exception table:
        from    to  target  type
          29    31      31  any
    MethodParameters:
             Name  Flags
      varType      final
      isStatement  final
      sourceOrder  final

  private void declareVar(com.oracle.js.parser.ir.Scope, com.oracle.js.parser.ir.VarNode);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Scope scope
        start local 2 // com.oracle.js.parser.ir.VarNode varNode
         0: .line 2326
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 2327
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.detectVarNameConflict:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)Z
            ifeq 3
         2: .line 2328
            aload 0 /* this */
            ldc "syntax.error.redeclare.variable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* name */
            aastore
            invokestatic com.oracle.js.parser.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         3: .line 2330
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
            ifeq 21
         4: .line 2331
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getSymbolFlags:()I
         5: .line 2332
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.isSwitchBlockScope:()Z
            ifeq 6
            sipush 8192
            goto 7
      StackMap locals:
      StackMap stack: int
         6: iconst_0
         7: .line 2331
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.VarNode java.lang.String
      StackMap stack: int int
            ior
         8: .line 2333
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isFunctionDeclaration:()Z
            ifeq 9
            ldc 65536
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_0
        10: .line 2331
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.VarNode java.lang.String
      StackMap stack: int int
            ior
            istore 4 /* symbolFlags */
        start local 4 // int symbolFlags
        11: .line 2334
            aload 1 /* scope */
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 3 /* name */
            iload 4 /* symbolFlags */
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
        12: .line 2336
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isFunctionDeclaration:()Z
            ifeq 36
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAnnexB:()Z
            ifeq 36
        13: .line 2340
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 5 /* function */
        start local 5 // com.oracle.js.parser.ParserContextFunctionNode function
        14: .line 2341
            aload 5 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 6 /* varScope */
        start local 6 // com.oracle.js.parser.ir.Scope varScope
        15: .line 2342
            aload 5 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isStrict:()Z
            ifne 36
            aload 1 /* scope */
            aload 6 /* varScope */
            if_acmpeq 36
            aload 6 /* varScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isGlobalScope:()Z
            ifne 16
            aload 3 /* name */
            ldc "arguments"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
        16: .line 2343
      StackMap locals: int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Scope
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 18
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.isFunctionBodyScope:()Z
            ifne 17
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.isFunctionParameterScope:()Z
            ifeq 18
      StackMap locals:
      StackMap stack:
        17: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 2345
      StackMap locals:
      StackMap stack:
            aload 6 /* varScope */
            aload 3 /* name */
            invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
            ifnonnull 36
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.getParent:()Lcom/oracle/js/parser/ir/Scope;
            aload 3 /* name */
            iconst_1
            iconst_1
            invokevirtual com.oracle.js.parser.ir.Scope.isLexicallyDeclaredName:(Ljava/lang/String;ZZ)Z
            ifne 36
        19: .line 2346
            aload 6 /* varScope */
            aload 2 /* varNode */
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.recordHoistableBlockFunctionDeclaration:(Lcom/oracle/js/parser/ir/VarNode;Lcom/oracle/js/parser/ir/Scope;)V
        end local 6 // com.oracle.js.parser.ir.Scope varScope
        end local 5 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 4 // int symbolFlags
        20: .line 2350
            goto 36
        21: .line 2352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 4 /* function */
        start local 4 // com.oracle.js.parser.ParserContextFunctionNode function
        22: .line 2353
            aload 4 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 5 /* varScope */
        start local 5 // com.oracle.js.parser.ir.Scope varScope
        23: .line 2354
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getSymbolFlags:()I
        24: .line 2355
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isHoistableDeclaration:()Z
            ifeq 25
            sipush 256
            goto 26
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.VarNode java.lang.String com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Scope
      StackMap stack: int
        25: iconst_0
        26: .line 2354
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.VarNode java.lang.String com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Scope
      StackMap stack: int int
            ior
        27: .line 2356
            aload 5 /* varScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isGlobalScope:()Z
            ifeq 28
            bipush 8
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
        29: .line 2354
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.VarNode java.lang.String com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Scope
      StackMap stack: int int
            ior
            istore 6 /* symbolFlags */
        start local 6 // int symbolFlags
        30: .line 2358
            aload 4 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifeq 32
            aload 4 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 3 /* name */
            invokevirtual com.oracle.js.parser.ir.Scope.hasSymbol:(Ljava/lang/String;)Z
            ifeq 32
        31: .line 2359
            iload 6 /* symbolFlags */
            sipush 4096
            ior
            istore 6 /* symbolFlags */
        32: .line 2361
      StackMap locals: int
      StackMap stack:
            aload 5 /* varScope */
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 3 /* name */
            iload 6 /* symbolFlags */
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
        33: .line 2374
            aload 1 /* scope */
            aload 5 /* varScope */
            if_acmpeq 36
        34: .line 2375
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 35
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.isBlockScope:()Z
            ifne 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 2376
      StackMap locals:
      StackMap stack:
            aload 5 /* varScope */
            aload 2 /* varNode */
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.recordHoistedVarDeclaration:(Lcom/oracle/js/parser/ir/VarNode;Lcom/oracle/js/parser/ir/Scope;)V
        end local 6 // int symbolFlags
        end local 5 // com.oracle.js.parser.ir.Scope varScope
        end local 4 // com.oracle.js.parser.ParserContextFunctionNode function
        36: .line 2379
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String name
        end local 2 // com.oracle.js.parser.ir.VarNode varNode
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lcom/oracle/js/parser/Parser;
            0   37     1        scope  Lcom/oracle/js/parser/ir/Scope;
            0   37     2      varNode  Lcom/oracle/js/parser/ir/VarNode;
            1   37     3         name  Ljava/lang/String;
           11   20     4  symbolFlags  I
           14   20     5     function  Lcom/oracle/js/parser/ParserContextFunctionNode;
           15   20     6     varScope  Lcom/oracle/js/parser/ir/Scope;
           22   36     4     function  Lcom/oracle/js/parser/ParserContextFunctionNode;
           23   36     5     varScope  Lcom/oracle/js/parser/ir/Scope;
           30   36     6  symbolFlags  I
    MethodParameters:
         Name  Flags
      scope    
      varNode  

  private boolean detectVarNameConflict(com.oracle.js.parser.ir.Scope, com.oracle.js.parser.ir.VarNode);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Scope scope
        start local 2 // com.oracle.js.parser.ir.VarNode varNode
         0: .line 2382
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            astore 3 /* varName */
        start local 3 // java.lang.String varName
         1: .line 2383
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
            ifeq 13
         2: .line 2384
            aload 1 /* scope */
            astore 4 /* currentScope */
        start local 4 // com.oracle.js.parser.ir.Scope currentScope
         3: .line 2385
            aload 4 /* currentScope */
            aload 3 /* varName */
            invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
            astore 5 /* existingSymbol */
        start local 5 // com.oracle.js.parser.ir.Symbol existingSymbol
         4: .line 2386
            aload 5 /* existingSymbol */
            ifnull 8
         5: .line 2389
            aload 5 /* existingSymbol */
            invokevirtual com.oracle.js.parser.ir.Symbol.isBlockFunctionDeclaration:()Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 7
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAnnexB:()Z
            ifeq 7
            aload 2 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.isFunctionDeclaration:()Z
            ifeq 7
         6: .line 2390
            iconst_0
            ireturn
         7: .line 2392
      StackMap locals: java.lang.String com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.Symbol
      StackMap stack:
            iconst_1
            ireturn
         8: .line 2395
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.getParent:()Lcom/oracle/js/parser/ir/Scope;
            astore 6 /* parentScope */
        start local 6 // com.oracle.js.parser.ir.Scope parentScope
         9: .line 2396
            aload 6 /* parentScope */
            ifnull 12
            aload 6 /* parentScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isCatchParameterScope:()Z
            ifne 10
            aload 6 /* parentScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isFunctionParameterScope:()Z
            ifeq 12
        10: .line 2397
      StackMap locals: com.oracle.js.parser.ir.Scope
      StackMap stack:
            aload 6 /* parentScope */
            aload 3 /* varName */
            invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
            ifnull 12
        11: .line 2398
            iconst_1
            ireturn
        12: .line 2401
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // com.oracle.js.parser.ir.Scope parentScope
        end local 5 // com.oracle.js.parser.ir.Symbol existingSymbol
        end local 4 // com.oracle.js.parser.ir.Scope currentScope
        13: .line 2404
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            aload 3 /* varName */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAnnexB:()Z
            iconst_0
            invokevirtual com.oracle.js.parser.ir.Scope.isLexicallyDeclaredName:(Ljava/lang/String;ZZ)Z
            ireturn
        end local 3 // java.lang.String varName
        end local 2 // com.oracle.js.parser.ir.VarNode varNode
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/js/parser/Parser;
            0   14     1           scope  Lcom/oracle/js/parser/ir/Scope;
            0   14     2         varNode  Lcom/oracle/js/parser/ir/VarNode;
            1   14     3         varName  Ljava/lang/String;
            3   13     4    currentScope  Lcom/oracle/js/parser/ir/Scope;
            4   13     5  existingSymbol  Lcom/oracle/js/parser/ir/Symbol;
            9   13     6     parentScope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
         Name  Flags
      scope    
      varNode  

  private boolean isAnnexB();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2409
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.annexB:Z
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isIdentifier();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2413
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isNonStrictModeIdent:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.IdentNode identifier(boolean, boolean, java.lang.String, boolean);
    descriptor: (ZZLjava/lang/String;Z)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // java.lang.String contextString
        start local 4 // boolean bindingIdentifier
         0: .line 2417
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 5 /* ident */
        start local 5 // com.oracle.js.parser.ir.IdentNode ident
         1: .line 2418
            aload 0 /* this */
            aload 5 /* ident */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.verifyIdent:(Lcom/oracle/js/parser/ir/IdentNode;ZZ)V
         2: .line 2419
            aload 0 /* this */
            aload 5 /* ident */
            aload 3 /* contextString */
            iload 4 /* bindingIdentifier */
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;Z)V
         3: .line 2420
            aload 5 /* ident */
            areturn
        end local 5 // com.oracle.js.parser.ir.IdentNode ident
        end local 4 // boolean bindingIdentifier
        end local 3 // java.lang.String contextString
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/oracle/js/parser/Parser;
            0    4     1              yield  Z
            0    4     2              await  Z
            0    4     3      contextString  Ljava/lang/String;
            0    4     4  bindingIdentifier  Z
            1    4     5              ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
                   Name  Flags
      yield              
      await              
      contextString      
      bindingIdentifier  

  private com.oracle.js.parser.ir.IdentNode identifierReference(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 2424
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            ldc "IdentifierReference"
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.identifier:(ZZLjava/lang/String;Z)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1  yield  Z
            0    1     2  await  Z
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.IdentNode labelIdentifier();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2428
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            ldc "LabelIdentifier"
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.identifier:(ZZLjava/lang/String;Z)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isBindingIdentifier();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2432
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isNonStrictModeIdent:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.IdentNode bindingIdentifier(boolean, boolean, java.lang.String);
    descriptor: (ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // java.lang.String contextString
         0: .line 2436
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            aload 3 /* contextString */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.identifier:(ZZLjava/lang/String;Z)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 3 // java.lang.String contextString
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/js/parser/Parser;
            0    1     1          yield  Z
            0    1     2          await  Z
            0    1     3  contextString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      yield          
      await          
      contextString  

  private com.oracle.js.parser.ir.Expression bindingPattern(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 2440
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
         1: .line 2441
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.arrayLiteral:(ZZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
         2: .line 2442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
         3: .line 2443
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.objectLiteral:(ZZ)Lcom/oracle/js/parser/ir/ObjectNode;
            areturn
         4: .line 2445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.binding"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/js/parser/Parser;
            0    5     1  yield  Z
            0    5     2  await  Z
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression bindingIdentifierOrPattern(boolean, boolean, java.lang.String);
    descriptor: (ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // java.lang.String contextString
         0: .line 2450
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifne 1
            getstatic com.oracle.js.parser.Parser.ES6_DESTRUCTURING:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 2
         1: .line 2451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            aload 3 /* contextString */
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
         2: .line 2453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.bindingPattern:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // java.lang.String contextString
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/js/parser/Parser;
            0    3     1          yield  Z
            0    3     2          await  Z
            0    3     3  contextString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      yield          
      await          
      contextString  

  private com.oracle.js.parser.ir.Expression bindingIdentifierOrPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String contextString
         0: .line 2458
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            aload 1 /* contextString */
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifierOrPattern:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 1 // java.lang.String contextString
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/js/parser/Parser;
            0    1     1  contextString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      contextString  

  private void verifyDestructuringBindingPattern(com.oracle.js.parser.ir.Expression, java.util.function.Consumer<com.oracle.js.parser.ir.IdentNode>);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Ljava/util/function/Consumer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression pattern
        start local 2 // java.util.function.Consumer identifierCallback
         0: .line 2549
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 1 /* pattern */
            instanceof com.oracle.js.parser.ir.ObjectNode
            ifne 1
            aload 1 /* pattern */
            instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2550
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            new com.oracle.js.parser.Parser$4
            dup
            aload 0 /* this */
            aload 0 /* this */
            new com.oracle.js.parser.ir.LexicalContext
            dup
            invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
            aload 2 /* identifierCallback */
            invokespecial com.oracle.js.parser.Parser$4.<init>:(Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/ir/LexicalContext;Ljava/util/function/Consumer;)V
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         2: .line 2576
            return
        end local 2 // java.util.function.Consumer identifierCallback
        end local 1 // com.oracle.js.parser.ir.Expression pattern
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/oracle/js/parser/Parser;
            0    3     1             pattern  Lcom/oracle/js/parser/ir/Expression;
            0    3     2  identifierCallback  Ljava/util/function/Consumer<Lcom/oracle/js/parser/ir/IdentNode;>;
    Signature: (Lcom/oracle/js/parser/ir/Expression;Ljava/util/function/Consumer<Lcom/oracle/js/parser/ir/IdentNode;>;)V
    MethodParameters:
                    Name  Flags
      pattern             
      identifierCallback  

  private void emptyStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2582
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.emptyStatements:Z
            ifeq 2
         1: .line 2583
            aload 0 /* this */
            new com.oracle.js.parser.ir.EmptyNode
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            invokespecial com.oracle.js.parser.ir.EmptyNode.<init>:(IJI)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         2: .line 2587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2588
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/js/parser/Parser;

  private void expressionStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2599
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* expressionLine */
        start local 1 // int expressionLine
         1: .line 2600
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* expressionToken */
        start local 2 // long expressionToken
         2: .line 2603
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* expression */
        start local 4 // com.oracle.js.parser.ir.Expression expression
         3: .line 2605
            aload 4 /* expression */
            ifnull 8
         4: .line 2606
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
         5: .line 2607
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 1 /* expressionLine */
            lload 2 /* expressionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* expression */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            astore 5 /* expressionStatement */
        start local 5 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
         6: .line 2608
            aload 0 /* this */
            aload 5 /* expressionStatement */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 5 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
         7: .line 2609
            goto 10
         8: .line 2610
      StackMap locals: int long com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         9: .line 2611
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        10: .line 2613
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.js.parser.ir.Expression expression
        end local 2 // long expressionToken
        end local 1 // int expressionLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lcom/oracle/js/parser/Parser;
            1   11     1       expressionLine  I
            2   11     2      expressionToken  J
            3   11     4           expression  Lcom/oracle/js/parser/ir/Expression;
            6    7     5  expressionStatement  Lcom/oracle/js/parser/ir/ExpressionStatement;

  private void ifStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2626
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* ifLine */
        start local 1 // int ifLine
         1: .line 2627
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* ifToken */
        start local 2 // long ifToken
         2: .line 2629
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2631
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 2632
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* test */
        start local 4 // com.oracle.js.parser.ir.Expression test
         5: .line 2633
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         6: .line 2634
            aload 0 /* this */
            iconst_0
            iconst_1
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.getStatement:(ZZZ)Lcom/oracle/js/parser/ir/Block;
            astore 5 /* pass */
        start local 5 // com.oracle.js.parser.ir.Block pass
         7: .line 2636
            aconst_null
            astore 6 /* fail */
        start local 6 // com.oracle.js.parser.ir.Block fail
         8: .line 2637
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELSE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
         9: .line 2638
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 2639
            aload 0 /* this */
            iconst_0
            iconst_1
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.getStatement:(ZZZ)Lcom/oracle/js/parser/ir/Block;
            astore 6 /* fail */
        11: .line 2642
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
        12: new com.oracle.js.parser.ir.IfNode
            dup
            iload 1 /* ifLine */
            lload 2 /* ifToken */
            aload 6 /* fail */
            ifnull 13
            aload 6 /* fail */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            goto 14
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Block
      StackMap stack: com.oracle.js.parser.Parser new 12 new 12 int long
        13: aload 5 /* pass */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Block
      StackMap stack: com.oracle.js.parser.Parser new 12 new 12 int long int
        14: aload 4 /* test */
            aload 5 /* pass */
            aload 6 /* fail */
            invokespecial com.oracle.js.parser.ir.IfNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        15: .line 2643
            return
        end local 6 // com.oracle.js.parser.ir.Block fail
        end local 5 // com.oracle.js.parser.ir.Block pass
        end local 4 // com.oracle.js.parser.ir.Expression test
        end local 2 // long ifToken
        end local 1 // int ifLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/js/parser/Parser;
            1   16     1   ifLine  I
            2   16     2  ifToken  J
            5   16     4     test  Lcom/oracle/js/parser/ir/Expression;
            7   16     5     pass  Lcom/oracle/js/parser/ir/Block;
            8   16     6     fail  Lcom/oracle/js/parser/ir/Block;

  private void forStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=21, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2649
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* forToken */
        start local 1 // long forToken
         1: .line 2650
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* forLine */
        start local 3 // int forLine
         2: .line 2654
            lload 1 /* forToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            istore 4 /* forStart */
        start local 4 // int forStart
         3: .line 2656
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 4
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.newBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            goto 5
      StackMap locals: long int int
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserContextBlockNode
         5: astore 5 /* outer */
        start local 5 // com.oracle.js.parser.ParserContextBlockNode outer
         6: .line 2659
            new com.oracle.js.parser.ParserContextLoopNode
            dup
            invokespecial com.oracle.js.parser.ParserContextLoopNode.<init>:()V
            astore 6 /* forNode */
        start local 6 // com.oracle.js.parser.ParserContextLoopNode forNode
         7: .line 2660
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         8: .line 2661
            aconst_null
            astore 7 /* body */
        start local 7 // com.oracle.js.parser.ir.Block body
         9: .line 2662
            aconst_null
            astore 8 /* init */
        start local 8 // com.oracle.js.parser.ir.Expression init
        10: .line 2663
            aconst_null
            astore 9 /* test */
        start local 9 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        11: .line 2664
            aconst_null
            astore 10 /* modify */
        start local 10 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        12: .line 2665
            aconst_null
            astore 11 /* varDeclList */
        start local 11 // com.oracle.js.parser.Parser$ForVariableDeclarationListResult varDeclList
        13: .line 2667
            iconst_0
            istore 12 /* flags */
        start local 12 // int flags
        14: .line 2668
            iconst_0
            istore 13 /* isForOf */
        start local 13 // boolean isForOf
        15: .line 2669
            iconst_0
            istore 14 /* isForAwaitOf */
        start local 14 // boolean isForAwaitOf
        16: .line 2671
            iconst_0
            istore 15 /* initStartsWithLet */
        start local 15 // boolean initStartsWithLet
        17: .line 2675
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        18: .line 2679
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifeq 22
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 22
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            ldc "each"
            invokevirtual com.oracle.js.parser.Lexer.checkIdentForKeyword:(JLjava/lang/String;)Z
            ifeq 22
        19: .line 2680
            iload 12 /* flags */
            iconst_2
            ior
            istore 12 /* flags */
        20: .line 2681
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        21: .line 2682
            goto 27
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int
      StackMap stack:
        22: getstatic com.oracle.js.parser.Parser.ES8_FOR_AWAIT_OF:Z
            ifeq 27
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 27
        23: .line 2683
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            ifne 25
        24: .line 2684
            aload 0 /* this */
            ldc "invalid.for.await.of"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        25: .line 2686
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* isForAwaitOf */
        26: .line 2687
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        27: .line 2690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        28: .line 2692
            aconst_null
            astore 16 /* varType */
        start local 16 // com.oracle.js.parser.TokenType varType
        29: .line 2693
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                   32: 33
                  110: 30
              default: 34
          }
        30: .line 2696
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 16 /* varType */
        31: .line 2697
            aload 0 /* this */
            aload 16 /* varType */
            iconst_0
            iload 4 /* forStart */
            invokevirtual com.oracle.js.parser.Parser.variableDeclarationList:(Lcom/oracle/js/parser/TokenType;ZI)Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
            astore 11 /* varDeclList */
        32: .line 2698
            goto 50
        33: .line 2700
      StackMap locals:
      StackMap stack:
            goto 50
        34: .line 2702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 42
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 35
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsLetDeclaration:()Z
            ifne 36
      StackMap locals:
      StackMap stack:
        35: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 42
        36: .line 2704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 16 /* varType */
        37: .line 2705
            aload 0 /* this */
            aload 16 /* varType */
            iconst_0
            iload 4 /* forStart */
            invokevirtual com.oracle.js.parser.Parser.variableDeclarationList:(Lcom/oracle/js/parser/TokenType;ZI)Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
            astore 11 /* varDeclList */
        38: .line 2706
            aload 16 /* varType */
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 50
        39: .line 2708
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContextLoopNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 50
        40: .line 2709
            iload 12 /* flags */
            iconst_4
            ior
            istore 12 /* flags */
        41: .line 2712
            goto 50
        42: .line 2714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.constAsVar:Z
            ifeq 46
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpne 46
        43: .line 2716
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            astore 16 /* varType */
        44: .line 2717
            aload 0 /* this */
            aload 16 /* varType */
            iconst_0
            iload 4 /* forStart */
            invokevirtual com.oracle.js.parser.Parser.variableDeclarationList:(Lcom/oracle/js/parser/TokenType;ZI)Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
            astore 11 /* varDeclList */
        45: .line 2718
            goto 50
        46: .line 2721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 47
            iconst_1
            goto 48
      StackMap locals:
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 15 /* initStartsWithLet */
        49: .line 2722
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* init */
        50: .line 2723
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
        51: .line 2726
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                   32: 52
                   89: 76
                   95: 70
              default: 115
          }
        52: .line 2729
      StackMap locals:
      StackMap stack:
            aload 11 /* varDeclList */
            ifnull 59
        53: .line 2730
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 54
            aload 8 /* init */
            ifnull 54
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        54: .line 2731
      StackMap locals:
      StackMap stack:
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.init:Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* init */
        55: .line 2734
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.missingAssignment:Lcom/oracle/js/parser/ir/Expression;
            ifnull 61
        56: .line 2735
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.missingAssignment:Lcom/oracle/js/parser/ir/Expression;
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 58
        57: .line 2736
            aload 0 /* this */
            ldc "missing.const.assignment"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.missingAssignment:Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        58: .line 2738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "missing.destructuring.assignment"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.missingAssignment:Lcom/oracle/js/parser/ir/Expression;
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        59: .line 2742
      StackMap locals:
      StackMap stack:
            aload 8 /* init */
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 61
        60: .line 2743
            aload 0 /* this */
            ldc "invalid.property.initializer"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        61: .line 2748
      StackMap locals:
      StackMap stack:
            iload 12 /* flags */
            iconst_2
            iand
            ifeq 63
        62: .line 2749
            aload 0 /* this */
            ldc "for.each.without.in"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        63: .line 2752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        64: .line 2753
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 66
        65: .line 2754
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.joinPredecessorExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 9 /* test */
        66: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        67: .line 2757
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 116
        68: .line 2758
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.joinPredecessorExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 10 /* modify */
        69: .line 2760
            goto 116
        70: .line 2763
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES8_FOR_AWAIT_OF:Z
            ifeq 71
            iload 14 /* isForAwaitOf */
            ifeq 71
            iload 15 /* initStartsWithLet */
            ifeq 76
        71: .line 2765
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_FOR_OF:Z
            ifeq 74
            iload 15 /* initStartsWithLet */
            ifne 74
        72: .line 2766
            iconst_1
            istore 13 /* isForOf */
        73: .line 2768
            goto 76
        74: .line 2769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        75: .line 2770
            goto 116
        76: .line 2773
      StackMap locals:
      StackMap stack:
            iload 14 /* isForAwaitOf */
            ifeq 80
        77: .line 2774
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.OF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        78: .line 2775
            iload 12 /* flags */
            bipush 16
            ior
            istore 12 /* flags */
        79: .line 2776
            goto 83
        80: .line 2777
      StackMap locals:
      StackMap stack:
            iload 12 /* flags */
            iload 13 /* isForOf */
            ifeq 81
            bipush 8
            goto 82
      StackMap locals:
      StackMap stack: int
        81: iconst_1
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: int int
        82: ior
            istore 12 /* flags */
        83: .line 2779
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:()V
            astore 9 /* test */
        84: .line 2780
            aload 11 /* varDeclList */
            ifnull 100
        85: .line 2782
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.secondBinding:Lcom/oracle/js/parser/ir/Expression;
            ifnull 90
        86: .line 2784
            aload 0 /* this */
            ldc "many.vars.in.for.in.loop"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            iload 13 /* isForOf */
            ifne 87
            iload 14 /* isForAwaitOf */
            ifeq 88
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
        87: ldc "of"
            goto 89
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
        88: ldc "in"
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int java.lang.String
        89: aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.secondBinding:Lcom/oracle/js/parser/ir/Expression;
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        90: .line 2786
      StackMap locals:
      StackMap stack:
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.declarationWithInitializerToken:J
            lconst_0
            lcmp
            ifeq 95
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 91
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 91
            aload 16 /* varType */
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            if_acmpne 91
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.init:Lcom/oracle/js/parser/ir/Expression;
            ifnull 95
        91: .line 2790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "for.in.loop.initializer"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            iload 13 /* isForOf */
            ifne 92
            iload 14 /* isForAwaitOf */
            ifeq 93
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
        92: ldc "of"
            goto 94
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
        93: ldc "in"
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int java.lang.String
        94: aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.declarationWithInitializerToken:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        95: .line 2792
      StackMap locals:
      StackMap stack:
            aload 11 /* varDeclList */
            getfield com.oracle.js.parser.Parser$ForVariableDeclarationListResult.firstBinding:Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* init */
        96: .line 2793
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 97
            aload 8 /* init */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifne 97
            aload 0 /* this */
            aload 8 /* init */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 97
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        97: .line 2794
      StackMap locals:
      StackMap stack:
            aload 16 /* varType */
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 98
            aload 16 /* varType */
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 109
        98: .line 2795
      StackMap locals:
      StackMap stack:
            iload 12 /* flags */
            iconst_4
            ior
            istore 12 /* flags */
        99: .line 2797
            goto 109
       100: .line 2799
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 101
            aload 8 /* init */
            ifnonnull 101
            new java.lang.AssertionError
            dup
            ldc "for..in/of init expression can not be null here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       101: .line 2802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* init */
            iload 13 /* isForOf */
            ifne 102
            iload 14 /* isForAwaitOf */
            ifeq 103
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression
       102: ldc "for-of iterator"
            goto 104
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression
       103: ldc "for-in iterator"
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression java.lang.String
       104: invokevirtual com.oracle.js.parser.Parser.checkValidLValue:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Z
            ifne 109
       105: .line 2803
            aload 0 /* this */
            ldc "not.lvalue.for.in.loop"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            iload 13 /* isForOf */
            ifne 106
            iload 14 /* isForAwaitOf */
            ifeq 107
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
       106: ldc "of"
            goto 108
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int
       107: ldc "in"
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int com.oracle.js.parser.TokenType
      StackMap stack: com.oracle.js.parser.Parser java.lang.String java.lang.String[] java.lang.String[] int java.lang.String
       108: aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* init */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
       109: .line 2807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
       110: .line 2810
            iload 13 /* isForOf */
            ifne 111
            iload 14 /* isForAwaitOf */
            ifeq 112
      StackMap locals:
      StackMap stack:
       111: new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(Z)Lcom/oracle/js/parser/ir/Expression;
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            goto 113
      StackMap locals:
      StackMap stack:
       112: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.joinPredecessorExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.JoinPredecessorExpression
       113: astore 10 /* modify */
       114: .line 2811
            goto 116
       115: .line 2814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
       116: .line 2818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
       117: .line 2821
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getStatement:()Lcom/oracle/js/parser/ir/Block;
            astore 7 /* body */
        end local 16 // com.oracle.js.parser.TokenType varType
       118: .line 2822
            goto 138
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int
      StackMap stack: java.lang.Throwable
       119: astore 17
       120: .line 2823
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
       121: .line 2825
            iload 12 /* flags */
            iconst_4
            iand
            ifeq 123
            iload 13 /* isForOf */
            ifne 122
            iload 14 /* isForAwaitOf */
            ifne 122
            iload 12 /* flags */
            iconst_1
            iand
            ifeq 123
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top java.lang.Throwable
      StackMap stack:
       122: iconst_1
            goto 124
      StackMap locals:
      StackMap stack:
       123: iconst_0
      StackMap locals:
      StackMap stack: int
       124: istore 18 /* skipVars */
        start local 18 // boolean skipVars
       125: .line 2826
            iload 18 /* skipVars */
            ifne 131
       126: .line 2827
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContextLoopNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 130
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top java.lang.Throwable int top java.util.Iterator
      StackMap stack:
       127: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            astore 19 /* var */
        start local 19 // com.oracle.js.parser.ir.Statement var
       128: .line 2828
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 129
            aload 19 /* var */
            instanceof com.oracle.js.parser.ir.VarNode
            ifne 129
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       129: .line 2829
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top java.lang.Throwable int com.oracle.js.parser.ir.Statement java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 19 /* var */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 19 // com.oracle.js.parser.ir.Statement var
       130: .line 2827
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top java.lang.Throwable int top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 127
       131: .line 2832
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top java.lang.Throwable int
      StackMap stack:
            aload 7 /* body */
            ifnull 133
       132: .line 2833
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            iload 3 /* forLine */
            lload 1 /* forToken */
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            aload 7 /* body */
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContextLoopNode.getFlags:()I
            iload 12 /* flags */
            ior
            aload 8 /* init */
            aload 9 /* test */
            aload 10 /* modify */
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(IJILcom/oracle/js/parser/ir/Block;ILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
       133: .line 2835
      StackMap locals:
      StackMap stack:
            aload 5 /* outer */
            ifnull 137
       134: .line 2836
            aload 0 /* this */
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
       135: .line 2837
            aload 7 /* body */
            ifnull 137
       136: .line 2838
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 3 /* forLine */
            new com.oracle.js.parser.ir.Block
            dup
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            iconst_0
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 18 // boolean skipVars
       137: .line 2841
      StackMap locals:
      StackMap stack:
            aload 17
            athrow
       138: .line 2823
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
       139: .line 2825
            iload 12 /* flags */
            iconst_4
            iand
            ifeq 141
            iload 13 /* isForOf */
            ifne 140
            iload 14 /* isForAwaitOf */
            ifne 140
            iload 12 /* flags */
            iconst_1
            iand
            ifeq 141
      StackMap locals:
      StackMap stack:
       140: iconst_1
            goto 142
      StackMap locals:
      StackMap stack:
       141: iconst_0
      StackMap locals:
      StackMap stack: int
       142: istore 18 /* skipVars */
        start local 18 // boolean skipVars
       143: .line 2826
            iload 18 /* skipVars */
            ifne 149
       144: .line 2827
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContextLoopNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 148
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top top int top java.util.Iterator
      StackMap stack:
       145: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            astore 19 /* var */
        start local 19 // com.oracle.js.parser.ir.Statement var
       146: .line 2828
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 147
            aload 19 /* var */
            instanceof com.oracle.js.parser.ir.VarNode
            ifne 147
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       147: .line 2829
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top top int com.oracle.js.parser.ir.Statement java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 19 /* var */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 19 // com.oracle.js.parser.ir.Statement var
       148: .line 2827
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top top int top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 145
       149: .line 2832
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int top top int
      StackMap stack:
            aload 7 /* body */
            ifnull 151
       150: .line 2833
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            iload 3 /* forLine */
            lload 1 /* forToken */
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            aload 7 /* body */
            aload 6 /* forNode */
            invokevirtual com.oracle.js.parser.ParserContextLoopNode.getFlags:()I
            iload 12 /* flags */
            ior
            aload 8 /* init */
            aload 9 /* test */
            aload 10 /* modify */
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(IJILcom/oracle/js/parser/ir/Block;ILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
       151: .line 2835
      StackMap locals:
      StackMap stack:
            aload 5 /* outer */
            ifnull 155
       152: .line 2836
            aload 0 /* this */
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
       153: .line 2837
            aload 7 /* body */
            ifnull 155
       154: .line 2838
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 3 /* forLine */
            new com.oracle.js.parser.ir.Block
            dup
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            iconst_0
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 18 // boolean skipVars
       155: .line 2842
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.Parser$ForVariableDeclarationListResult int int int int
      StackMap stack:
            return
        end local 15 // boolean initStartsWithLet
        end local 14 // boolean isForAwaitOf
        end local 13 // boolean isForOf
        end local 12 // int flags
        end local 11 // com.oracle.js.parser.Parser$ForVariableDeclarationListResult varDeclList
        end local 10 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        end local 9 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 8 // com.oracle.js.parser.ir.Expression init
        end local 7 // com.oracle.js.parser.ir.Block body
        end local 6 // com.oracle.js.parser.ParserContextLoopNode forNode
        end local 5 // com.oracle.js.parser.ParserContextBlockNode outer
        end local 4 // int forStart
        end local 3 // int forLine
        end local 1 // long forToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  156     0               this  Lcom/oracle/js/parser/Parser;
            1  156     1           forToken  J
            2  156     3            forLine  I
            3  156     4           forStart  I
            6  156     5              outer  Lcom/oracle/js/parser/ParserContextBlockNode;
            7  156     6            forNode  Lcom/oracle/js/parser/ParserContextLoopNode;
            9  156     7               body  Lcom/oracle/js/parser/ir/Block;
           10  156     8               init  Lcom/oracle/js/parser/ir/Expression;
           11  156     9               test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
           12  156    10             modify  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
           13  156    11        varDeclList  Lcom/oracle/js/parser/Parser$ForVariableDeclarationListResult;
           14  156    12              flags  I
           15  156    13            isForOf  Z
           16  156    14       isForAwaitOf  Z
           17  156    15  initStartsWithLet  Z
           29  118    16            varType  Lcom/oracle/js/parser/TokenType;
          125  137    18           skipVars  Z
          143  155    18           skipVars  Z
          128  130    19                var  Lcom/oracle/js/parser/ir/Statement;
          146  148    19                var  Lcom/oracle/js/parser/ir/Statement;
      Exception table:
        from    to  target  type
          17   119     119  any

  private boolean checkValidLValue(com.oracle.js.parser.ir.Expression, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression init
        start local 2 // java.lang.String contextString
         0: .line 2845
            aload 1 /* init */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 8
         1: .line 2846
            aload 1 /* init */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 3 /* ident */
        start local 3 // com.oracle.js.parser.ir.IdentNode ident
         2: .line 2847
            aload 3 /* ident */
            invokestatic com.oracle.js.parser.Parser.checkIdentLValue:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifne 4
         3: .line 2848
            iconst_0
            ireturn
         4: .line 2850
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 3 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
            ifeq 6
         5: .line 2851
            iconst_0
            ireturn
         6: .line 2853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ident */
            aload 2 /* contextString */
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
         7: .line 2854
            iconst_1
            ireturn
        end local 3 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 2855
      StackMap locals:
      StackMap stack:
            aload 1 /* init */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifne 9
            aload 1 /* init */
            instanceof com.oracle.js.parser.ir.IndexNode
            ifeq 12
         9: .line 2856
      StackMap locals:
      StackMap stack:
            aload 1 /* init */
            checkcast com.oracle.js.parser.ir.BaseNode
            invokevirtual com.oracle.js.parser.ir.BaseNode.isOptional:()Z
            ifeq 11
        10: .line 2857
            iconst_0
            ireturn
        11: .line 2859
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        12: .line 2860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* init */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 15
        13: .line 2861
            aload 0 /* this */
            aload 1 /* init */
            aload 2 /* contextString */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringAssignmentPattern:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)V
        14: .line 2862
            iconst_1
            ireturn
        15: .line 2864
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String contextString
        end local 1 // com.oracle.js.parser.ir.Expression init
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lcom/oracle/js/parser/Parser;
            0   16     1           init  Lcom/oracle/js/parser/ir/Expression;
            0   16     2  contextString  Ljava/lang/String;
            2    8     3          ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
               Name  Flags
      init           
      contextString  

  private boolean lookaheadIsLetDeclaration();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2869
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadOfLetDeclaration:()Lcom/oracle/js/parser/TokenType;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.TokenType lookaheadOfLetDeclaration();
    descriptor: ()Lcom/oracle/js/parser/TokenType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2873
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2874
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: .line 2875
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 1 /* i */
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         3: .line 2876
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 6
                    3: 4
                    4: 4
                   48: 5
                   52: 5
                   95: 5
                  126: 5
              default: 6
          }
         4: .line 2879
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            goto 9
         5: .line 2884
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            areturn
         6: .line 2887
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 8
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.isFutureStrict:()Z
            ifeq 8
         7: .line 2888
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            areturn
         8: .line 2890
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.js.parser.TokenType t
         9: .line 2874
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
            goto 2
        end local 1 // int i
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/js/parser/Parser;
            2   10     1     i  I
            3    9     2     t  Lcom/oracle/js/parser/TokenType;

  private void whileStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=8, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2900
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* whileToken */
        start local 1 // long whileToken
         1: .line 2901
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* whileLine */
        start local 3 // int whileLine
         2: .line 2903
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2905
            new com.oracle.js.parser.ParserContextLoopNode
            dup
            invokespecial com.oracle.js.parser.ParserContextLoopNode.<init>:()V
            astore 4 /* whileNode */
        start local 4 // com.oracle.js.parser.ParserContextLoopNode whileNode
         4: .line 2906
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* whileNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         5: .line 2908
            aconst_null
            astore 5 /* test */
        start local 5 // com.oracle.js.parser.ir.JoinPredecessorExpression test
         6: .line 2909
            aconst_null
            astore 6 /* body */
        start local 6 // com.oracle.js.parser.ir.Block body
         7: .line 2912
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 2913
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.joinPredecessorExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 5 /* test */
         9: .line 2914
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        10: .line 2915
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getStatement:()Lcom/oracle/js/parser/ir/Block;
            astore 6 /* body */
        11: .line 2916
            goto 15
      StackMap locals: com.oracle.js.parser.Parser long int com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.JoinPredecessorExpression com.oracle.js.parser.ir.Block
      StackMap stack: java.lang.Throwable
        12: astore 7
        13: .line 2917
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* whileNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        14: .line 2918
            aload 7
            athrow
        15: .line 2917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* whileNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        16: .line 2920
            aload 6 /* body */
            ifnull 18
        17: .line 2921
            aload 0 /* this */
            new com.oracle.js.parser.ir.WhileNode
            dup
            iload 3 /* whileLine */
            lload 1 /* whileToken */
            aload 6 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            iconst_0
            aload 5 /* test */
            aload 6 /* body */
            invokespecial com.oracle.js.parser.ir.WhileNode.<init>:(IJIZLcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        18: .line 2923
      StackMap locals:
      StackMap stack:
            return
        end local 6 // com.oracle.js.parser.ir.Block body
        end local 5 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 4 // com.oracle.js.parser.ParserContextLoopNode whileNode
        end local 3 // int whileLine
        end local 1 // long whileToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/oracle/js/parser/Parser;
            1   19     1  whileToken  J
            2   19     3   whileLine  I
            4   19     4   whileNode  Lcom/oracle/js/parser/ParserContextLoopNode;
            6   19     5        test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            7   19     6        body  Lcom/oracle/js/parser/ir/Block;
      Exception table:
        from    to  target  type
           7    12      12  any

  private void doStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=8, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2930
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* doToken */
        start local 1 // long doToken
         1: .line 2931
            iconst_0
            istore 3 /* doLine */
        start local 3 // int doLine
         2: .line 2933
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2935
            new com.oracle.js.parser.ParserContextLoopNode
            dup
            invokespecial com.oracle.js.parser.ParserContextLoopNode.<init>:()V
            astore 4 /* doWhileNode */
        start local 4 // com.oracle.js.parser.ParserContextLoopNode doWhileNode
         4: .line 2936
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* doWhileNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         5: .line 2938
            aconst_null
            astore 5 /* body */
        start local 5 // com.oracle.js.parser.ir.Block body
         6: .line 2939
            aconst_null
            astore 6 /* test */
        start local 6 // com.oracle.js.parser.ir.JoinPredecessorExpression test
         7: .line 2943
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getStatement:()Lcom/oracle/js/parser/ir/Block;
            astore 5 /* body */
         8: .line 2945
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.WHILE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         9: .line 2946
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        10: .line 2947
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* doLine */
        11: .line 2948
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.joinPredecessorExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 6 /* test */
        12: .line 2949
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        13: .line 2951
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            if_acmpne 19
        14: .line 2952
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        15: .line 2954
            goto 19
      StackMap locals: com.oracle.js.parser.Parser long int com.oracle.js.parser.ParserContextLoopNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.JoinPredecessorExpression
      StackMap stack: java.lang.Throwable
        16: astore 7
        17: .line 2955
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* doWhileNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        18: .line 2956
            aload 7
            athrow
        19: .line 2955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* doWhileNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        20: .line 2958
            aload 0 /* this */
            new com.oracle.js.parser.ir.WhileNode
            dup
            iload 3 /* doLine */
            lload 1 /* doToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iconst_1
            aload 6 /* test */
            aload 5 /* body */
            invokespecial com.oracle.js.parser.ir.WhileNode.<init>:(IJIZLcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        21: .line 2959
            return
        end local 6 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 5 // com.oracle.js.parser.ir.Block body
        end local 4 // com.oracle.js.parser.ParserContextLoopNode doWhileNode
        end local 3 // int doLine
        end local 1 // long doToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/oracle/js/parser/Parser;
            1   22     1      doToken  J
            2   22     3       doLine  I
            4   22     4  doWhileNode  Lcom/oracle/js/parser/ParserContextLoopNode;
            6   22     5         body  Lcom/oracle/js/parser/ir/Block;
            7   22     6         test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
      Exception table:
        from    to  target  type
           7    16      16  any

  private void continueStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 2972
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* continueLine */
        start local 1 // int continueLine
         1: .line 2973
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* continueToken */
        start local 2 // long continueToken
         2: .line 2975
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 2977
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals: int long
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* seenEOL */
        start local 4 // boolean seenEOL
         6: .line 2978
            iload 4 /* seenEOL */
            ifeq 8
         7: .line 2979
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         8: .line 2982
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* labelNode */
        start local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
         9: .line 2985
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                    2: 10
                   32: 10
                   57: 10
              default: 11
          }
        10: .line 2989
      StackMap locals: com.oracle.js.parser.ParserContextLabelNode
      StackMap stack:
            goto 17
        11: .line 2992
      StackMap locals:
      StackMap stack:
            iload 4 /* seenEOL */
            ifeq 13
        12: .line 2993
            goto 17
        13: .line 2995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.labelIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 6 /* ident */
        start local 6 // com.oracle.js.parser.ir.IdentNode ident
        14: .line 2996
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ParserContext.findLabel:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
            astore 5 /* labelNode */
        15: .line 2998
            aload 5 /* labelNode */
            ifnonnull 17
        16: .line 2999
            aload 0 /* this */
            ldc "undefined.label"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 6 // com.oracle.js.parser.ir.IdentNode ident
        17: .line 3005
      StackMap locals:
      StackMap stack:
            aload 5 /* labelNode */
            ifnonnull 18
            aconst_null
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5 /* labelNode */
            invokevirtual com.oracle.js.parser.ParserContextLabelNode.getLabelName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 6 /* labelName */
        start local 6 // java.lang.String labelName
        20: .line 3006
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* labelName */
            invokevirtual com.oracle.js.parser.ParserContext.getContinueTo:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLoopNode;
            astore 7 /* targetNode */
        start local 7 // com.oracle.js.parser.ParserContextLoopNode targetNode
        21: .line 3008
            aload 7 /* targetNode */
            ifnonnull 23
        22: .line 3009
            aload 0 /* this */
            ldc "illegal.continue.stmt"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* continueToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        23: .line 3012
      StackMap locals: java.lang.String com.oracle.js.parser.ParserContextLoopNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        24: .line 3015
            aload 0 /* this */
            new com.oracle.js.parser.ir.ContinueNode
            dup
            iload 1 /* continueLine */
            lload 2 /* continueToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* labelName */
            invokespecial com.oracle.js.parser.ir.ContinueNode.<init>:(IJILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        25: .line 3016
            return
        end local 7 // com.oracle.js.parser.ParserContextLoopNode targetNode
        end local 6 // java.lang.String labelName
        end local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
        end local 4 // boolean seenEOL
        end local 2 // long continueToken
        end local 1 // int continueLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lcom/oracle/js/parser/Parser;
            1   26     1   continueLine  I
            2   26     2  continueToken  J
            6   26     4        seenEOL  Z
            9   26     5      labelNode  Lcom/oracle/js/parser/ParserContextLabelNode;
           14   17     6          ident  Lcom/oracle/js/parser/ir/IdentNode;
           20   26     6      labelName  Ljava/lang/String;
           21   26     7     targetNode  Lcom/oracle/js/parser/ParserContextLoopNode;

  private void breakStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3029
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* breakLine */
        start local 1 // int breakLine
         1: .line 3030
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* breakToken */
        start local 2 // long breakToken
         2: .line 3032
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3034
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals: int long
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* seenEOL */
        start local 4 // boolean seenEOL
         6: .line 3035
            iload 4 /* seenEOL */
            ifeq 8
         7: .line 3036
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         8: .line 3039
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* labelNode */
        start local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
         9: .line 3042
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                    2: 10
                   32: 10
                   57: 10
              default: 11
          }
        10: .line 3046
      StackMap locals: com.oracle.js.parser.ParserContextLabelNode
      StackMap stack:
            goto 17
        11: .line 3049
      StackMap locals:
      StackMap stack:
            iload 4 /* seenEOL */
            ifeq 13
        12: .line 3050
            goto 17
        13: .line 3052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.labelIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 6 /* ident */
        start local 6 // com.oracle.js.parser.ir.IdentNode ident
        14: .line 3053
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ParserContext.findLabel:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
            astore 5 /* labelNode */
        15: .line 3055
            aload 5 /* labelNode */
            ifnonnull 17
        16: .line 3056
            aload 0 /* this */
            ldc "undefined.label"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 6 // com.oracle.js.parser.ir.IdentNode ident
        17: .line 3064
      StackMap locals:
      StackMap stack:
            aload 5 /* labelNode */
            ifnonnull 18
            aconst_null
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5 /* labelNode */
            invokevirtual com.oracle.js.parser.ParserContextLabelNode.getLabelName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 6 /* labelName */
        start local 6 // java.lang.String labelName
        20: .line 3065
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* labelName */
            invokevirtual com.oracle.js.parser.ParserContext.getBreakable:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextBreakableNode;
            astore 7 /* targetNode */
        start local 7 // com.oracle.js.parser.ParserContextBreakableNode targetNode
        21: .line 3066
            aload 7 /* targetNode */
            ifnonnull 23
        22: .line 3067
            aload 0 /* this */
            ldc "illegal.break.stmt"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* breakToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        23: .line 3070
      StackMap locals: java.lang.String com.oracle.js.parser.ParserContextBreakableNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        24: .line 3073
            aload 0 /* this */
            new com.oracle.js.parser.ir.BreakNode
            dup
            iload 1 /* breakLine */
            lload 2 /* breakToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* labelName */
            invokespecial com.oracle.js.parser.ir.BreakNode.<init>:(IJILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        25: .line 3074
            return
        end local 7 // com.oracle.js.parser.ParserContextBreakableNode targetNode
        end local 6 // java.lang.String labelName
        end local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
        end local 4 // boolean seenEOL
        end local 2 // long breakToken
        end local 1 // int breakLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lcom/oracle/js/parser/Parser;
            1   26     1   breakLine  I
            2   26     2  breakToken  J
            6   26     4     seenEOL  Z
            9   26     5   labelNode  Lcom/oracle/js/parser/ParserContextLabelNode;
           14   17     6       ident  Lcom/oracle/js/parser/ir/IdentNode;
           20   26     6   labelName  Ljava/lang/String;
           21   26     7  targetNode  Lcom/oracle/js/parser/ParserContextBreakableNode;

  private void returnStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3087
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isScriptOrModule:()Z
            ifeq 2
         1: .line 3088
            aload 0 /* this */
            ldc "invalid.return"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         2: .line 3092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* returnLine */
        start local 1 // int returnLine
         3: .line 3093
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* returnToken */
        start local 2 // long returnToken
         4: .line 3095
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 3097
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 6
            iconst_1
            goto 7
      StackMap locals: int long
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* seenEOL */
        start local 4 // boolean seenEOL
         8: .line 3098
            iload 4 /* seenEOL */
            ifeq 10
         9: .line 3099
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 3102
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* expression */
        start local 5 // com.oracle.js.parser.ir.Expression expression
        11: .line 3105
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                    2: 12
                   32: 12
                   57: 12
              default: 13
          }
        12: .line 3109
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            goto 16
        13: .line 3112
      StackMap locals:
      StackMap stack:
            iload 4 /* seenEOL */
            ifeq 15
        14: .line 3113
            goto 16
        15: .line 3115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 5 /* expression */
        16: .line 3119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        17: .line 3122
            aload 0 /* this */
            new com.oracle.js.parser.ir.ReturnNode
            dup
            iload 1 /* returnLine */
            lload 2 /* returnToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* expression */
            invokespecial com.oracle.js.parser.ir.ReturnNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        18: .line 3123
            return
        end local 5 // com.oracle.js.parser.ir.Expression expression
        end local 4 // boolean seenEOL
        end local 2 // long returnToken
        end local 1 // int returnLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lcom/oracle/js/parser/Parser;
            3   19     1   returnLine  I
            4   19     2  returnToken  J
            8   19     4      seenEOL  Z
           11   19     5   expression  Lcom/oracle/js/parser/ir/Expression;

  private com.oracle.js.parser.ir.Expression yieldExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean await
         0: .line 3136
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* yieldToken */
        start local 3 // long yieldToken
         3: .line 3140
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3141
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 3143
            aconst_null
            astore 5 /* expression */
        start local 5 // com.oracle.js.parser.ir.Expression expression
         6: .line 3145
            iconst_0
            istore 6 /* yieldAsterisk */
        start local 6 // boolean yieldAsterisk
         7: .line 3146
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
         8: .line 3147
            iconst_1
            istore 6 /* yieldAsterisk */
         9: .line 3148
            lload 3 /* yieldToken */
            getstatic com.oracle.js.parser.TokenType.YIELD_STAR:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 3 /* yieldToken */
        10: .line 3149
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        11: .line 3152
      StackMap locals: com.oracle.js.parser.ir.Expression int
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 8
                    2: 12
                    3: 12
                   16: 12
                   24: 12
                   31: 12
                   32: 12
                   49: 12
                   57: 12
              default: 17
          }
        12: .line 3161
      StackMap locals:
      StackMap stack:
            iload 6 /* yieldAsterisk */
            ifne 17
        13: .line 3163
            lload 3 /* yieldToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic com.oracle.js.parser.Parser.newUndefinedLiteral:(JI)Lcom/oracle/js/parser/ir/UnaryNode;
            astore 5 /* expression */
        14: .line 3164
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 18
        15: .line 3165
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        16: .line 3167
            goto 18
        17: .line 3173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* in */
            iconst_1
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 5 /* expression */
        18: .line 3178
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 3 /* yieldToken */
            aload 5 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 6 // boolean yieldAsterisk
        end local 5 // com.oracle.js.parser.ir.Expression expression
        end local 3 // long yieldToken
        end local 2 // boolean await
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/oracle/js/parser/Parser;
            0   19     1             in  Z
            0   19     2          await  Z
            3   19     3     yieldToken  J
            6   19     5     expression  Lcom/oracle/js/parser/ir/Expression;
            7   19     6  yieldAsterisk  Z
    MethodParameters:
       Name  Flags
      in     
      await  

  private com.oracle.js.parser.ir.Expression awaitExpression(boolean);
    descriptor: (Z)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
         0: .line 3182
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* awaitToken */
        start local 2 // long awaitToken
         2: .line 3185
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3187
            aload 0 /* this */
            iload 1 /* yield */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* expression */
        start local 4 // com.oracle.js.parser.ir.Expression expression
         4: .line 3189
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isModule:()Z
            ifeq 6
         5: .line 3191
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            ldc 33554432
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         6: .line 3194
      StackMap locals: long com.oracle.js.parser.ir.Expression
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 2 /* awaitToken */
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 4 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 4 // com.oracle.js.parser.ir.Expression expression
        end local 2 // long awaitToken
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/js/parser/Parser;
            0    7     1       yield  Z
            2    7     2  awaitToken  J
            4    7     4  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  

  private static com.oracle.js.parser.ir.UnaryNode newUndefinedLiteral(long, int);
    descriptor: (JI)Lcom/oracle/js/parser/ir/UnaryNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // long token
        start local 2 // int finish
         0: .line 3198
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 0 /* token */
            getstatic com.oracle.js.parser.TokenType.VOID:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lload 0 /* token */
            iload 2 /* finish */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JILjava/lang/Number;)Lcom/oracle/js/parser/ir/LiteralNode;
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 2 // int finish
        end local 0 // long token
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   token  J
            0    1     2  finish  I
    MethodParameters:
        Name  Flags
      token   
      finish  

  private void withStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3211
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* withLine */
        start local 1 // int withLine
         1: .line 3212
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* withToken */
        start local 2 // long withToken
         2: .line 3214
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3217
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 5
         4: .line 3218
            aload 0 /* this */
            ldc "strict.no.with"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* withToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         5: .line 3221
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         6: .line 3222
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* expression */
        start local 4 // com.oracle.js.parser.ir.Expression expression
         7: .line 3223
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 3224
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getStatement:()Lcom/oracle/js/parser/ir/Block;
            astore 5 /* body */
        start local 5 // com.oracle.js.parser.ir.Block body
         9: .line 3226
            aload 0 /* this */
            new com.oracle.js.parser.ir.WithNode
            dup
            iload 1 /* withLine */
            lload 2 /* withToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* expression */
            aload 5 /* body */
            invokespecial com.oracle.js.parser.ir.WithNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        10: .line 3227
            return
        end local 5 // com.oracle.js.parser.ir.Block body
        end local 4 // com.oracle.js.parser.ir.Expression expression
        end local 2 // long withToken
        end local 1 // int withLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/js/parser/Parser;
            1   11     1    withLine  I
            2   11     2   withToken  J
            7   11     4  expression  Lcom/oracle/js/parser/ir/Expression;
            9   11     5        body  Lcom/oracle/js/parser/ir/Block;

  private void switchStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=18, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3252
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* switchLine */
        start local 1 // int switchLine
         1: .line 3253
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* switchToken */
        start local 2 // long switchToken
         2: .line 3256
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 3
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.newBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            goto 4
      StackMap locals: int long
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserContextBlockNode
         4: astore 4 /* outerBlock */
        start local 4 // com.oracle.js.parser.ParserContextBlockNode outerBlock
         5: .line 3259
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokestatic com.oracle.js.parser.ir.Scope.createSwitchBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 5 /* switchBlock */
        start local 5 // com.oracle.js.parser.ParserContextBlockNode switchBlock
         6: .line 3262
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         7: .line 3265
            new com.oracle.js.parser.ParserContextSwitchNode
            dup
            invokespecial com.oracle.js.parser.ParserContextSwitchNode.<init>:()V
            astore 6 /* switchNode */
        start local 6 // com.oracle.js.parser.ParserContextSwitchNode switchNode
         8: .line 3266
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* switchNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         9: .line 3268
            iconst_m1
            istore 7 /* defaultCaseIndex */
        start local 7 // int defaultCaseIndex
        10: .line 3270
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* cases */
        start local 8 // java.util.ArrayList cases
        11: .line 3272
            aconst_null
            astore 9 /* switchStatement */
        start local 9 // com.oracle.js.parser.ir.SwitchNode switchStatement
        12: .line 3275
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        13: .line 3276
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 10 /* expressionLine */
        start local 10 // int expressionLine
        14: .line 3277
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* expression */
        start local 11 // com.oracle.js.parser.ir.Expression expression
        15: .line 3278
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        16: .line 3280
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        17: .line 3286
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 42
        18: .line 3287
            new com.oracle.js.parser.ir.IdentNode
            dup
            aload 11 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 11 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            ldc ":switch"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            astore 12 /* switchExprName */
        start local 12 // com.oracle.js.parser.ir.IdentNode switchExprName
        19: .line 3288
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 10 /* expressionLine */
            aload 11 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 11 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            aload 12 /* switchExprName */
            aload 11 /* expression */
            iconst_1
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 13 /* varNode */
        start local 13 // com.oracle.js.parser.ir.VarNode varNode
        20: .line 3289
            aload 4 /* outerBlock */
            aload 13 /* varNode */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        21: .line 3290
            aload 0 /* this */
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 13 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
        22: .line 3291
            aload 12 /* switchExprName */
            astore 11 /* expression */
        end local 13 // com.oracle.js.parser.ir.VarNode varNode
        end local 12 // com.oracle.js.parser.ir.IdentNode switchExprName
        23: .line 3294
            goto 42
        24: .line 3296
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextSwitchNode int java.util.ArrayList com.oracle.js.parser.ir.SwitchNode int com.oracle.js.parser.ir.Expression
      StackMap stack:
            aconst_null
            astore 12 /* caseExpression */
        start local 12 // com.oracle.js.parser.ir.Expression caseExpression
        25: .line 3297
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 13 /* caseToken */
        start local 13 // long caseToken
        26: .line 3299
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                   67: 27
                   73: 30
              default: 34
          }
        27: .line 3301
      StackMap locals: com.oracle.js.parser.ir.Expression long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        28: .line 3302
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 12 /* caseExpression */
        29: .line 3303
            goto 35
        30: .line 3306
      StackMap locals:
      StackMap stack:
            iload 7 /* defaultCaseIndex */
            iconst_m1
            if_icmpeq 32
        31: .line 3307
            aload 0 /* this */
            ldc "duplicate.default.in.switch"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        32: .line 3309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        33: .line 3310
            goto 35
        34: .line 3314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.CASE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        35: .line 3318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        36: .line 3321
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.caseStatementList:()Ljava/util/List;
            astore 15 /* statements */
        start local 15 // java.util.List statements
        37: .line 3322
            new com.oracle.js.parser.ir.CaseNode
            dup
            lload 13 /* caseToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 12 /* caseExpression */
            aload 15 /* statements */
            invokespecial com.oracle.js.parser.ir.CaseNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Ljava/util/List;)V
            astore 16 /* caseNode */
        start local 16 // com.oracle.js.parser.ir.CaseNode caseNode
        38: .line 3324
            aload 12 /* caseExpression */
            ifnonnull 41
        39: .line 3325
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 40
            iload 7 /* defaultCaseIndex */
            iconst_m1
            if_icmpeq 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 3326
      StackMap locals: java.util.List com.oracle.js.parser.ir.CaseNode
      StackMap stack:
            aload 8 /* cases */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* defaultCaseIndex */
        41: .line 3329
      StackMap locals:
      StackMap stack:
            aload 8 /* cases */
            aload 16 /* caseNode */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // com.oracle.js.parser.ir.CaseNode caseNode
        end local 15 // java.util.List statements
        end local 13 // long caseToken
        end local 12 // com.oracle.js.parser.ir.Expression caseExpression
        42: .line 3294
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextSwitchNode int java.util.ArrayList com.oracle.js.parser.ir.SwitchNode int com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 24
        43: .line 3332
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        44: .line 3334
            new com.oracle.js.parser.ir.SwitchNode
            dup
            iload 1 /* switchLine */
            lload 2 /* switchToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 11 /* expression */
            aload 8 /* cases */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            iload 7 /* defaultCaseIndex */
            invokespecial com.oracle.js.parser.ir.SwitchNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;Ljava/util/List;I)V
            astore 9 /* switchStatement */
        end local 11 // com.oracle.js.parser.ir.Expression expression
        end local 10 // int expressionLine
        45: .line 3335
            goto 60
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextSwitchNode int java.util.ArrayList com.oracle.js.parser.ir.SwitchNode
      StackMap stack: java.lang.Throwable
        46: astore 17
        47: .line 3336
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* switchNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        48: .line 3337
            aload 0 /* this */
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        49: .line 3339
            aload 9 /* switchStatement */
            ifnull 53
        50: .line 3340
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 1 /* switchLine */
        51: .line 3341
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* switchToken */
            aload 9 /* switchStatement */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getFinish:()I
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            sipush 128
            ior
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            iconst_1
            anewarray com.oracle.js.parser.ir.Statement
            dup
            iconst_0
            aload 9 /* switchStatement */
            aastore
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;[Lcom/oracle/js/parser/ir/Statement;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
        52: .line 3340
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        53: .line 3343
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextSwitchNode int java.util.ArrayList com.oracle.js.parser.ir.SwitchNode top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 4 /* outerBlock */
            ifnull 59
        54: .line 3344
            aload 0 /* this */
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        55: .line 3345
            aload 9 /* switchStatement */
            ifnull 59
        56: .line 3346
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 1 /* switchLine */
        57: .line 3347
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* switchToken */
            aload 9 /* switchStatement */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getFinish:()I
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
        58: .line 3346
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        59: .line 3350
      StackMap locals:
      StackMap stack:
            aload 17
            athrow
        60: .line 3336
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ParserContextSwitchNode int java.util.ArrayList com.oracle.js.parser.ir.SwitchNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 6 /* switchNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        61: .line 3337
            aload 0 /* this */
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        62: .line 3339
            aload 9 /* switchStatement */
            ifnull 66
        63: .line 3340
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 1 /* switchLine */
        64: .line 3341
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* switchToken */
            aload 9 /* switchStatement */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getFinish:()I
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            sipush 128
            ior
            aload 5 /* switchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            iconst_1
            anewarray com.oracle.js.parser.ir.Statement
            dup
            iconst_0
            aload 9 /* switchStatement */
            aastore
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;[Lcom/oracle/js/parser/ir/Statement;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
        65: .line 3340
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        66: .line 3343
      StackMap locals:
      StackMap stack:
            aload 4 /* outerBlock */
            ifnull 72
        67: .line 3344
            aload 0 /* this */
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        68: .line 3345
            aload 9 /* switchStatement */
            ifnull 72
        69: .line 3346
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 1 /* switchLine */
        70: .line 3347
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* switchToken */
            aload 9 /* switchStatement */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getFinish:()I
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 4 /* outerBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
        71: .line 3346
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        72: .line 3351
      StackMap locals:
      StackMap stack:
            return
        end local 9 // com.oracle.js.parser.ir.SwitchNode switchStatement
        end local 8 // java.util.ArrayList cases
        end local 7 // int defaultCaseIndex
        end local 6 // com.oracle.js.parser.ParserContextSwitchNode switchNode
        end local 5 // com.oracle.js.parser.ParserContextBlockNode switchBlock
        end local 4 // com.oracle.js.parser.ParserContextBlockNode outerBlock
        end local 2 // long switchToken
        end local 1 // int switchLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   73     0              this  Lcom/oracle/js/parser/Parser;
            1   73     1        switchLine  I
            2   73     2       switchToken  J
            5   73     4        outerBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
            6   73     5       switchBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
            8   73     6        switchNode  Lcom/oracle/js/parser/ParserContextSwitchNode;
           10   73     7  defaultCaseIndex  I
           11   73     8             cases  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/CaseNode;>;
           12   73     9   switchStatement  Lcom/oracle/js/parser/ir/SwitchNode;
           14   45    10    expressionLine  I
           15   45    11        expression  Lcom/oracle/js/parser/ir/Expression;
           19   23    12    switchExprName  Lcom/oracle/js/parser/ir/IdentNode;
           20   23    13           varNode  Lcom/oracle/js/parser/ir/VarNode;
           25   42    12    caseExpression  Lcom/oracle/js/parser/ir/Expression;
           26   42    13         caseToken  J
           37   42    15        statements  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
           38   42    16          caseNode  Lcom/oracle/js/parser/ir/CaseNode;
      Exception table:
        from    to  target  type
          12    46      46  any

  private void labelStatement(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean mayBeFunctionDeclaration
         0: .line 3363
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* labelToken */
        start local 2 // long labelToken
         1: .line 3365
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.labelIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 4 /* ident */
        start local 4 // com.oracle.js.parser.ir.IdentNode ident
         2: .line 3367
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         3: .line 3369
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 4 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ParserContext.findLabel:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserContextLabelNode;
            ifnull 5
         4: .line 3370
            aload 0 /* this */
            ldc "duplicate.label"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* labelToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         5: .line 3373
      StackMap locals: long com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            new com.oracle.js.parser.ParserContextLabelNode
            dup
            aload 4 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ParserContextLabelNode.<init>:(Ljava/lang/String;)V
            astore 5 /* labelNode */
        start local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
         6: .line 3374
            aconst_null
            astore 6 /* body */
        start local 6 // com.oracle.js.parser.ir.Block body
         7: .line 3376
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 5 /* labelNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
         8: .line 3377
            aload 0 /* this */
            iconst_1
            iload 1 /* mayBeFunctionDeclaration */
            invokevirtual com.oracle.js.parser.Parser.getStatement:(ZZ)Lcom/oracle/js/parser/ir/Block;
            astore 6 /* body */
         9: .line 3378
            goto 13
      StackMap locals: com.oracle.js.parser.Parser int long com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextLabelNode com.oracle.js.parser.ir.Block
      StackMap stack: java.lang.Throwable
        10: astore 7
        11: .line 3379
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 5 /* labelNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        12: .line 3380
            aload 7
            athrow
        13: .line 3379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 5 /* labelNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        14: .line 3382
            aload 0 /* this */
            new com.oracle.js.parser.ir.LabelNode
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            lload 2 /* labelToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aload 6 /* body */
            invokespecial com.oracle.js.parser.ir.LabelNode.<init>:(IJILjava/lang/String;Lcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        15: .line 3383
            return
        end local 6 // com.oracle.js.parser.ir.Block body
        end local 5 // com.oracle.js.parser.ParserContextLabelNode labelNode
        end local 4 // com.oracle.js.parser.ir.IdentNode ident
        end local 2 // long labelToken
        end local 1 // boolean mayBeFunctionDeclaration
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   16     0                      this  Lcom/oracle/js/parser/Parser;
            0   16     1  mayBeFunctionDeclaration  Z
            1   16     2                labelToken  J
            2   16     4                     ident  Lcom/oracle/js/parser/ir/IdentNode;
            6   16     5                 labelNode  Lcom/oracle/js/parser/ParserContextLabelNode;
            7   16     6                      body  Lcom/oracle/js/parser/ir/Block;
      Exception table:
        from    to  target  type
           7    10      10  any
    MethodParameters:
                          Name  Flags
      mayBeFunctionDeclaration  final

  private void throwStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3397
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* throwLine */
        start local 1 // int throwLine
         1: .line 3398
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* throwToken */
        start local 2 // long throwToken
         2: .line 3400
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3402
            aconst_null
            astore 4 /* expression */
        start local 4 // com.oracle.js.parser.ir.Expression expression
         4: .line 3405
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                    3: 5
                   32: 5
                   57: 5
              default: 6
          }
         5: .line 3409
      StackMap locals: int long com.oracle.js.parser.ir.Expression
      StackMap stack:
            goto 7
         6: .line 3412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* expression */
         7: .line 3416
      StackMap locals:
      StackMap stack:
            aload 4 /* expression */
            ifnonnull 9
         8: .line 3417
            aload 0 /* this */
            ldc "expected.operand"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         9: .line 3420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        10: .line 3422
            aload 0 /* this */
            new com.oracle.js.parser.ir.ThrowNode
            dup
            iload 1 /* throwLine */
            lload 2 /* throwToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* expression */
            iconst_0
            invokespecial com.oracle.js.parser.ir.ThrowNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;Z)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        11: .line 3423
            return
        end local 4 // com.oracle.js.parser.ir.Expression expression
        end local 2 // long throwToken
        end local 1 // int throwLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/js/parser/Parser;
            1   12     1   throwLine  I
            2   12     2  throwToken  J
            4   12     4  expression  Lcom/oracle/js/parser/ir/Expression;

  private void tryStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=16, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3444
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* tryLine */
        start local 1 // int tryLine
         1: .line 3445
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* tryToken */
        start local 2 // long tryToken
         2: .line 3447
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3450
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 4 /* startLine */
        start local 4 // int startLine
         4: .line 3451
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.newBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 5 /* outer */
        start local 5 // com.oracle.js.parser.ParserContextBlockNode outer
         5: .line 3455
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.getBlock:(Z)Lcom/oracle/js/parser/ir/Block;
            astore 6 /* tryBody */
        start local 6 // com.oracle.js.parser.ir.Block tryBody
         6: .line 3456
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* catchBlocks */
        start local 7 // java.util.ArrayList catchBlocks
         7: .line 3458
            goto 31
         8: .line 3459
      StackMap locals: com.oracle.js.parser.Parser int long int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ir.Block java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 8 /* catchLine */
        start local 8 // int catchLine
         9: .line 3460
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 9 /* catchToken */
        start local 9 // long catchToken
        10: .line 3461
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        11: .line 3463
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 14
            getstatic com.oracle.js.parser.Parser.ES2019_OPTIONAL_CATCH_BINDING:Z
            ifeq 14
        12: .line 3464
            aload 7 /* catchBlocks */
            aload 0 /* this */
            lload 9 /* catchToken */
            iload 8 /* catchLine */
            aconst_null
            aconst_null
            aconst_null
            invokevirtual com.oracle.js.parser.Parser.catchBlock:(JILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Block;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 3465
            goto 32
        14: .line 3468
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        15: .line 3470
            aload 0 /* this */
            ldc "catch parameter"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifierOrPattern:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* catchParameter */
        start local 11 // com.oracle.js.parser.ir.Expression catchParameter
        16: .line 3473
            aload 11 /* catchParameter */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 20
        17: .line 3474
            aload 11 /* catchParameter */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsCatchParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 12 /* exception */
        start local 12 // com.oracle.js.parser.ir.IdentNode exception
        18: .line 3475
            aconst_null
            astore 13 /* pattern */
        start local 13 // com.oracle.js.parser.ir.Expression pattern
        19: .line 3476
            goto 22
        end local 13 // com.oracle.js.parser.ir.Expression pattern
        end local 12 // com.oracle.js.parser.ir.IdentNode exception
        20: .line 3477
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            new com.oracle.js.parser.ir.IdentNode
            dup
            aload 11 /* catchParameter */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 11 /* catchParameter */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            ldc ":error"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsCatchParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 12 /* exception */
        start local 12 // com.oracle.js.parser.ir.IdentNode exception
        21: .line 3478
            aload 11 /* catchParameter */
            astore 13 /* pattern */
        start local 13 // com.oracle.js.parser.ir.Expression pattern
        22: .line 3485
      StackMap locals: com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifeq 26
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IF:Lcom/oracle/js/parser/TokenType;
            if_acmpne 26
        23: .line 3486
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        24: .line 3488
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            astore 14 /* ifExpression */
        start local 14 // com.oracle.js.parser.ir.Expression ifExpression
        25: .line 3489
            goto 27
        end local 14 // com.oracle.js.parser.ir.Expression ifExpression
        26: .line 3490
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* ifExpression */
        start local 14 // com.oracle.js.parser.ir.Expression ifExpression
        27: .line 3493
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        28: .line 3495
            aload 7 /* catchBlocks */
            aload 0 /* this */
            lload 9 /* catchToken */
            iload 8 /* catchLine */
            aload 12 /* exception */
            aload 13 /* pattern */
            aload 14 /* ifExpression */
            invokevirtual com.oracle.js.parser.Parser.catchBlock:(JILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Block;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 3498
            aload 14 /* ifExpression */
            ifnonnull 31
        30: .line 3499
            goto 32
        end local 14 // com.oracle.js.parser.ir.Expression ifExpression
        end local 13 // com.oracle.js.parser.ir.Expression pattern
        end local 12 // com.oracle.js.parser.ir.IdentNode exception
        end local 11 // com.oracle.js.parser.ir.Expression catchParameter
        end local 9 // long catchToken
        end local 8 // int catchLine
        31: .line 3458
      StackMap locals: com.oracle.js.parser.Parser int long int com.oracle.js.parser.ParserContextBlockNode com.oracle.js.parser.ir.Block java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.CATCH:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 8
        32: .line 3504
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* finallyStatements */
        start local 8 // com.oracle.js.parser.ir.Block finallyStatements
        33: .line 3506
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.FINALLY:Lcom/oracle/js/parser/TokenType;
            if_acmpne 36
        34: .line 3507
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        35: .line 3508
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.getBlock:(Z)Lcom/oracle/js/parser/ir/Block;
            astore 8 /* finallyStatements */
        36: .line 3512
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 7 /* catchBlocks */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 38
            aload 8 /* finallyStatements */
            ifnonnull 38
        37: .line 3513
            aload 0 /* this */
            ldc "missing.catch.or.finally"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* tryToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        38: .line 3516
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.TryNode
            dup
            iload 1 /* tryLine */
            lload 2 /* tryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* tryBody */
            aload 7 /* catchBlocks */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            aload 8 /* finallyStatements */
            invokespecial com.oracle.js.parser.ir.TryNode.<init>:(IJILcom/oracle/js/parser/ir/Block;Ljava/util/List;Lcom/oracle/js/parser/ir/Block;)V
            astore 9 /* tryNode */
        start local 9 // com.oracle.js.parser.ir.TryNode tryNode
        39: .line 3518
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 40
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.peek:()Lcom/oracle/js/parser/ParserContextNode;
            aload 5 /* outer */
            if_acmpeq 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 3519
      StackMap locals: com.oracle.js.parser.ir.TryNode
      StackMap stack:
            aload 0 /* this */
            aload 9 /* tryNode */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 9 // com.oracle.js.parser.ir.TryNode tryNode
        end local 8 // com.oracle.js.parser.ir.Block finallyStatements
        end local 7 // java.util.ArrayList catchBlocks
        end local 6 // com.oracle.js.parser.ir.Block tryBody
        41: .line 3520
            goto 45
      StackMap locals: com.oracle.js.parser.Parser int long int com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        42: astore 15
        43: .line 3521
            aload 0 /* this */
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        44: .line 3522
            aload 15
            athrow
        45: .line 3521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        46: .line 3524
            aload 0 /* this */
            new com.oracle.js.parser.ir.BlockStatement
            dup
            iload 4 /* startLine */
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* tryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 5 /* outer */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        47: .line 3525
            return
        end local 5 // com.oracle.js.parser.ParserContextBlockNode outer
        end local 4 // int startLine
        end local 2 // long tryToken
        end local 1 // int tryLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   48     0               this  Lcom/oracle/js/parser/Parser;
            1   48     1            tryLine  I
            2   48     2           tryToken  J
            4   48     4          startLine  I
            5   48     5              outer  Lcom/oracle/js/parser/ParserContextBlockNode;
            6   41     6            tryBody  Lcom/oracle/js/parser/ir/Block;
            7   41     7        catchBlocks  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Block;>;
            9   31     8          catchLine  I
           10   31     9         catchToken  J
           16   31    11     catchParameter  Lcom/oracle/js/parser/ir/Expression;
           18   20    12          exception  Lcom/oracle/js/parser/ir/IdentNode;
           21   31    12          exception  Lcom/oracle/js/parser/ir/IdentNode;
           19   20    13            pattern  Lcom/oracle/js/parser/ir/Expression;
           22   31    13            pattern  Lcom/oracle/js/parser/ir/Expression;
           25   26    14       ifExpression  Lcom/oracle/js/parser/ir/Expression;
           27   31    14       ifExpression  Lcom/oracle/js/parser/ir/Expression;
           33   41     8  finallyStatements  Lcom/oracle/js/parser/ir/Block;
           39   41     9            tryNode  Lcom/oracle/js/parser/ir/TryNode;
      Exception table:
        from    to  target  type
           5    42      42  any

  private com.oracle.js.parser.ir.Block catchBlock(long, int, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression);
    descriptor: (JILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=11, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long catchToken
        start local 3 // int catchLine
        start local 4 // com.oracle.js.parser.ir.IdentNode exception
        start local 5 // com.oracle.js.parser.ir.Expression pattern
        start local 6 // com.oracle.js.parser.ir.Expression ifExpression
         0: .line 3528
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokestatic com.oracle.js.parser.ir.Scope.createCatch:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 7 /* catchBlock */
        start local 7 // com.oracle.js.parser.ParserContextBlockNode catchBlock
         1: .line 3530
            aload 4 /* exception */
            ifnull 7
         2: .line 3531
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 3 /* catchLine */
            aload 4 /* exception */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 4 /* exception */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getFinish:()I
            aload 4 /* exception */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsDeclaredHere:()Lcom/oracle/js/parser/ir/IdentNode;
            aconst_null
            iconst_1
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 8 /* exceptionVar */
        start local 8 // com.oracle.js.parser.ir.VarNode exceptionVar
         3: .line 3532
            aload 0 /* this */
            aload 8 /* exceptionVar */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         4: .line 3533
            aload 0 /* this */
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 8 /* exceptionVar */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
         5: .line 3534
            aload 5 /* pattern */
            ifnull 7
         6: .line 3535
            aload 0 /* this */
            aload 5 /* pattern */
            new com.oracle.js.parser.Parser$5
            dup
            aload 0 /* this */
            iload 3 /* catchLine */
            aload 7 /* catchBlock */
            invokespecial com.oracle.js.parser.Parser$5.<init>:(Lcom/oracle/js/parser/Parser;ILcom/oracle/js/parser/ParserContextBlockNode;)V
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringBindingPattern:(Lcom/oracle/js/parser/ir/Expression;Ljava/util/function/Consumer;)V
        end local 8 // com.oracle.js.parser.ir.VarNode exceptionVar
         7: .line 3549
      StackMap locals: com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.getBlock:(Z)Lcom/oracle/js/parser/ir/Block;
            astore 8 /* catchBody */
        start local 8 // com.oracle.js.parser.ir.Block catchBody
         8: .line 3550
            new com.oracle.js.parser.ir.CatchNode
            dup
            iload 3 /* catchLine */
            lload 1 /* catchToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* exception */
            aload 5 /* pattern */
            aload 6 /* ifExpression */
            aload 8 /* catchBody */
            iconst_0
            invokespecial com.oracle.js.parser.ir.CatchNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Block;Z)V
            astore 9 /* catchNode */
        start local 9 // com.oracle.js.parser.ir.CatchNode catchNode
         9: .line 3551
            aload 0 /* this */
            aload 9 /* catchNode */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 9 // com.oracle.js.parser.ir.CatchNode catchNode
        end local 8 // com.oracle.js.parser.ir.Block catchBody
        10: .line 3552
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 10
        12: .line 3553
            aload 0 /* this */
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        13: .line 3554
            aload 10
            athrow
        14: .line 3553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        15: .line 3555
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* catchFinish */
        start local 8 // int catchFinish
        16: .line 3556
            new com.oracle.js.parser.ir.Block
            dup
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            iload 8 /* catchFinish */
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 7 /* catchBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            areturn
        end local 8 // int catchFinish
        end local 7 // com.oracle.js.parser.ParserContextBlockNode catchBlock
        end local 6 // com.oracle.js.parser.ir.Expression ifExpression
        end local 5 // com.oracle.js.parser.ir.Expression pattern
        end local 4 // com.oracle.js.parser.ir.IdentNode exception
        end local 3 // int catchLine
        end local 1 // long catchToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/js/parser/Parser;
            0   17     1    catchToken  J
            0   17     3     catchLine  I
            0   17     4     exception  Lcom/oracle/js/parser/ir/IdentNode;
            0   17     5       pattern  Lcom/oracle/js/parser/ir/Expression;
            0   17     6  ifExpression  Lcom/oracle/js/parser/ir/Expression;
            1   17     7    catchBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
            3    7     8  exceptionVar  Lcom/oracle/js/parser/ir/VarNode;
            8   10     8     catchBody  Lcom/oracle/js/parser/ir/Block;
            9   10     9     catchNode  Lcom/oracle/js/parser/ir/CatchNode;
           16   17     8   catchFinish  I
      Exception table:
        from    to  target  type
           1    11      11  any
    MethodParameters:
              Name  Flags
      catchToken    final
      catchLine     final
      exception     final
      pattern       final
      ifExpression  final

  private void debuggerStatement();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3564
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 1 /* debuggerLine */
        start local 1 // int debuggerLine
         1: .line 3565
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* debuggerToken */
        start local 2 // long debuggerToken
         2: .line 3567
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 3568
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
         4: .line 3569
            aload 0 /* this */
            new com.oracle.js.parser.ir.DebuggerNode
            dup
            iload 1 /* debuggerLine */
            lload 2 /* debuggerToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokespecial com.oracle.js.parser.ir.DebuggerNode.<init>:(IJI)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         5: .line 3570
            return
        end local 2 // long debuggerToken
        end local 1 // int debuggerLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/oracle/js/parser/Parser;
            1    6     1   debuggerLine  I
            2    6     2  debuggerToken  J

  private com.oracle.js.parser.ir.Expression primaryExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3598
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* primaryLine */
        start local 3 // int primaryLine
         1: .line 3599
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* primaryToken */
        start local 4 // long primaryToken
         2: .line 3601
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 23
                   15: 25
                   48: 23
                   52: 24
                   80: 17
                   94: 21
                  105: 3
                  107: 19
                  115: 15
                  116: 11
                  117: 15
                  118: 13
                  119: 15
                  120: 15
                  121: 15
                  122: 15
                  123: 15
                  124: 15
                  125: 16
                  126: 7
                  127: 15
                  128: 15
                  131: 26
                  132: 26
              default: 27
          }
         3: .line 3603
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         4: .line 3604
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 3605
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markThis:()V
         6: .line 3606
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 4 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* name */
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsThis:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 6 // java.lang.String name
         7: .line 3608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.identifierReference:(ZZ)Lcom/oracle/js/parser/ir/IdentNode;
            astore 7 /* ident */
        start local 7 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 3609
            aload 7 /* ident */
            ifnonnull 10
         9: .line 3610
            goto 32
        10: .line 3612
      StackMap locals: com.oracle.js.parser.Parser int int int long top com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            aload 7 /* ident */
            invokevirtual com.oracle.js.parser.Parser.detectSpecialProperty:(Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 7 // com.oracle.js.parser.ir.IdentNode ident
        11: .line 3614
      StackMap locals: com.oracle.js.parser.Parser int int int long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 13
        12: .line 3615
            aload 0 /* this */
            ldc "strict.no.nonoctaldecimal"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        13: .line 3618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 15
        14: .line 3619
            aload 0 /* this */
            ldc "strict.no.octal"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        15: .line 3631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getLiteral:()Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        16: .line 3633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* primaryLine */
            lload 4 /* primaryToken */
            invokevirtual com.oracle.js.parser.Parser.execString:(IJ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        17: .line 3635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        18: .line 3636
            lload 4 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iconst_0
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JIZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        19: .line 3638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        20: .line 3639
            lload 4 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iconst_1
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JIZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        21: .line 3641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        22: .line 3642
            lload 4 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JI)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        23: .line 3644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.arrayLiteral:(ZZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        24: .line 3646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.objectLiteral:(ZZ)Lcom/oracle/js/parser/ir/ObjectNode;
            areturn
        25: .line 3648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.parenthesizedExpressionAndArrowParameterList:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        26: .line 3651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.templateLiteral:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        27: .line 3655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            lload 4 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lineInfoReceiver:Lcom/oracle/js/parser/Lexer$LineInfoReceiver;
            invokevirtual com.oracle.js.parser.Lexer.scanLiteral:(JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/Lexer$LineInfoReceiver;)Z
            ifeq 30
        28: .line 3656
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        29: .line 3657
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getLiteral:()Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        30: .line 3659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 31
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isNonStrictModeIdent:()Z
            ifeq 32
        31: .line 3660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.identifierReference:(ZZ)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        32: .line 3665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.operand"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 4 // long primaryToken
        end local 3 // int primaryLine
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lcom/oracle/js/parser/Parser;
            0   33     1         yield  Z
            0   33     2         await  Z
            1   33     3   primaryLine  I
            2   33     4  primaryToken  J
            4    7     6          name  Ljava/lang/String;
            8   11     7         ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression execString(int, long);
    descriptor: (IJ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int primaryLine
        start local 2 // long primaryToken
         0: .line 3676
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 2 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            ldc "$EXEC"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            astore 4 /* execIdent */
        start local 4 // com.oracle.js.parser.ir.IdentNode execIdent
         1: .line 3678
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 3681
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         3: .line 3683
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 5 /* arguments */
        start local 5 // java.util.List arguments
         4: .line 3685
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         5: .line 3687
            lload 2 /* primaryToken */
            invokestatic com.oracle.js.parser.Token.withDelimiter:(J)J
            lstore 6 /* tokenWithDelimiter */
        start local 6 // long tokenWithDelimiter
         6: .line 3688
            iload 1 /* primaryLine */
            lload 6 /* tokenWithDelimiter */
            lload 6 /* tokenWithDelimiter */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* execIdent */
            aload 5 /* arguments */
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 6 // long tokenWithDelimiter
        end local 5 // java.util.List arguments
        end local 4 // com.oracle.js.parser.ir.IdentNode execIdent
        end local 2 // long primaryToken
        end local 1 // int primaryLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/oracle/js/parser/Parser;
            0    7     1         primaryLine  I
            0    7     2        primaryToken  J
            1    7     4           execIdent  Lcom/oracle/js/parser/ir/IdentNode;
            4    7     5           arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
            6    7     6  tokenWithDelimiter  J
    MethodParameters:
              Name  Flags
      primaryLine   final
      primaryToken  final

  private com.oracle.js.parser.ir.LiteralNode<com.oracle.js.parser.ir.Expression[]> arrayLiteral(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/LiteralNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3713
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* arrayToken */
        start local 3 // long arrayToken
         1: .line 3715
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 3718
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* elements */
        start local 5 // java.util.ArrayList elements
         3: .line 3720
            iconst_1
            istore 6 /* elision */
        start local 6 // boolean elision
         4: .line 3721
            iconst_0
            istore 7 /* hasSpread */
        start local 7 // boolean hasSpread
         5: .line 3722
            iconst_0
            istore 8 /* hasCoverInitializedName */
        start local 8 // boolean hasCoverInitializedName
         6: .line 3724
      StackMap locals: com.oracle.js.parser.Parser int int long java.util.ArrayList int int int
      StackMap stack:
            lconst_0
            lstore 9 /* spreadToken */
        start local 9 // long spreadToken
         7: .line 3725
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                   24: 10
                   49: 8
                   59: 15
              default: 19
          }
         8: .line 3727
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         9: .line 3729
            goto 33
        10: .line 3732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        11: .line 3735
            iload 6 /* elision */
            ifeq 13
        12: .line 3736
            aload 5 /* elements */
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 3739
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* elision */
        14: .line 3741
            goto 6
        15: .line 3744
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_SPREAD_ARRAY:Z
            ifeq 19
        16: .line 3745
            iconst_1
            istore 7 /* hasSpread */
        17: .line 3746
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 9 /* spreadToken */
        18: .line 3747
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        19: .line 3752
      StackMap locals:
      StackMap stack:
            iload 6 /* elision */
            ifne 21
        20: .line 3753
            aload 0 /* this */
            ldc "expected.comma"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        21: .line 3757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* expression */
        start local 11 // com.oracle.js.parser.ir.Expression expression
        22: .line 3758
            aload 11 /* expression */
            ifnull 30
        23: .line 3759
            lload 9 /* spreadToken */
            lconst_0
            lcmp
            ifeq 25
        24: .line 3760
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 9 /* spreadToken */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 11 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            astore 11 /* expression */
        25: .line 3762
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 5 /* elements */
            aload 11 /* expression */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 3763
            iload 8 /* hasCoverInitializedName */
            ifne 27
            aload 11 /* expression */
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 27
            iconst_0
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_1
      StackMap locals:
      StackMap stack: int
        28: istore 8 /* hasCoverInitializedName */
        29: .line 3764
            goto 31
        30: .line 3765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        31: .line 3768
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* elision */
        end local 11 // com.oracle.js.parser.ir.Expression expression
        end local 9 // long spreadToken
        32: .line 3723
            goto 6
        33: .line 3773
      StackMap locals:
      StackMap stack:
            lload 3 /* arrayToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* elements */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            iload 7 /* hasSpread */
            iload 6 /* elision */
            iload 8 /* hasCoverInitializedName */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JILjava/util/List;ZZZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        end local 8 // boolean hasCoverInitializedName
        end local 7 // boolean hasSpread
        end local 6 // boolean elision
        end local 5 // java.util.ArrayList elements
        end local 3 // long arrayToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   34     0                     this  Lcom/oracle/js/parser/Parser;
            0   34     1                    yield  Z
            0   34     2                    await  Z
            1   34     3               arrayToken  J
            3   34     5                 elements  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            4   34     6                  elision  Z
            5   34     7                hasSpread  Z
            6   34     8  hasCoverInitializedName  Z
            7   32     9              spreadToken  J
           22   32    11               expression  Lcom/oracle/js/parser/ir/Expression;
    Signature: (ZZ)Lcom/oracle/js/parser/ir/LiteralNode<[Lcom/oracle/js/parser/ir/Expression;>;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.ObjectNode objectLiteral(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/ObjectNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=18, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3793
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* objectToken */
        start local 3 // long objectToken
         1: .line 3795
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 3799
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* elements */
        start local 5 // java.util.ArrayList elements
         3: .line 3800
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* map */
        start local 6 // java.util.Map map
         4: .line 3803
            iconst_1
            istore 7 /* commaSeen */
        start local 7 // boolean commaSeen
         5: .line 3804
            iconst_0
            istore 8 /* hasCoverInitializedName */
        start local 8 // boolean hasCoverInitializedName
         6: .line 3806
      StackMap locals: com.oracle.js.parser.Parser int int long java.util.ArrayList java.util.Map int int
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                   24: 9
                   57: 7
              default: 14
          }
         7: .line 3808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         8: .line 3809
            goto 49
         9: .line 3812
      StackMap locals:
      StackMap stack:
            iload 7 /* commaSeen */
            ifeq 11
        10: .line 3813
            aload 0 /* this */
            ldc "expected.property.id"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        11: .line 3815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        12: .line 3816
            iconst_1
            istore 7 /* commaSeen */
        13: .line 3817
            goto 6
        14: .line 3820
      StackMap locals:
      StackMap stack:
            iload 7 /* commaSeen */
            ifne 16
        15: .line 3821
            aload 0 /* this */
            ldc "expected.comma"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        16: .line 3824
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* commaSeen */
        17: .line 3826
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.propertyDefinition:(ZZ)Lcom/oracle/js/parser/ir/PropertyNode;
            astore 9 /* property */
        start local 9 // com.oracle.js.parser.ir.PropertyNode property
        18: .line 3827
            aload 5 /* elements */
            aload 9 /* property */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 3828
            iload 8 /* hasCoverInitializedName */
            ifne 20
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isCoverInitializedName:()Z
            ifne 20
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 20
            iconst_0
            goto 21
      StackMap locals: com.oracle.js.parser.ir.PropertyNode
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: istore 8 /* hasCoverInitializedName */
        22: .line 3830
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
            ifne 6
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
            getstatic com.oracle.js.parser.TokenType.SPREAD_OBJECT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 24
        23: .line 3831
            goto 6
        24: .line 3834
      StackMap locals:
      StackMap stack:
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            astore 10 /* key */
        start local 10 // java.lang.String key
        25: .line 3835
            aload 6 /* map */
            aload 10 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.PropertyNode
            astore 11 /* existingProperty */
        start local 11 // com.oracle.js.parser.ir.PropertyNode existingProperty
        26: .line 3837
            aload 11 /* existingProperty */
            ifnonnull 29
        27: .line 3838
            aload 6 /* map */
            aload 10 /* key */
            aload 9 /* property */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 3839
            goto 6
        29: .line 3844
      StackMap locals: java.lang.String com.oracle.js.parser.ir.PropertyNode
      StackMap stack:
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            astore 12 /* value */
        start local 12 // com.oracle.js.parser.ir.Expression value
        30: .line 3845
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 13 /* getter */
        start local 13 // com.oracle.js.parser.ir.FunctionNode getter
        31: .line 3846
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 14 /* setter */
        start local 14 // com.oracle.js.parser.ir.FunctionNode setter
        32: .line 3848
            aload 11 /* existingProperty */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            astore 15 /* prevValue */
        start local 15 // com.oracle.js.parser.ir.Expression prevValue
        33: .line 3849
            aload 11 /* existingProperty */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 16 /* prevGetter */
        start local 16 // com.oracle.js.parser.ir.FunctionNode prevGetter
        34: .line 3850
            aload 11 /* existingProperty */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 17 /* prevSetter */
        start local 17 // com.oracle.js.parser.ir.FunctionNode prevSetter
        35: .line 3852
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 38
        36: .line 3853
            aload 0 /* this */
            aload 9 /* property */
            aload 12 /* value */
            aload 13 /* getter */
            aload 14 /* setter */
            aload 15 /* prevValue */
            aload 16 /* prevGetter */
            aload 17 /* prevSetter */
            invokevirtual com.oracle.js.parser.Parser.checkPropertyRedefinition:(Lcom/oracle/js/parser/ir/PropertyNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;)V
        37: .line 3854
            goto 40
        38: .line 3855
      StackMap locals: com.oracle.js.parser.Parser int int long java.util.ArrayList java.util.Map int int com.oracle.js.parser.ir.PropertyNode java.lang.String com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.FunctionNode
      StackMap stack:
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isProto:()Z
            ifeq 40
            aload 11 /* existingProperty */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.isProto:()Z
            ifeq 40
        39: .line 3856
            aload 0 /* this */
            ldc "multiple.proto.key"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        40: .line 3860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 6
            aload 12 /* value */
            ifnonnull 6
            aload 15 /* prevValue */
            ifnonnull 6
        41: .line 3863
            aload 13 /* getter */
            ifnull 45
        42: .line 3864
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 43
            aload 16 /* prevGetter */
            ifnonnull 43
            aload 17 /* prevSetter */
            ifnonnull 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 3865
      StackMap locals:
      StackMap stack:
            aload 6 /* map */
            aload 10 /* key */
            aload 11 /* existingProperty */
            aload 13 /* getter */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setGetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 3866
            goto 6
      StackMap locals:
      StackMap stack:
        45: aload 14 /* setter */
            ifnull 6
        46: .line 3867
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 47
            aload 16 /* prevGetter */
            ifnonnull 47
            aload 17 /* prevSetter */
            ifnonnull 47
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        47: .line 3868
      StackMap locals:
      StackMap stack:
            aload 6 /* map */
            aload 10 /* key */
            aload 11 /* existingProperty */
            aload 14 /* setter */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setSetter:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/PropertyNode;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // com.oracle.js.parser.ir.FunctionNode prevSetter
        end local 16 // com.oracle.js.parser.ir.FunctionNode prevGetter
        end local 15 // com.oracle.js.parser.ir.Expression prevValue
        end local 14 // com.oracle.js.parser.ir.FunctionNode setter
        end local 13 // com.oracle.js.parser.ir.FunctionNode getter
        end local 12 // com.oracle.js.parser.ir.Expression value
        end local 11 // com.oracle.js.parser.ir.PropertyNode existingProperty
        end local 10 // java.lang.String key
        end local 9 // com.oracle.js.parser.ir.PropertyNode property
        48: .line 3805
            goto 6
        49: .line 3875
      StackMap locals: com.oracle.js.parser.Parser int int long java.util.ArrayList java.util.Map int int
      StackMap stack:
            new com.oracle.js.parser.ir.ObjectNode
            dup
            lload 3 /* objectToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* elements */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            iload 8 /* hasCoverInitializedName */
            invokespecial com.oracle.js.parser.ir.ObjectNode.<init>:(JILjava/util/List;Z)V
            areturn
        end local 8 // boolean hasCoverInitializedName
        end local 7 // boolean commaSeen
        end local 6 // java.util.Map map
        end local 5 // java.util.ArrayList elements
        end local 3 // long objectToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   50     0                     this  Lcom/oracle/js/parser/Parser;
            0   50     1                    yield  Z
            0   50     2                    await  Z
            1   50     3              objectToken  J
            3   50     5                 elements  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/PropertyNode;>;
            4   50     6                      map  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/js/parser/ir/PropertyNode;>;
            5   50     7                commaSeen  Z
            6   50     8  hasCoverInitializedName  Z
           18   48     9                 property  Lcom/oracle/js/parser/ir/PropertyNode;
           25   48    10                      key  Ljava/lang/String;
           26   48    11         existingProperty  Lcom/oracle/js/parser/ir/PropertyNode;
           30   48    12                    value  Lcom/oracle/js/parser/ir/Expression;
           31   48    13                   getter  Lcom/oracle/js/parser/ir/FunctionNode;
           32   48    14                   setter  Lcom/oracle/js/parser/ir/FunctionNode;
           33   48    15                prevValue  Lcom/oracle/js/parser/ir/Expression;
           34   48    16               prevGetter  Lcom/oracle/js/parser/ir/FunctionNode;
           35   48    17               prevSetter  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private static boolean hasCoverInitializedName(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.Expression value
         0: .line 3879
            aload 0 /* value */
            ifnull 3
            aload 0 /* value */
            instanceof com.oracle.js.parser.ir.ObjectNode
            ifeq 1
            aload 0 /* value */
            checkcast com.oracle.js.parser.ir.ObjectNode
            invokevirtual com.oracle.js.parser.ir.ObjectNode.hasCoverInitializedName:()Z
            ifne 2
         1: .line 3880
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            ifeq 3
            aload 0 /* value */
            checkcast com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            invokevirtual com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode.hasCoverInitializedName:()Z
            ifeq 3
         2: .line 3879
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.Expression value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      value  

  private void checkPropertyRedefinition(com.oracle.js.parser.ir.PropertyNode, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.FunctionNode, com.oracle.js.parser.ir.FunctionNode, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.FunctionNode, com.oracle.js.parser.ir.FunctionNode);
    descriptor: (Lcom/oracle/js/parser/ir/PropertyNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=8
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.PropertyNode property
        start local 2 // com.oracle.js.parser.ir.Expression value
        start local 3 // com.oracle.js.parser.ir.FunctionNode getter
        start local 4 // com.oracle.js.parser.ir.FunctionNode setter
        start local 5 // com.oracle.js.parser.ir.Expression prevValue
        start local 6 // com.oracle.js.parser.ir.FunctionNode prevGetter
        start local 7 // com.oracle.js.parser.ir.FunctionNode prevSetter
         0: .line 3886
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 2
            aload 2 /* value */
            ifnull 2
            aload 5 /* prevValue */
            ifnull 2
         1: .line 3887
            aload 0 /* this */
            ldc "property.redefinition"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         2: .line 3890
      StackMap locals:
      StackMap stack:
            aload 6 /* prevGetter */
            ifnonnull 3
            aload 7 /* prevSetter */
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 8 /* isPrevAccessor */
        start local 8 // boolean isPrevAccessor
         5: .line 3891
            aload 3 /* getter */
            ifnonnull 6
            aload 4 /* setter */
            ifnonnull 6
            iconst_0
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 9 /* isAccessor */
        start local 9 // boolean isAccessor
         8: .line 3894
            aload 5 /* prevValue */
            ifnull 10
            iload 9 /* isAccessor */
            ifeq 10
         9: .line 3895
            aload 0 /* this */
            ldc "property.redefinition"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        10: .line 3899
      StackMap locals: int
      StackMap stack:
            iload 8 /* isPrevAccessor */
            ifeq 12
            aload 2 /* value */
            ifnull 12
        11: .line 3900
            aload 0 /* this */
            ldc "property.redefinition"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        12: .line 3903
      StackMap locals:
      StackMap stack:
            iload 9 /* isAccessor */
            ifeq 16
            iload 8 /* isPrevAccessor */
            ifeq 16
        13: .line 3904
            aload 3 /* getter */
            ifnull 14
            aload 6 /* prevGetter */
            ifnonnull 15
      StackMap locals:
      StackMap stack:
        14: aload 4 /* setter */
            ifnull 16
            aload 7 /* prevSetter */
            ifnull 16
        15: .line 3905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "property.redefinition"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* property */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        16: .line 3908
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean isAccessor
        end local 8 // boolean isPrevAccessor
        end local 7 // com.oracle.js.parser.ir.FunctionNode prevSetter
        end local 6 // com.oracle.js.parser.ir.FunctionNode prevGetter
        end local 5 // com.oracle.js.parser.ir.Expression prevValue
        end local 4 // com.oracle.js.parser.ir.FunctionNode setter
        end local 3 // com.oracle.js.parser.ir.FunctionNode getter
        end local 2 // com.oracle.js.parser.ir.Expression value
        end local 1 // com.oracle.js.parser.ir.PropertyNode property
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/oracle/js/parser/Parser;
            0   17     1        property  Lcom/oracle/js/parser/ir/PropertyNode;
            0   17     2           value  Lcom/oracle/js/parser/ir/Expression;
            0   17     3          getter  Lcom/oracle/js/parser/ir/FunctionNode;
            0   17     4          setter  Lcom/oracle/js/parser/ir/FunctionNode;
            0   17     5       prevValue  Lcom/oracle/js/parser/ir/Expression;
            0   17     6      prevGetter  Lcom/oracle/js/parser/ir/FunctionNode;
            0   17     7      prevSetter  Lcom/oracle/js/parser/ir/FunctionNode;
            5   17     8  isPrevAccessor  Z
            8   17     9      isAccessor  Z
    MethodParameters:
            Name  Flags
      property    final
      value       final
      getter      final
      setter      final
      prevValue   final
      prevGetter  final
      prevSetter  final

  private com.oracle.js.parser.ir.PropertyKey literalPropertyName();
    descriptor: ()Lcom/oracle/js/parser/ir/PropertyKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 3922
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            tableswitch { // 115 - 126
                  115: 6
                  116: 2
                  117: 6
                  118: 4
                  119: 6
                  120: 6
                  121: 6
                  122: 6
                  123: 6
                  124: 6
                  125: 7
                  126: 1
              default: 7
          }
         1: .line 3924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPropertyName:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
         2: .line 3926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 4
         3: .line 3927
            aload 0 /* this */
            ldc "strict.no.nonoctaldecimal"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 3930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 6
         5: .line 3931
            aload 0 /* this */
            ldc "strict.no.octal"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         6: .line 3941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getLiteral:()Lcom/oracle/js/parser/ir/LiteralNode;
            checkcast com.oracle.js.parser.ir.PropertyKey
            areturn
         7: .line 3943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPropertyName:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.Expression computedPropertyName(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3956
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         1: .line 3957
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* expression */
        start local 3 // com.oracle.js.parser.ir.Expression expression
         2: .line 3958
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         3: .line 3959
            aload 3 /* expression */
            areturn
        end local 3 // com.oracle.js.parser.ir.Expression expression
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/js/parser/Parser;
            0    4     1       yield  Z
            0    4     2       await  Z
            2    4     3  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression propertyName(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3972
            getstatic com.oracle.js.parser.Parser.ES6_COMPUTED_PROPERTY_NAME:Z
            ifeq 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 2
         1: .line 3973
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.computedPropertyName:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
         2: .line 3975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.literalPropertyName:()Lcom/oracle/js/parser/ir/PropertyKey;
            checkcast com.oracle.js.parser.ir.Expression
            areturn
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/js/parser/Parser;
            0    3     1  yield  Z
            0    3     2  await  Z
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.PropertyNode propertyDefinition(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/PropertyNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=19, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 3997
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* propertyToken */
        start local 3 // long propertyToken
         1: .line 3998
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 5 /* functionLine */
        start local 5 // int functionLine
         2: .line 4003
            iconst_0
            istore 8 /* async */
        start local 8 // boolean async
         3: .line 4004
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 6
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncMethod:(Z)Z
            ifeq 6
         4: .line 4005
            iconst_1
            istore 8 /* async */
         5: .line 4006
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         6: .line 4008
      StackMap locals: com.oracle.js.parser.Parser int int long int top top int
      StackMap stack:
            iconst_0
            istore 9 /* generator */
        start local 9 // boolean generator
         7: .line 4009
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 10
            getstatic com.oracle.js.parser.Parser.ES6_GENERATOR_FUNCTION:Z
            ifeq 10
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 10
         8: .line 4010
            iconst_1
            istore 9 /* generator */
         9: .line 4011
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 4014
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 10 /* computed */
        start local 10 // boolean computed
        13: .line 4015
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 14
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isIdentifier:()Z
            ifeq 17
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 17
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 17
        14: .line 4016
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 7 /* isIdentifier */
        start local 7 // boolean isIdentifier
        15: .line 4017
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPropertyName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 6 /* propertyName */
        start local 6 // com.oracle.js.parser.ir.Expression propertyName
        16: .line 4018
            goto 40
        end local 7 // boolean isIdentifier
        end local 6 // com.oracle.js.parser.ir.Expression propertyName
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 18
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 32
        18: .line 4019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 11 /* getOrSet */
        start local 11 // com.oracle.js.parser.TokenType getOrSet
        19: .line 4020
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        20: .line 4022
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 29
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 29
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 29
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 21
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 22
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
        21: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 29
        22: .line 4023
      StackMap locals:
      StackMap stack:
            lload 3 /* propertyToken */
            lstore 12 /* getOrSetToken */
        start local 12 // long getOrSetToken
        23: .line 4024
            aload 11 /* getOrSet */
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 26
        24: .line 4025
            aload 0 /* this */
            lload 12 /* getOrSetToken */
            iload 5 /* functionLine */
            iload 1 /* yield */
            iload 2 /* await */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.propertyGetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            astore 14 /* getter */
        start local 14 // com.oracle.js.parser.Parser$PropertyFunction getter
        25: .line 4026
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* getter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            aconst_null
            aload 14 /* getter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            aconst_null
            iconst_0
            aload 14 /* getter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 14 // com.oracle.js.parser.Parser$PropertyFunction getter
        26: .line 4027
      StackMap locals: long
      StackMap stack:
            aload 11 /* getOrSet */
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 29
        27: .line 4028
            aload 0 /* this */
            lload 12 /* getOrSetToken */
            iload 5 /* functionLine */
            iload 1 /* yield */
            iload 2 /* await */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.propertySetterFunction:(JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            astore 14 /* setter */
        start local 14 // com.oracle.js.parser.Parser$PropertyFunction setter
        28: .line 4029
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* setter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.key:Lcom/oracle/js/parser/ir/Expression;
            aconst_null
            aconst_null
            aload 14 /* setter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            iconst_0
            aload 14 /* setter */
            getfield com.oracle.js.parser.Parser$PropertyFunction.computed:Z
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 14 // com.oracle.js.parser.Parser$PropertyFunction setter
        end local 12 // long getOrSetToken
        29: .line 4033
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* isIdentifier */
        start local 7 // boolean isIdentifier
        30: .line 4034
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 11 /* getOrSet */
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsPropertyName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 6 /* propertyName */
        end local 11 // com.oracle.js.parser.TokenType getOrSet
        start local 6 // com.oracle.js.parser.ir.Expression propertyName
        31: .line 4035
            goto 40
        end local 7 // boolean isIdentifier
        end local 6 // com.oracle.js.parser.ir.Expression propertyName
      StackMap locals:
      StackMap stack:
        32: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 38
            getstatic com.oracle.js.parser.Parser.ES8_REST_SPREAD_PROPERTY:Z
            ifeq 38
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 38
            iload 9 /* generator */
            ifne 38
            iload 8 /* async */
            ifne 38
        33: .line 4036
            lload 3 /* propertyToken */
            getstatic com.oracle.js.parser.TokenType.SPREAD_OBJECT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 11 /* spreadToken */
        start local 11 // long spreadToken
        34: .line 4037
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        35: .line 4038
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 13 /* assignmentExpression */
        start local 13 // com.oracle.js.parser.ir.Expression assignmentExpression
        36: .line 4039
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 11 /* spreadToken */
            aload 13 /* assignmentExpression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            astore 14 /* spread */
        start local 14 // com.oracle.js.parser.ir.Expression spread
        37: .line 4040
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* spread */
            aconst_null
            aconst_null
            aconst_null
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZ)V
            areturn
        end local 14 // com.oracle.js.parser.ir.Expression spread
        end local 13 // com.oracle.js.parser.ir.Expression assignmentExpression
        end local 11 // long spreadToken
        38: .line 4042
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* isIdentifier */
        start local 7 // boolean isIdentifier
        39: .line 4043
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.propertyName:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* propertyName */
        start local 6 // com.oracle.js.parser.ir.Expression propertyName
        40: .line 4048
      StackMap locals: com.oracle.js.parser.Parser int int long int com.oracle.js.parser.ir.Expression int int int int
      StackMap stack:
            iload 9 /* generator */
            ifne 41
            iload 8 /* async */
            ifeq 42
        41: .line 4049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        42: .line 4052
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* coverInitializedName */
        start local 12 // boolean coverInitializedName
        43: .line 4053
            iconst_0
            istore 13 /* proto */
        start local 13 // boolean proto
        44: .line 4054
            iconst_0
            istore 14 /* isAnonymousFunctionDefinition */
        start local 14 // boolean isAnonymousFunctionDefinition
        45: .line 4055
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 48
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 48
        46: .line 4056
            aload 0 /* this */
            aload 6 /* propertyName */
            lload 3 /* propertyToken */
            iload 5 /* functionLine */
            iload 9 /* generator */
            ldc 1048576
            iload 10 /* computed */
            iload 8 /* async */
            invokevirtual com.oracle.js.parser.Parser.propertyMethodFunction:(Lcom/oracle/js/parser/ir/Expression;JIZIZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
            getfield com.oracle.js.parser.Parser$PropertyFunction.functionNode:Lcom/oracle/js/parser/ir/FunctionNode;
            astore 11 /* propertyValue */
        start local 11 // com.oracle.js.parser.ir.Expression propertyValue
        47: .line 4057
            goto 76
        end local 11 // com.oracle.js.parser.ir.Expression propertyValue
      StackMap locals: com.oracle.js.parser.Parser int int long int com.oracle.js.parser.ir.Expression int int int int top int int int
      StackMap stack:
        48: iload 7 /* isIdentifier */
            ifeq 60
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 49
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 49
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 60
      StackMap locals:
      StackMap stack:
        49: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 60
        50: .line 4058
            aload 6 /* propertyName */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 15 /* ident */
        start local 15 // com.oracle.js.parser.ir.IdentNode ident
        51: .line 4059
            aload 0 /* this */
            aload 15 /* ident */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.verifyIdent:(Lcom/oracle/js/parser/ir/IdentNode;ZZ)V
        52: .line 4060
            aload 0 /* this */
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 15 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getPropertyName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.createIdentNode:(JILjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 11 /* propertyValue */
        start local 11 // com.oracle.js.parser.ir.Expression propertyValue
        53: .line 4061
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 76
            getstatic com.oracle.js.parser.Parser.ES6_DESTRUCTURING:Z
            ifeq 76
        54: .line 4063
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 16 /* assignToken */
        start local 16 // long assignToken
        55: .line 4064
            iconst_1
            istore 12 /* coverInitializedName */
        56: .line 4065
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        57: .line 4066
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 18 /* rhs */
        start local 18 // com.oracle.js.parser.ir.Expression rhs
        58: .line 4067
            aload 0 /* this */
            lload 16 /* assignToken */
            aload 11 /* propertyValue */
            aload 18 /* rhs */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.verifyAssignment:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* propertyValue */
        end local 18 // com.oracle.js.parser.ir.Expression rhs
        end local 16 // long assignToken
        end local 15 // com.oracle.js.parser.ir.IdentNode ident
        59: .line 4069
            goto 76
        end local 11 // com.oracle.js.parser.ir.Expression propertyValue
        60: .line 4070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        61: .line 4072
            iload 10 /* computed */
            ifne 63
            ldc "__proto__"
            aload 6 /* propertyName */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        62: .line 4073
            iconst_1
            istore 13 /* proto */
        63: .line 4076
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* propertyName */
            invokevirtual com.oracle.js.parser.Parser.pushDefaultName:(Lcom/oracle/js/parser/ir/Expression;)V
        64: .line 4078
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* propertyValue */
        start local 11 // com.oracle.js.parser.ir.Expression propertyValue
        65: .line 4079
            goto 69
        end local 11 // com.oracle.js.parser.ir.Expression propertyValue
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: astore 15
        67: .line 4080
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        68: .line 4081
            aload 15
            athrow
        start local 11 // com.oracle.js.parser.ir.Expression propertyValue
        69: .line 4080
      StackMap locals: com.oracle.js.parser.Parser int int long int com.oracle.js.parser.ir.Expression int int int int com.oracle.js.parser.ir.Expression int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        70: .line 4083
            iload 13 /* proto */
            ifne 76
        71: .line 4084
            aload 11 /* propertyValue */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 76
        72: .line 4085
            iload 10 /* computed */
            ifne 75
            aload 6 /* propertyName */
            instanceof com.oracle.js.parser.ir.PropertyKey
            ifeq 75
        73: .line 4086
            aload 0 /* this */
            aload 11 /* propertyValue */
            aload 6 /* propertyName */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* propertyValue */
        74: .line 4087
            goto 76
        75: .line 4088
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* isAnonymousFunctionDefinition */
        76: .line 4094
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.PropertyNode
            dup
            lload 3 /* propertyToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* propertyName */
            aload 11 /* propertyValue */
            aconst_null
            aconst_null
            iconst_0
            iload 10 /* computed */
            iload 12 /* coverInitializedName */
            iload 13 /* proto */
            iconst_0
            iload 14 /* isAnonymousFunctionDefinition */
            invokespecial com.oracle.js.parser.ir.PropertyNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZZZ)V
            areturn
        end local 14 // boolean isAnonymousFunctionDefinition
        end local 13 // boolean proto
        end local 12 // boolean coverInitializedName
        end local 11 // com.oracle.js.parser.ir.Expression propertyValue
        end local 10 // boolean computed
        end local 9 // boolean generator
        end local 8 // boolean async
        end local 7 // boolean isIdentifier
        end local 6 // com.oracle.js.parser.ir.Expression propertyName
        end local 5 // int functionLine
        end local 3 // long propertyToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   77     0                           this  Lcom/oracle/js/parser/Parser;
            0   77     1                          yield  Z
            0   77     2                          await  Z
            1   77     3                  propertyToken  J
            2   77     5                   functionLine  I
           16   17     6                   propertyName  Lcom/oracle/js/parser/ir/Expression;
           31   32     6                   propertyName  Lcom/oracle/js/parser/ir/Expression;
           40   77     6                   propertyName  Lcom/oracle/js/parser/ir/Expression;
           15   17     7                   isIdentifier  Z
           30   32     7                   isIdentifier  Z
           39   77     7                   isIdentifier  Z
            3   77     8                          async  Z
            7   77     9                      generator  Z
           13   77    10                       computed  Z
           19   31    11                       getOrSet  Lcom/oracle/js/parser/TokenType;
           23   29    12                  getOrSetToken  J
           25   26    14                         getter  Lcom/oracle/js/parser/Parser$PropertyFunction;
           28   29    14                         setter  Lcom/oracle/js/parser/Parser$PropertyFunction;
           34   38    11                    spreadToken  J
           36   38    13           assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
           37   38    14                         spread  Lcom/oracle/js/parser/ir/Expression;
           47   48    11                  propertyValue  Lcom/oracle/js/parser/ir/Expression;
           53   60    11                  propertyValue  Lcom/oracle/js/parser/ir/Expression;
           65   66    11                  propertyValue  Lcom/oracle/js/parser/ir/Expression;
           69   77    11                  propertyValue  Lcom/oracle/js/parser/ir/Expression;
           43   77    12           coverInitializedName  Z
           44   77    13                          proto  Z
           45   77    14  isAnonymousFunctionDefinition  Z
           51   59    15                          ident  Lcom/oracle/js/parser/ir/IdentNode;
           55   59    16                    assignToken  J
           58   59    18                            rhs  Lcom/oracle/js/parser/ir/Expression;
      Exception table:
        from    to  target  type
          64    66      66  any
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.Parser$PropertyFunction propertyGetterFunction(long, int, boolean, boolean, boolean);
    descriptor: (JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long getSetToken
        start local 3 // int functionLine
        start local 4 // boolean yield
        start local 5 // boolean await
        start local 6 // boolean allowPrivate
         0: .line 4098
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* computed */
        start local 7 // boolean computed
         3: .line 4099
            aload 0 /* this */
            iload 4 /* yield */
            iload 5 /* await */
            iload 6 /* allowPrivate */
            invokevirtual com.oracle.js.parser.Parser.classElementName:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* propertyName */
        start local 8 // com.oracle.js.parser.ir.Expression propertyName
         4: .line 4100
            iload 7 /* computed */
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: int com.oracle.js.parser.ir.Expression
      StackMap stack:
         5: aload 0 /* this */
            aload 8 /* propertyName */
            ldc "get "
            invokevirtual com.oracle.js.parser.Parser.createMethodNameIdent:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.IdentNode
         6: astore 9 /* getterName */
        start local 9 // com.oracle.js.parser.ir.IdentNode getterName
         7: .line 4101
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 4102
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         9: .line 4104
            ldc 1050624
        10: .line 4105
            iload 7 /* computed */
            ifeq 11
            iconst_1
            goto 12
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode
      StackMap stack: int
        11: iconst_0
        12: .line 4104
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
            ior
            istore 10 /* functionFlags */
        start local 10 // int functionFlags
        13: .line 4106
            aload 0 /* this */
            aload 9 /* getterName */
            lload 1 /* getSetToken */
            iload 10 /* functionFlags */
            iload 3 /* functionLine */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;I)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 11 /* functionNode */
        start local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        14: .line 4107
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        15: .line 4112
            aload 0 /* this */
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.functionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
            astore 12 /* functionBody */
        start local 12 // com.oracle.js.parser.ir.Block functionBody
        16: .line 4113
            goto 20
        end local 12 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack: java.lang.Throwable
        17: astore 13
        18: .line 4114
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        19: .line 4115
            aload 13
            athrow
        start local 12 // com.oracle.js.parser.ir.Block functionBody
        20: .line 4114
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        21: .line 4117
            aload 0 /* this */
        22: .line 4118
            aload 11 /* functionNode */
        23: .line 4119
            lload 1 /* getSetToken */
        24: .line 4120
            aload 9 /* getterName */
        25: .line 4121
            iload 3 /* functionLine */
        26: .line 4122
            aload 12 /* functionBody */
        27: .line 4117
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 13 /* function */
        start local 13 // com.oracle.js.parser.ir.FunctionNode function
        28: .line 4124
            new com.oracle.js.parser.Parser$PropertyFunction
            dup
            aload 8 /* propertyName */
            aload 13 /* function */
            iload 7 /* computed */
            invokespecial com.oracle.js.parser.Parser$PropertyFunction.<init>:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Z)V
            areturn
        end local 13 // com.oracle.js.parser.ir.FunctionNode function
        end local 12 // com.oracle.js.parser.ir.Block functionBody
        end local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 10 // int functionFlags
        end local 9 // com.oracle.js.parser.ir.IdentNode getterName
        end local 8 // com.oracle.js.parser.ir.Expression propertyName
        end local 7 // boolean computed
        end local 6 // boolean allowPrivate
        end local 5 // boolean await
        end local 4 // boolean yield
        end local 3 // int functionLine
        end local 1 // long getSetToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lcom/oracle/js/parser/Parser;
            0   29     1    getSetToken  J
            0   29     3   functionLine  I
            0   29     4          yield  Z
            0   29     5          await  Z
            0   29     6   allowPrivate  Z
            3   29     7       computed  Z
            4   29     8   propertyName  Lcom/oracle/js/parser/ir/Expression;
            7   29     9     getterName  Lcom/oracle/js/parser/ir/IdentNode;
           13   29    10  functionFlags  I
           14   29    11   functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
           16   17    12   functionBody  Lcom/oracle/js/parser/ir/Block;
           20   29    12   functionBody  Lcom/oracle/js/parser/ir/Block;
           28   29    13       function  Lcom/oracle/js/parser/ir/FunctionNode;
      Exception table:
        from    to  target  type
          15    17      17  any
    MethodParameters:
              Name  Flags
      getSetToken   
      functionLine  
      yield         
      await         
      allowPrivate  

  private com.oracle.js.parser.Parser$PropertyFunction propertySetterFunction(long, int, boolean, boolean, boolean);
    descriptor: (JIZZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long getSetToken
        start local 3 // int functionLine
        start local 4 // boolean yield
        start local 5 // boolean await
        start local 6 // boolean allowPrivate
         0: .line 4128
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* computed */
        start local 7 // boolean computed
         3: .line 4129
            aload 0 /* this */
            iload 4 /* yield */
            iload 5 /* await */
            iload 6 /* allowPrivate */
            invokevirtual com.oracle.js.parser.Parser.classElementName:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* propertyName */
        start local 8 // com.oracle.js.parser.ir.Expression propertyName
         4: .line 4130
            iload 7 /* computed */
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: int com.oracle.js.parser.ir.Expression
      StackMap stack:
         5: aload 0 /* this */
            aload 8 /* propertyName */
            ldc "set "
            invokevirtual com.oracle.js.parser.Parser.createMethodNameIdent:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.IdentNode
         6: astore 9 /* setterName */
        start local 9 // com.oracle.js.parser.ir.IdentNode setterName
         7: .line 4132
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 4134
            ldc 1052672
         9: .line 4135
            iload 7 /* computed */
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode
      StackMap stack: int
        10: iconst_0
        11: .line 4134
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
            ior
            istore 10 /* functionFlags */
        start local 10 // int functionFlags
        12: .line 4136
            aload 0 /* this */
            aload 9 /* setterName */
            lload 1 /* getSetToken */
            iload 10 /* functionFlags */
            iload 3 /* functionLine */
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JII)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 11 /* functionNode */
        start local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        13: .line 4137
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        14: .line 4141
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 13 /* parameterBlock */
        start local 13 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        15: .line 4142
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 13 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        16: .line 4144
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifeq 17
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 18
        17: .line 4145
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode top com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            iload 4 /* yield */
            iload 5 /* await */
            invokevirtual com.oracle.js.parser.Parser.formalParameter:(ZZ)V
        18: .line 4147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        19: .line 4149
            aload 0 /* this */
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.functionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
            astore 12 /* functionBody */
        start local 12 // com.oracle.js.parser.ir.Block functionBody
        20: .line 4150
            goto 24
        end local 12 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 14
        22: .line 4151
            aload 0 /* this */
            aload 13 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        23: .line 4152
            aload 14
            athrow
        start local 12 // com.oracle.js.parser.ir.Block functionBody
        24: .line 4151
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            aload 13 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        25: .line 4153
            aload 13 /* parameterBlock */
            ifnull 31
        26: .line 4154
            aload 13 /* parameterBlock */
            aload 12 /* functionBody */
            invokestatic com.oracle.js.parser.Parser.wrapParameterBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/Block;
            astore 12 /* functionBody */
        end local 13 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        27: .line 4156
            goto 31
        end local 12 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser long int int int int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack: java.lang.Throwable
        28: astore 15
        29: .line 4157
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        30: .line 4158
            aload 15
            athrow
        start local 12 // com.oracle.js.parser.ir.Block functionBody
        31: .line 4157
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        32: .line 4160
            aload 0 /* this */
        33: .line 4161
            aload 11 /* functionNode */
        34: .line 4162
            lload 1 /* getSetToken */
        35: .line 4163
            aload 9 /* setterName */
        36: .line 4164
            iload 3 /* functionLine */
        37: .line 4165
            aload 12 /* functionBody */
        38: .line 4160
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 13 /* function */
        start local 13 // com.oracle.js.parser.ir.FunctionNode function
        39: .line 4167
            new com.oracle.js.parser.Parser$PropertyFunction
            dup
            aload 8 /* propertyName */
            aload 13 /* function */
            iload 7 /* computed */
            invokespecial com.oracle.js.parser.Parser$PropertyFunction.<init>:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Z)V
            areturn
        end local 13 // com.oracle.js.parser.ir.FunctionNode function
        end local 12 // com.oracle.js.parser.ir.Block functionBody
        end local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 10 // int functionFlags
        end local 9 // com.oracle.js.parser.ir.IdentNode setterName
        end local 8 // com.oracle.js.parser.ir.Expression propertyName
        end local 7 // boolean computed
        end local 6 // boolean allowPrivate
        end local 5 // boolean await
        end local 4 // boolean yield
        end local 3 // int functionLine
        end local 1 // long getSetToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Lcom/oracle/js/parser/Parser;
            0   40     1     getSetToken  J
            0   40     3    functionLine  I
            0   40     4           yield  Z
            0   40     5           await  Z
            0   40     6    allowPrivate  Z
            3   40     7        computed  Z
            4   40     8    propertyName  Lcom/oracle/js/parser/ir/Expression;
            7   40     9      setterName  Lcom/oracle/js/parser/ir/IdentNode;
           12   40    10   functionFlags  I
           13   40    11    functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
           20   21    12    functionBody  Lcom/oracle/js/parser/ir/Block;
           24   28    12    functionBody  Lcom/oracle/js/parser/ir/Block;
           31   40    12    functionBody  Lcom/oracle/js/parser/ir/Block;
           15   27    13  parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
           39   40    13        function  Lcom/oracle/js/parser/ir/FunctionNode;
      Exception table:
        from    to  target  type
          16    21      21  any
          14    28      28  any
    MethodParameters:
              Name  Flags
      getSetToken   
      functionLine  
      yield         
      await         
      allowPrivate  

  private com.oracle.js.parser.Parser$PropertyFunction propertyMethodFunction(com.oracle.js.parser.ir.Expression, long, int, boolean, int, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;JIZIZZ)Lcom/oracle/js/parser/Parser$PropertyFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=8
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression key
        start local 2 // long methodToken
        start local 4 // int methodLine
        start local 5 // boolean generator
        start local 6 // int flags
        start local 7 // boolean computed
        start local 8 // boolean async
         0: .line 4171
            iload 7 /* computed */
            ifeq 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual com.oracle.js.parser.Parser.createMethodNameIdent:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.IdentNode
         2: astore 9 /* methodNameNode */
        start local 9 // com.oracle.js.parser.ir.IdentNode methodNameNode
         3: .line 4173
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 4175
            iload 6 /* flags */
         5: .line 4176
            iload 7 /* computed */
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode
      StackMap stack: int
         6: iconst_0
         7: .line 4175
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
            ior
         8: .line 4177
            iload 5 /* generator */
            ifeq 9
            ldc 16777216
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_0
        10: .line 4175
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
            ior
        11: .line 4178
            iload 8 /* async */
            ifeq 12
            ldc 33554432
            goto 13
      StackMap locals:
      StackMap stack: int
        12: iconst_0
        13: .line 4175
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode
      StackMap stack: int int
            ior
            istore 10 /* functionFlags */
        start local 10 // int functionFlags
        14: .line 4179
            aload 0 /* this */
            aload 9 /* methodNameNode */
            lload 2 /* methodToken */
            iload 10 /* functionFlags */
            iload 4 /* methodLine */
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JII)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 11 /* functionNode */
        start local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        15: .line 4180
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        16: .line 4183
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 12 /* parameterBlock */
        start local 12 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        17: .line 4184
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        18: .line 4187
            aload 0 /* this */
            iload 5 /* generator */
            iload 8 /* async */
            invokevirtual com.oracle.js.parser.Parser.formalParameterList:(ZZ)V
        19: .line 4188
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        20: .line 4190
            aload 0 /* this */
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.functionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
            astore 13 /* functionBody */
        start local 13 // com.oracle.js.parser.ir.Block functionBody
        21: .line 4191
            goto 25
        end local 13 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        22: astore 14
        23: .line 4192
            aload 0 /* this */
            aload 12 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        24: .line 4193
            aload 14
            athrow
        start local 13 // com.oracle.js.parser.ir.Block functionBody
        25: .line 4192
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
            aload 12 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        26: .line 4195
            aload 0 /* this */
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.verifyParameterList:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        27: .line 4196
            aload 12 /* parameterBlock */
            ifnull 29
        28: .line 4197
            aload 12 /* parameterBlock */
            aload 13 /* functionBody */
            invokestatic com.oracle.js.parser.Parser.wrapParameterBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/Block;
            astore 13 /* functionBody */
        29: .line 4200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        30: .line 4201
            aload 11 /* functionNode */
        31: .line 4202
            lload 2 /* methodToken */
        32: .line 4203
            aload 9 /* methodNameNode */
        33: .line 4204
            iload 4 /* methodLine */
        34: .line 4205
            aload 13 /* functionBody */
        35: .line 4200
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 14 /* function */
        start local 14 // com.oracle.js.parser.ir.FunctionNode function
        36: .line 4206
            new com.oracle.js.parser.Parser$PropertyFunction
            dup
            aload 1 /* key */
            aload 14 /* function */
            iload 7 /* computed */
            invokespecial com.oracle.js.parser.Parser$PropertyFunction.<init>:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/FunctionNode;Z)V
            astore 16
        37: .line 4208
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        38: .line 4206
            aload 16
            areturn
        end local 14 // com.oracle.js.parser.ir.FunctionNode function
        end local 13 // com.oracle.js.parser.ir.Block functionBody
        end local 12 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        39: .line 4207
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression long int int int int int com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack: java.lang.Throwable
            astore 15
        40: .line 4208
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 11 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        41: .line 4209
            aload 15
            athrow
        end local 11 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 10 // int functionFlags
        end local 9 // com.oracle.js.parser.ir.IdentNode methodNameNode
        end local 8 // boolean async
        end local 7 // boolean computed
        end local 6 // int flags
        end local 5 // boolean generator
        end local 4 // int methodLine
        end local 2 // long methodToken
        end local 1 // com.oracle.js.parser.ir.Expression key
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   42     0            this  Lcom/oracle/js/parser/Parser;
            0   42     1             key  Lcom/oracle/js/parser/ir/Expression;
            0   42     2     methodToken  J
            0   42     4      methodLine  I
            0   42     5       generator  Z
            0   42     6           flags  I
            0   42     7        computed  Z
            0   42     8           async  Z
            3   42     9  methodNameNode  Lcom/oracle/js/parser/ir/IdentNode;
           14   42    10   functionFlags  I
           15   42    11    functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
           17   39    12  parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
           21   22    13    functionBody  Lcom/oracle/js/parser/ir/Block;
           25   39    13    functionBody  Lcom/oracle/js/parser/ir/Block;
           36   39    14        function  Lcom/oracle/js/parser/ir/FunctionNode;
      Exception table:
        from    to  target  type
          18    22      22  any
          16    37      39  any
    MethodParameters:
             Name  Flags
      key          
      methodToken  final
      methodLine   final
      generator    final
      flags        final
      computed     
      async        

  private com.oracle.js.parser.ir.IdentNode createMethodNameIdent(com.oracle.js.parser.ir.Expression, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression propertyKey
        start local 2 // java.lang.String prefix
         0: .line 4214
            iconst_0
            istore 4 /* intern */
        start local 4 // boolean intern
         1: .line 4215
            aload 1 /* propertyKey */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 4
         2: .line 4216
            aload 1 /* propertyKey */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.getPropertyName:()Ljava/lang/String;
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         3: .line 4217
            goto 9
        end local 3 // java.lang.String methodName
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression java.lang.String top int
      StackMap stack:
         4: aload 1 /* propertyKey */
            instanceof com.oracle.js.parser.ir.PropertyKey
            ifeq 8
         5: .line 4218
            aload 1 /* propertyKey */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         6: .line 4219
            iconst_1
            istore 4 /* intern */
         7: .line 4220
            goto 9
        end local 3 // java.lang.String methodName
         8: .line 4221
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 3 // java.lang.String methodName
         9: .line 4223
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* prefix */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 12
        10: .line 4224
            aload 2 /* prefix */
            aload 3 /* methodName */
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* methodName */
        11: .line 4225
            iconst_1
            istore 4 /* intern */
        12: .line 4227
      StackMap locals:
      StackMap stack:
            iload 4 /* intern */
            ifeq 14
        13: .line 4228
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            aload 3 /* methodName */
            invokevirtual com.oracle.js.parser.Lexer.stringIntern:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* methodName */
        14: .line 4230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* propertyKey */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            aload 1 /* propertyKey */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            aload 3 /* methodName */
            invokevirtual com.oracle.js.parser.Parser.createIdentNode:(JILjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 4 // boolean intern
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.String prefix
        end local 1 // com.oracle.js.parser.ir.Expression propertyKey
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/oracle/js/parser/Parser;
            0   15     1  propertyKey  Lcom/oracle/js/parser/ir/Expression;
            0   15     2       prefix  Ljava/lang/String;
            3    4     3   methodName  Ljava/lang/String;
            6    8     3   methodName  Ljava/lang/String;
            9   15     3   methodName  Ljava/lang/String;
            1   15     4       intern  Z
    MethodParameters:
             Name  Flags
      propertyKey  
      prefix       

  private static boolean isAnonymousFunctionDefinition(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.Expression expression
         0: .line 4234
            aload 0 /* expression */
            instanceof com.oracle.js.parser.ir.FunctionNode
            ifeq 2
            aload 0 /* expression */
            checkcast com.oracle.js.parser.ir.FunctionNode
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
            ifeq 2
         1: .line 4235
            iconst_1
            ireturn
         2: .line 4236
      StackMap locals:
      StackMap stack:
            aload 0 /* expression */
            instanceof com.oracle.js.parser.ir.ClassNode
            ifeq 4
            aload 0 /* expression */
            checkcast com.oracle.js.parser.ir.ClassNode
            invokevirtual com.oracle.js.parser.ir.ClassNode.isAnonymous:()Z
            ifeq 4
         3: .line 4237
            iconst_1
            ireturn
         4: .line 4239
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.Expression expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
            Name  Flags
      expression  

  private com.oracle.js.parser.ir.Expression setAnonymousFunctionName(com.oracle.js.parser.ir.Expression, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression expression
        start local 2 // java.lang.String functionName
         0: .line 4244
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 2
         1: .line 4245
            aload 1 /* expression */
            areturn
         2: .line 4247
      StackMap locals:
      StackMap stack:
            aload 1 /* expression */
            instanceof com.oracle.js.parser.ir.FunctionNode
            ifeq 4
            aload 1 /* expression */
            checkcast com.oracle.js.parser.ir.FunctionNode
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
            ifeq 4
         3: .line 4248
            aload 1 /* expression */
            checkcast com.oracle.js.parser.ir.FunctionNode
            aconst_null
            aload 2 /* functionName */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setName:(Lcom/oracle/js/parser/ir/LexicalContext;Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
         4: .line 4249
      StackMap locals:
      StackMap stack:
            aload 1 /* expression */
            instanceof com.oracle.js.parser.ir.ClassNode
            ifeq 8
            aload 1 /* expression */
            checkcast com.oracle.js.parser.ir.ClassNode
            invokevirtual com.oracle.js.parser.ir.ClassNode.isAnonymous:()Z
            ifeq 8
         5: .line 4250
            aload 1 /* expression */
            checkcast com.oracle.js.parser.ir.ClassNode
            astore 3 /* classNode */
        start local 3 // com.oracle.js.parser.ir.ClassNode classNode
         6: .line 4251
            aload 3 /* classNode */
            invokevirtual com.oracle.js.parser.ir.ClassNode.getConstructor:()Lcom/oracle/js/parser/ir/PropertyNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 4 /* constructorFunction */
        start local 4 // com.oracle.js.parser.ir.FunctionNode constructorFunction
         7: .line 4252
            aload 3 /* classNode */
            aload 3 /* classNode */
            invokevirtual com.oracle.js.parser.ir.ClassNode.getConstructor:()Lcom/oracle/js/parser/ir/PropertyNode;
            aload 4 /* constructorFunction */
            aconst_null
            aload 2 /* functionName */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setName:(Lcom/oracle/js/parser/ir/LexicalContext;Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.PropertyNode.setValue:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/PropertyNode;
            invokevirtual com.oracle.js.parser.ir.ClassNode.setConstructor:(Lcom/oracle/js/parser/ir/PropertyNode;)Lcom/oracle/js/parser/ir/ClassNode;
            areturn
        end local 4 // com.oracle.js.parser.ir.FunctionNode constructorFunction
        end local 3 // com.oracle.js.parser.ir.ClassNode classNode
         8: .line 4254
      StackMap locals:
      StackMap stack:
            aload 1 /* expression */
            areturn
        end local 2 // java.lang.String functionName
        end local 1 // com.oracle.js.parser.ir.Expression expression
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/oracle/js/parser/Parser;
            0    9     1           expression  Lcom/oracle/js/parser/ir/Expression;
            0    9     2         functionName  Ljava/lang/String;
            6    8     3            classNode  Lcom/oracle/js/parser/ir/ClassNode;
            7    8     4  constructorFunction  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
              Name  Flags
      expression    
      functionName  

  private com.oracle.js.parser.ir.Expression leftHandSideExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=13, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 4293
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* callLine */
        start local 3 // int callLine
         1: .line 4294
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* callToken */
        start local 4 // long callToken
         2: .line 4296
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.memberExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* lhs */
        start local 6 // com.oracle.js.parser.ir.Expression lhs
         3: .line 4298
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 34
         4: .line 4299
            getstatic com.oracle.js.parser.Parser.ES8_ASYNC_FUNCTION:Z
            ifeq 5
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 5
            aload 6 /* lhs */
            getstatic com.oracle.js.parser.TokenType.ASYNC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int long com.oracle.js.parser.ir.Expression
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* async */
        start local 7 // boolean async
         7: .line 4300
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            iload 7 /* async */
            invokevirtual com.oracle.js.parser.Parser.argumentList:(ZZZ)Ljava/util/ArrayList;
            astore 8 /* arguments */
        start local 8 // java.util.List arguments
         8: .line 4302
            iload 7 /* async */
            ifeq 16
         9: .line 4303
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.checkNoLineTerminator:()Z
            ifeq 11
        10: .line 4306
            new com.oracle.js.parser.ir.ExpressionList
            dup
            lload 4 /* callToken */
            iload 3 /* callLine */
            aload 8 /* arguments */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/List;)Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.ExpressionList.<init>:(JILjava/util/List;)V
            areturn
        11: .line 4309
      StackMap locals: int java.util.List
      StackMap stack:
            aload 8 /* arguments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 15
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.Expression int java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Expression
            astore 9 /* argument */
        start local 9 // com.oracle.js.parser.ir.Expression argument
        13: .line 4310
            aload 9 /* argument */
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 15
        14: .line 4313
            aload 0 /* this */
            ldc "invalid.property.initializer"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 9 // com.oracle.js.parser.ir.Expression argument
        15: .line 4309
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 4320
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.Expression int java.util.List
      StackMap stack:
            iconst_0
            istore 9 /* eval */
        start local 9 // boolean eval
        17: .line 4321
            iconst_0
            istore 10 /* applyArguments */
        start local 10 // boolean applyArguments
        18: .line 4322
            aload 6 /* lhs */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 29
        19: .line 4323
            aload 6 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 11 /* ident */
        start local 11 // com.oracle.js.parser.ir.IdentNode ident
        20: .line 4324
            aload 11 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            astore 12 /* name */
        start local 12 // java.lang.String name
        21: .line 4325
            ldc "eval"
            aload 12 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        22: .line 4326
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markEval:()V
        23: .line 4327
            iconst_1
            istore 9 /* eval */
        24: .line 4328
            goto 33
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.Expression int java.util.List int int com.oracle.js.parser.ir.IdentNode java.lang.String
      StackMap stack:
        25: getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 12 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        26: .line 4329
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 27
            aload 11 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isDirectSuper:()Z
            ifne 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 4330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markSuperCall:()V
        end local 12 // java.lang.String name
        end local 11 // com.oracle.js.parser.ir.IdentNode ident
        28: .line 4332
            goto 33
      StackMap locals:
      StackMap stack:
        29: aload 6 /* lhs */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifeq 33
            aload 6 /* lhs */
            checkcast com.oracle.js.parser.ir.AccessNode
            invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
            ifne 33
            aload 8 /* arguments */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpne 33
            aload 8 /* arguments */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 33
        30: .line 4333
            aload 8 /* arguments */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.isArguments:()Z
            ifeq 33
            ldc "apply"
            aload 6 /* lhs */
            checkcast com.oracle.js.parser.ir.AccessNode
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 4334
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* arguments */
            invokestatic com.oracle.js.parser.Parser.markApplyArgumentsCall:(Lcom/oracle/js/parser/ParserContext;Ljava/util/List;)Z
            ifeq 33
        32: .line 4335
            iconst_1
            istore 10 /* applyArguments */
        33: .line 4339
      StackMap locals:
      StackMap stack:
            iload 3 /* callLine */
            lload 4 /* callToken */
            aload 6 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* arguments */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/List;)Ljava/util/List;
            iconst_0
            iconst_0
            iload 9 /* eval */
            iload 10 /* applyArguments */
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* lhs */
        end local 10 // boolean applyArguments
        end local 9 // boolean eval
        end local 8 // java.util.List arguments
        end local 7 // boolean async
        34: .line 4342
      StackMap locals: com.oracle.js.parser.Parser int int int long com.oracle.js.parser.ir.Expression
      StackMap stack:
            iconst_0
            istore 7 /* optionalChain */
        start local 7 // boolean optionalChain
        35: .line 4345
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* callLine */
        36: .line 4346
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* callToken */
        37: .line 4348
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 6
                   15: 38
                   28: 46
                   48: 41
                   62: 61
                  131: 56
                  132: 56
              default: 81
          }
        38: .line 4350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.argumentList:(ZZ)Ljava/util/ArrayList;
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            astore 8 /* arguments */
        start local 8 // java.util.List arguments
        39: .line 4352
            iload 3 /* callLine */
            lload 4 /* callToken */
            aload 6 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* arguments */
            iconst_0
            iload 7 /* optionalChain */
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* lhs */
        40: .line 4354
            goto 35
        end local 8 // java.util.List arguments
        41: .line 4357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        42: .line 4360
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* rhs */
        start local 8 // com.oracle.js.parser.ir.Expression rhs
        43: .line 4362
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        44: .line 4365
            new com.oracle.js.parser.ir.IndexNode
            dup
            lload 4 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* rhs */
            iconst_0
            iconst_0
            iload 7 /* optionalChain */
            invokespecial com.oracle.js.parser.ir.IndexNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;ZZZ)V
            astore 6 /* lhs */
        45: .line 4367
            goto 35
        end local 8 // com.oracle.js.parser.ir.Expression rhs
        46: .line 4370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        47: .line 4372
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 48
            iconst_1
            goto 49
      StackMap locals:
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 8 /* isPrivate */
        start local 8 // boolean isPrivate
        50: .line 4374
            iload 8 /* isPrivate */
            ifeq 53
        51: .line 4375
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.privateIdentifierUse:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* property */
        start local 9 // com.oracle.js.parser.ir.IdentNode property
        52: .line 4376
            goto 54
        end local 9 // com.oracle.js.parser.ir.IdentNode property
        53: .line 4377
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* property */
        start local 9 // com.oracle.js.parser.ir.IdentNode property
        54: .line 4381
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            new com.oracle.js.parser.ir.AccessNode
            dup
            lload 4 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            iconst_0
            iload 8 /* isPrivate */
            iconst_0
            iload 7 /* optionalChain */
            invokespecial com.oracle.js.parser.ir.AccessNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Ljava/lang/String;ZZZZ)V
            astore 6 /* lhs */
        55: .line 4383
            goto 35
        end local 9 // com.oracle.js.parser.ir.IdentNode property
        end local 8 // boolean isPrivate
        56: .line 4388
      StackMap locals:
      StackMap stack:
            iload 7 /* optionalChain */
            ifeq 58
        57: .line 4390
            aload 0 /* this */
            ldc "optional.chain.template"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        58: .line 4393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.templateLiteralArgumentList:(ZZ)Ljava/util/List;
            astore 8 /* arguments */
        start local 8 // java.util.List arguments
        59: .line 4395
            iload 3 /* callLine */
            lload 4 /* callToken */
            aload 6 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* arguments */
            iconst_0
            iload 7 /* optionalChain */
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* lhs */
        60: .line 4397
            goto 35
        end local 8 // java.util.List arguments
        61: .line 4400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        62: .line 4401
            iconst_1
            istore 7 /* optionalChain */
        63: .line 4403
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                   15: 64
                   48: 67
              default: 72
          }
        64: .line 4405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.argumentList:(ZZ)Ljava/util/ArrayList;
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            astore 8 /* arguments */
        start local 8 // java.util.List arguments
        65: .line 4407
            iload 3 /* callLine */
            lload 4 /* callToken */
            aload 6 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* arguments */
            iconst_1
            iload 7 /* optionalChain */
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* lhs */
        66: .line 4408
            goto 35
        end local 8 // java.util.List arguments
        67: .line 4411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        68: .line 4413
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* rhs */
        start local 8 // com.oracle.js.parser.ir.Expression rhs
        69: .line 4415
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        70: .line 4417
            new com.oracle.js.parser.ir.IndexNode
            dup
            lload 4 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 8 /* rhs */
            iconst_0
            iconst_1
            iload 7 /* optionalChain */
            invokespecial com.oracle.js.parser.ir.IndexNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;ZZZ)V
            astore 6 /* lhs */
        71: .line 4418
            goto 35
        end local 8 // com.oracle.js.parser.ir.Expression rhs
        72: .line 4421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 73
            iconst_1
            goto 74
      StackMap locals:
      StackMap stack:
        73: iconst_0
      StackMap locals:
      StackMap stack: int
        74: istore 8 /* isPrivate */
        start local 8 // boolean isPrivate
        75: .line 4423
            iload 8 /* isPrivate */
            ifeq 78
        76: .line 4424
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.privateIdentifierUse:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* property */
        start local 9 // com.oracle.js.parser.ir.IdentNode property
        77: .line 4425
            goto 79
        end local 9 // com.oracle.js.parser.ir.IdentNode property
        78: .line 4426
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* property */
        start local 9 // com.oracle.js.parser.ir.IdentNode property
        79: .line 4429
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            new com.oracle.js.parser.ir.AccessNode
            dup
            lload 4 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* lhs */
            aload 9 /* property */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            iconst_0
            iload 8 /* isPrivate */
            iconst_1
            iload 7 /* optionalChain */
            invokespecial com.oracle.js.parser.ir.AccessNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Ljava/lang/String;ZZZZ)V
            astore 6 /* lhs */
        end local 9 // com.oracle.js.parser.ir.IdentNode property
        end local 8 // boolean isPrivate
        80: .line 4433
            goto 35
        81: .line 4440
      StackMap locals:
      StackMap stack:
            aload 6 /* lhs */
            areturn
        end local 7 // boolean optionalChain
        end local 6 // com.oracle.js.parser.ir.Expression lhs
        end local 4 // long callToken
        end local 3 // int callLine
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   82     0            this  Lcom/oracle/js/parser/Parser;
            0   82     1           yield  Z
            0   82     2           await  Z
            1   82     3        callLine  I
            2   82     4       callToken  J
            3   82     6             lhs  Lcom/oracle/js/parser/ir/Expression;
            7   34     7           async  Z
            8   34     8       arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
           13   15     9        argument  Lcom/oracle/js/parser/ir/Expression;
           17   34     9            eval  Z
           18   34    10  applyArguments  Z
           20   28    11           ident  Lcom/oracle/js/parser/ir/IdentNode;
           21   28    12            name  Ljava/lang/String;
           35   82     7   optionalChain  Z
           39   41     8       arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
           43   46     8             rhs  Lcom/oracle/js/parser/ir/Expression;
           50   56     8       isPrivate  Z
           52   53     9        property  Lcom/oracle/js/parser/ir/IdentNode;
           54   56     9        property  Lcom/oracle/js/parser/ir/IdentNode;
           59   61     8       arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
           65   67     8       arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
           69   72     8             rhs  Lcom/oracle/js/parser/ir/Expression;
           75   80     8       isPrivate  Z
           77   78     9        property  Lcom/oracle/js/parser/ir/IdentNode;
           79   80     9        property  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression newExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 4455
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* newToken */
        start local 3 // long newToken
         1: .line 4457
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.NEW:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4458
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 4460
            getstatic com.oracle.js.parser.Parser.ES6_NEW_TARGET:Z
            ifeq 10
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 10
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 10
         4: .line 4461
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 4462
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
            ldc "target"
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getValueNoEscape:()Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 4463
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         7: .line 4464
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markNewTarget:()V
         8: .line 4465
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 3 /* newToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            ldc "new.target"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsNewTarget:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
         9: .line 4467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.target"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        10: .line 4469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 12
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2020:()Z
            ifeq 12
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookahead:()Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 12
        11: .line 4471
            aload 0 /* this */
            ldc "expected.operand"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        12: .line 4475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 5 /* callLine */
        start local 5 // int callLine
        13: .line 4476
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.memberExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* constructor */
        start local 6 // com.oracle.js.parser.ir.Expression constructor
        14: .line 4482
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 17
        15: .line 4483
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.argumentList:(ZZ)Ljava/util/ArrayList;
            astore 7 /* arguments */
        start local 7 // java.util.ArrayList arguments
        16: .line 4484
            goto 20
        end local 7 // java.util.ArrayList arguments
        17: .line 4485
      StackMap locals: int com.oracle.js.parser.ir.Expression
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* arguments */
        start local 7 // java.util.ArrayList arguments
        18: .line 4487
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.OPTIONAL_CHAIN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 20
        19: .line 4489
            aload 0 /* this */
            ldc "unexpected.token"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        20: .line 4502
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifeq 22
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 22
        21: .line 4503
            aload 7 /* arguments */
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.objectLiteral:(ZZ)Lcom/oracle/js/parser/ir/ObjectNode;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 4506
      StackMap locals:
      StackMap stack:
            iload 5 /* callLine */
            lload 3 /* newToken */
            lload 3 /* newToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 6 /* constructor */
            aload 7 /* arguments */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            invokestatic com.oracle.js.parser.ir.CallNode.forNew:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* callNode */
        start local 8 // com.oracle.js.parser.ir.Expression callNode
        23: .line 4508
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 3 /* newToken */
            aload 8 /* callNode */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 8 // com.oracle.js.parser.ir.Expression callNode
        end local 7 // java.util.ArrayList arguments
        end local 6 // com.oracle.js.parser.ir.Expression constructor
        end local 5 // int callLine
        end local 3 // long newToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lcom/oracle/js/parser/Parser;
            0   24     1        yield  Z
            0   24     2        await  Z
            1   24     3     newToken  J
           13   24     5     callLine  I
           14   24     6  constructor  Lcom/oracle/js/parser/ir/Expression;
           16   17     7    arguments  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
           18   24     7    arguments  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
           23   24     8     callNode  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression memberExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=9, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 4541
            iconst_0
            istore 4 /* isSuper */
        start local 4 // boolean isSuper
         1: .line 4543
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 6
                   64: 25
                   69: 6
                   84: 4
                   88: 28
                   93: 2
                  103: 9
              default: 31
          }
         2: .line 4546
      StackMap locals: com.oracle.js.parser.Parser int int top int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.newExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
         3: .line 4547
            goto 32
        end local 3 // com.oracle.js.parser.ir.Expression lhs
         4: .line 4551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
         5: .line 4552
            goto 32
        end local 3 // com.oracle.js.parser.ir.Expression lhs
         6: .line 4555
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_CLASS:Z
            ifeq 9
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 9
         7: .line 4556
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.classExpression:(ZZ)Lcom/oracle/js/parser/ir/ClassNode;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
         8: .line 4557
            goto 32
        end local 3 // com.oracle.js.parser.ir.Expression lhs
         9: .line 4562
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_CLASS:Z
            ifeq 25
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 25
        10: .line 4563
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 5 /* scope */
        start local 5 // com.oracle.js.parser.ir.Scope scope
        11: .line 4564
            aload 5 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.inMethod:()Z
            ifeq 25
        12: .line 4565
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 6 /* identToken */
        start local 6 // long identToken
        13: .line 4566
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        14: .line 4567
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 6 /* identToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsSuper:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        15: .line 4569
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                   15: 21
                   28: 16
                   48: 16
              default: 24
          }
        16: .line 4572
      StackMap locals: com.oracle.js.parser.Parser int int com.oracle.js.parser.ir.Expression int com.oracle.js.parser.ir.Scope long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentNonArrowFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 8 /* currentFunction */
        start local 8 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        17: .line 4573
            aload 8 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isMethod:()Z
            ifeq 19
        18: .line 4574
            aload 8 /* currentFunction */
            ldc 524288
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        19: .line 4576
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            iconst_1
            istore 4 /* isSuper */
        20: .line 4577
            goto 32
        end local 8 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        21: .line 4579
      StackMap locals:
      StackMap stack:
            aload 5 /* scope */
            invokevirtual com.oracle.js.parser.ir.Scope.inDerivedConstructor:()Z
            ifeq 24
        22: .line 4580
            aload 3 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsDirectSuper:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 3 /* lhs */
        23: .line 4581
            goto 32
        24: .line 4586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.super"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 6 /* identToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 6 // long identToken
        end local 5 // com.oracle.js.parser.ir.Scope scope
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        25: .line 4594
      StackMap locals: com.oracle.js.parser.Parser int int top int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 28
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncFunction:()Z
            ifeq 28
        26: .line 4595
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.asyncFunctionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        27: .line 4596
            goto 32
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        28: .line 4601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2020:()Z
            ifeq 31
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 31
        29: .line 4602
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.importExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        30: .line 4603
            goto 32
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        31: .line 4609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.primaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        start local 3 // com.oracle.js.parser.ir.Expression lhs
        32: .line 4615
      StackMap locals: com.oracle.js.parser.Parser int int com.oracle.js.parser.ir.Expression int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 5 /* callToken */
        start local 5 // long callToken
        33: .line 4617
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                   28: 41
                   48: 34
                  131: 53
                  132: 53
              default: 57
          }
        34: .line 4619
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        35: .line 4622
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 7 /* index */
        start local 7 // com.oracle.js.parser.ir.Expression index
        36: .line 4624
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        37: .line 4627
            new com.oracle.js.parser.ir.IndexNode
            dup
            lload 5 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* lhs */
            aload 7 /* index */
            iload 4 /* isSuper */
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.IndexNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;ZZZ)V
            astore 3 /* lhs */
        38: .line 4629
            iload 4 /* isSuper */
            ifeq 32
        39: .line 4630
            iconst_0
            istore 4 /* isSuper */
        40: .line 4633
            goto 32
        end local 7 // com.oracle.js.parser.ir.Expression index
        41: .line 4636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        42: .line 4638
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 43
            iconst_1
            goto 44
      StackMap locals:
      StackMap stack:
        43: iconst_0
      StackMap locals:
      StackMap stack: int
        44: istore 7 /* isPrivate */
        start local 7 // boolean isPrivate
        45: .line 4640
            iload 4 /* isSuper */
            ifne 48
            iload 7 /* isPrivate */
            ifeq 48
        46: .line 4641
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.privateIdentifierUse:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 8 /* property */
        start local 8 // com.oracle.js.parser.ir.IdentNode property
        47: .line 4642
            goto 49
        end local 8 // com.oracle.js.parser.ir.IdentNode property
        48: .line 4643
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 8 /* property */
        start local 8 // com.oracle.js.parser.ir.IdentNode property
        49: .line 4647
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            new com.oracle.js.parser.ir.AccessNode
            dup
            lload 5 /* callToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* lhs */
            aload 8 /* property */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            iload 4 /* isSuper */
            iload 7 /* isPrivate */
            iconst_0
            iconst_0
            invokespecial com.oracle.js.parser.ir.AccessNode.<init>:(JILcom/oracle/js/parser/ir/Expression;Ljava/lang/String;ZZZZ)V
            astore 3 /* lhs */
        50: .line 4649
            iload 4 /* isSuper */
            ifeq 32
        51: .line 4650
            iconst_0
            istore 4 /* isSuper */
        52: .line 4653
            goto 32
        end local 8 // com.oracle.js.parser.ir.IdentNode property
        end local 7 // boolean isPrivate
        53: .line 4659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 7 /* callLine */
        start local 7 // int callLine
        54: .line 4660
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.templateLiteralArgumentList:(ZZ)Ljava/util/List;
            astore 8 /* arguments */
        start local 8 // java.util.List arguments
        55: .line 4662
            iload 7 /* callLine */
            lload 5 /* callToken */
            aload 3 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getStart:()I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* lhs */
            aload 8 /* arguments */
            iconst_0
            iconst_0
            invokestatic com.oracle.js.parser.ir.CallNode.forCall:(IJIILcom/oracle/js/parser/ir/Expression;Ljava/util/List;ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* lhs */
        56: .line 4664
            goto 32
        end local 8 // java.util.List arguments
        end local 7 // int callLine
        end local 5 // long callToken
        57: .line 4671
      StackMap locals:
      StackMap stack:
            aload 3 /* lhs */
            areturn
        end local 4 // boolean isSuper
        end local 3 // com.oracle.js.parser.ir.Expression lhs
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   58     0             this  Lcom/oracle/js/parser/Parser;
            0   58     1            yield  Z
            0   58     2            await  Z
            3    4     3              lhs  Lcom/oracle/js/parser/ir/Expression;
            5    6     3              lhs  Lcom/oracle/js/parser/ir/Expression;
            8    9     3              lhs  Lcom/oracle/js/parser/ir/Expression;
           15   25     3              lhs  Lcom/oracle/js/parser/ir/Expression;
           27   28     3              lhs  Lcom/oracle/js/parser/ir/Expression;
           30   31     3              lhs  Lcom/oracle/js/parser/ir/Expression;
           32   58     3              lhs  Lcom/oracle/js/parser/ir/Expression;
            1   58     4          isSuper  Z
           11   25     5            scope  Lcom/oracle/js/parser/ir/Scope;
           13   25     6       identToken  J
           17   21     8  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
           33   57     5        callToken  J
           36   41     7            index  Lcom/oracle/js/parser/ir/Expression;
           45   53     7        isPrivate  Z
           47   48     8         property  Lcom/oracle/js/parser/ir/IdentNode;
           49   53     8         property  Lcom/oracle/js/parser/ir/IdentNode;
           54   57     7         callLine  I
           55   57     8        arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression importExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 4675
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* importToken */
        start local 3 // long importToken
         1: .line 4676
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 5 /* importLine */
        start local 5 // int importLine
         2: .line 4677
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.start:I
            istore 6 /* importStart */
        start local 6 // int importStart
         3: .line 4678
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 4679
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 4680
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 15
         6: .line 4681
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         7: .line 4682
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 4683
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getValueNoEscape:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* meta */
        start local 7 // java.lang.String meta
         9: .line 4684
            ldc "meta"
            aload 7 /* meta */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 4685
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            ifne 12
        11: .line 4686
            aload 0 /* this */
            ldc "unexpected.import.meta"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 3 /* importToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        12: .line 4688
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        13: .line 4689
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 3 /* importToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            ldc "import.meta"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsImportMeta:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        14: .line 4691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "unexpected.ident"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 7 /* meta */
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 7 // java.lang.String meta
        15: .line 4693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 21
        16: .line 4694
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        17: .line 4695
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 7 /* argument */
        start local 7 // com.oracle.js.parser.ir.Expression argument
        18: .line 4696
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        19: .line 4698
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 3 /* importToken */
            lload 3 /* importToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            lload 3 /* importToken */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            astore 8 /* importIdent */
        start local 8 // com.oracle.js.parser.ir.IdentNode importIdent
        20: .line 4699
            iload 5 /* importLine */
            lload 3 /* importToken */
            iload 6 /* importStart */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* importIdent */
            aload 7 /* argument */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic com.oracle.js.parser.ir.CallNode.forImport:(IJIILcom/oracle/js/parser/ir/IdentNode;Ljava/util/List;)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 8 // com.oracle.js.parser.ir.IdentNode importIdent
        end local 7 // com.oracle.js.parser.ir.Expression argument
        21: .line 4701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.operand"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 3 /* importToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 6 // int importStart
        end local 5 // int importLine
        end local 3 // long importToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/oracle/js/parser/Parser;
            0   22     1        yield  Z
            0   22     2        await  Z
            1   22     3  importToken  J
            2   22     5   importLine  I
            3   22     6  importStart  I
            9   15     7         meta  Ljava/lang/String;
           18   21     7     argument  Lcom/oracle/js/parser/ir/Expression;
           20   21     8  importIdent  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private java.util.ArrayList<com.oracle.js.parser.ir.Expression> argumentList(boolean, boolean);
    descriptor: (ZZ)Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 4706
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.argumentList:(ZZZ)Ljava/util/ArrayList;
            areturn
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1  yield  Z
            0    1     2  await  Z
    Signature: (ZZ)Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private java.util.ArrayList<com.oracle.js.parser.ir.Expression> argumentList(boolean, boolean, boolean);
    descriptor: (ZZZ)Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
        start local 3 // boolean inPatternPosition
         0: .line 4730
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* nodeList */
        start local 4 // java.util.ArrayList nodeList
         1: .line 4732
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 4735
            iconst_1
            istore 5 /* first */
        start local 5 // boolean first
         3: .line 4737
            goto 17
         4: .line 4739
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iload 5 /* first */
            ifne 8
         5: .line 4740
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         6: .line 4742
            getstatic com.oracle.js.parser.Parser.ES8_TRAILING_COMMA:Z
            ifeq 9
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 9
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
         7: .line 4743
            goto 18
         8: .line 4746
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* first */
         9: .line 4749
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 6 /* spreadToken */
        start local 6 // long spreadToken
        10: .line 4750
            getstatic com.oracle.js.parser.Parser.ES6_SPREAD_ARGUMENT:Z
            ifeq 13
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 13
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 13
        11: .line 4751
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* spreadToken */
        12: .line 4752
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        13: .line 4756
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            iload 3 /* inPatternPosition */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* expression */
        start local 8 // com.oracle.js.parser.ir.Expression expression
        14: .line 4757
            lload 6 /* spreadToken */
            lconst_0
            lcmp
            ifeq 16
        15: .line 4758
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 6 /* spreadToken */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 8 /* expression */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            astore 8 /* expression */
        16: .line 4760
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 4 /* nodeList */
            aload 8 /* expression */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // com.oracle.js.parser.ir.Expression expression
        end local 6 // long spreadToken
        17: .line 4737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
        18: .line 4763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        19: .line 4764
            aload 4 /* nodeList */
            areturn
        end local 5 // boolean first
        end local 4 // java.util.ArrayList nodeList
        end local 3 // boolean inPatternPosition
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lcom/oracle/js/parser/Parser;
            0   20     1              yield  Z
            0   20     2              await  Z
            0   20     3  inPatternPosition  Z
            1   20     4           nodeList  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            3   20     5              first  Z
           10   17     6        spreadToken  J
           14   17     8         expression  Lcom/oracle/js/parser/ir/Expression;
    Signature: (ZZZ)Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
    MethodParameters:
                   Name  Flags
      yield              
      await              
      inPatternPosition  

  private static <T> java.util.List<T> optimizeList(java.util.ArrayList<T>);
    descriptor: (Ljava/util/ArrayList;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.ArrayList list
         0: .line 4768
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 4770
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 4773
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         3: .line 4776
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.trimToSize:()V
         4: .line 4777
            aload 0 /* list */
            areturn
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  list  Ljava/util/ArrayList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  final

  private static <T> java.util.List<T> optimizeList(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 4783
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 4785
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 4787
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         3: .line 4789
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            checkcast java.util.ArrayList
            invokevirtual java.util.ArrayList.trimToSize:()V
         4: .line 4790
            aload 0 /* list */
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  list  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  final

  private com.oracle.js.parser.ir.Expression asyncFunctionExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean isStatement
        start local 2 // boolean topLevel
         0: .line 4802
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncFunction:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* asyncToken */
        start local 3 // long asyncToken
         3: .line 4804
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 4805
            aload 0 /* this */
            iload 1 /* isStatement */
            iload 2 /* topLevel */
            iconst_1
            lload 3 /* asyncToken */
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZZJZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // long asyncToken
        end local 2 // boolean topLevel
        end local 1 // boolean isStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/oracle/js/parser/Parser;
            0    5     1  isStatement  Z
            0    5     2     topLevel  Z
            3    5     3   asyncToken  J
    MethodParameters:
             Name  Flags
      isStatement  final
      topLevel     final

  private com.oracle.js.parser.ir.Expression functionExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean isStatement
        start local 2 // boolean topLevel
         0: .line 4809
            aload 0 /* this */
            iload 1 /* isStatement */
            iload 2 /* topLevel */
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZZJZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 2 // boolean topLevel
        end local 1 // boolean isStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/js/parser/Parser;
            0    1     1  isStatement  Z
            0    1     2     topLevel  Z
    MethodParameters:
             Name  Flags
      isStatement  final
      topLevel     final

  private com.oracle.js.parser.ir.Expression functionExpression(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean isStatement
        start local 2 // boolean topLevel
        start local 3 // boolean expressionStatement
         0: .line 4813
            aload 0 /* this */
            iload 1 /* isStatement */
            iload 2 /* topLevel */
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            iload 3 /* expressionStatement */
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZZJZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // boolean expressionStatement
        end local 2 // boolean topLevel
        end local 1 // boolean isStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/js/parser/Parser;
            0    1     1          isStatement  Z
            0    1     2             topLevel  Z
            0    1     3  expressionStatement  Z
    MethodParameters:
                     Name  Flags
      isStatement          final
      topLevel             final
      expressionStatement  final

  private com.oracle.js.parser.ir.Expression functionExpression(boolean, boolean, boolean, long, boolean);
    descriptor: (ZZZJZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=17, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean isStatement
        start local 2 // boolean topLevel
        start local 3 // boolean async
        start local 4 // long functionToken
        start local 6 // boolean expressionStatement
         0: .line 4833
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 7 /* functionLine */
        start local 7 // int functionLine
         1: .line 4835
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4836
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 4838
            iconst_0
            istore 8 /* generator */
        start local 8 // boolean generator
         4: .line 4839
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
            getstatic com.oracle.js.parser.Parser.ES6_GENERATOR_FUNCTION:Z
            ifeq 9
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 9
         5: .line 4840
            iload 6 /* expressionStatement */
            ifeq 7
         6: .line 4841
            aload 0 /* this */
            ldc "expected.stmt"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "generator function declaration"
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         7: .line 4843
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 8 /* generator */
         8: .line 4844
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         9: .line 4847
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* name */
        start local 9 // com.oracle.js.parser.ir.IdentNode name
        10: .line 4849
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 23
        11: .line 4850
            iload 1 /* isStatement */
            ifne 12
            iload 8 /* generator */
            ifne 14
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
        12: iload 1 /* isStatement */
            ifeq 13
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            ifne 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 10 /* yield */
        start local 10 // boolean yield
        16: .line 4851
            iload 1 /* isStatement */
            ifne 17
            iload 3 /* async */
            ifne 19
      StackMap locals: int
      StackMap stack:
        17: iload 1 /* isStatement */
            ifeq 18
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            ifne 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: istore 11 /* await */
        start local 11 // boolean await
        21: .line 4852
            aload 0 /* this */
            iload 10 /* yield */
            iload 11 /* await */
            ldc "function name"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* name */
        end local 11 // boolean await
        end local 10 // boolean yield
        22: .line 4853
            goto 26
      StackMap locals:
      StackMap stack:
        23: iload 1 /* isStatement */
            ifeq 26
        24: .line 4859
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifne 26
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            ifnonnull 26
        25: .line 4860
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        26: .line 4864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        27: .line 4866
            aload 9 /* name */
            ifnonnull 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 10 /* isAnonymous */
        start local 10 // boolean isAnonymous
        30: .line 4867
            iload 8 /* generator */
            ifeq 31
            ldc 16777216
            goto 32
      StackMap locals: int
      StackMap stack:
        31: iconst_0
        32: .line 4868
      StackMap locals:
      StackMap stack: int
            iload 3 /* async */
            ifeq 33
            ldc 33554432
            goto 34
      StackMap locals:
      StackMap stack: int
        33: iconst_0
        34: .line 4867
      StackMap locals: com.oracle.js.parser.Parser int int int long int int int com.oracle.js.parser.ir.IdentNode int
      StackMap stack: int int
            ior
        35: .line 4869
            iload 10 /* isAnonymous */
            ifeq 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack: int
        36: iconst_0
        37: .line 4867
      StackMap locals: com.oracle.js.parser.Parser int int int long int int int com.oracle.js.parser.ir.IdentNode int
      StackMap stack: int int
            ior
            istore 11 /* functionFlags */
        start local 11 // int functionFlags
        38: .line 4870
            aload 0 /* this */
            aload 9 /* name */
            lload 4 /* functionToken */
            iload 11 /* functionFlags */
            iload 7 /* functionLine */
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JII)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 12 /* functionNode */
        start local 12 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        39: .line 4871
            iload 10 /* isAnonymous */
            ifeq 41
        40: .line 4873
            aload 12 /* functionNode */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getDefaultFunctionName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
        41: .line 4875
      StackMap locals: int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        42: .line 4882
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.hideDefaultName:()V
        43: .line 4885
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 14 /* parameterBlock */
        start local 14 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        44: .line 4886
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 14 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        45: .line 4888
            aload 0 /* this */
            iload 8 /* generator */
            iload 3 /* async */
            invokevirtual com.oracle.js.parser.Parser.formalParameterList:(ZZ)V
        46: .line 4889
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        47: .line 4891
            aload 0 /* this */
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.functionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
            astore 13 /* functionBody */
        start local 13 // com.oracle.js.parser.ir.Block functionBody
        48: .line 4892
            goto 52
        end local 13 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser int int int long int int int com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ParserContextFunctionNode top com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        49: astore 15
        50: .line 4893
            aload 0 /* this */
            aload 14 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        51: .line 4894
            aload 15
            athrow
        start local 13 // com.oracle.js.parser.ir.Block functionBody
        52: .line 4893
      StackMap locals: com.oracle.js.parser.Parser int int int long int int int com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Block com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            aload 14 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        53: .line 4895
            aload 14 /* parameterBlock */
            ifnull 60
        54: .line 4896
            aload 14 /* parameterBlock */
            aload 13 /* functionBody */
            invokestatic com.oracle.js.parser.Parser.wrapParameterBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/Block;
            astore 13 /* functionBody */
        end local 14 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        55: .line 4898
            goto 60
        end local 13 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser int int int long int int int com.oracle.js.parser.ir.IdentNode int int com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack: java.lang.Throwable
        56: astore 16
        57: .line 4899
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        58: .line 4900
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        59: .line 4901
            aload 16
            athrow
        start local 13 // com.oracle.js.parser.ir.Block functionBody
        60: .line 4899
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        61: .line 4900
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        62: .line 4903
            iload 1 /* isStatement */
            ifeq 73
            iload 10 /* isAnonymous */
            ifne 73
        63: .line 4904
            aload 12 /* functionNode */
            bipush 16
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        64: .line 4905
            iload 2 /* topLevel */
            ifne 65
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifne 65
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifne 67
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.functionStatement:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            getstatic com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior.ACCEPT:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            if_acmpne 67
        65: .line 4906
      StackMap locals:
      StackMap stack:
            aload 12 /* functionNode */
            iconst_2
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        66: .line 4907
            goto 73
      StackMap locals:
      StackMap stack:
        67: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 69
        68: .line 4908
            aload 0 /* this */
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            ldc "strict.no.func.decl.here"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 4 /* functionToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Lcom/oracle/js/parser/JSErrorType;Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        69: .line 4909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.functionStatement:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            getstatic com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior.ERROR:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            if_acmpne 71
        70: .line 4910
            aload 0 /* this */
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            ldc "no.func.decl.here"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 4 /* functionToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Lcom/oracle/js/parser/JSErrorType;Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        71: .line 4911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.functionStatement:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            getstatic com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior.WARNING:Lcom/oracle/js/parser/ScriptEnvironment$FunctionStatementBehavior;
            if_acmpne 73
        72: .line 4912
            aload 0 /* this */
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            ldc "no.func.decl.here.warn"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 4 /* functionToken */
            invokevirtual com.oracle.js.parser.Parser.warning:(Lcom/oracle/js/parser/JSErrorType;Ljava/lang/String;J)V
        73: .line 4916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.verifyParameterList:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        74: .line 4918
            aload 0 /* this */
        75: .line 4919
            aload 12 /* functionNode */
        76: .line 4920
            lload 4 /* functionToken */
        77: .line 4921
            aload 9 /* name */
        78: .line 4922
            iload 7 /* functionLine */
        79: .line 4923
            aload 13 /* functionBody */
        80: .line 4918
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 14 /* function */
        start local 14 // com.oracle.js.parser.ir.FunctionNode function
        81: .line 4925
            iload 1 /* isStatement */
            ifeq 99
        82: .line 4926
            iload 10 /* isAnonymous */
            ifeq 85
        83: .line 4927
            aload 0 /* this */
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 7 /* functionLine */
            lload 4 /* functionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 14 /* function */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        84: .line 4928
            aload 14 /* function */
            areturn
        85: .line 4932
      StackMap locals: com.oracle.js.parser.ir.FunctionNode
      StackMap stack:
            iload 2 /* topLevel */
            ifeq 86
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            ifeq 87
      StackMap locals:
      StackMap stack:
        86: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifne 88
      StackMap locals:
      StackMap stack:
        87: iconst_0
            goto 89
      StackMap locals:
      StackMap stack:
        88: iconst_1
      StackMap locals:
      StackMap stack: int
        89: istore 15 /* varFlags */
        start local 15 // int varFlags
        90: .line 4933
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 7 /* functionLine */
            lload 4 /* functionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 9 /* name */
            aload 14 /* function */
            iload 15 /* varFlags */
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 16 /* varNode */
        start local 16 // com.oracle.js.parser.ir.VarNode varNode
        91: .line 4934
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 16 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
        92: .line 4935
            iload 2 /* topLevel */
            ifeq 95
        93: .line 4936
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            aload 16 /* varNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        94: .line 4937
            goto 99
      StackMap locals: int com.oracle.js.parser.ir.VarNode
      StackMap stack:
        95: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.useBlockScope:()Z
            ifeq 98
        96: .line 4938
            aload 0 /* this */
            aload 16 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.prependStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        97: .line 4939
            goto 99
        98: .line 4940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 16 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 16 // com.oracle.js.parser.ir.VarNode varNode
        end local 15 // int varFlags
        99: .line 4944
      StackMap locals:
      StackMap stack:
            aload 14 /* function */
            areturn
        end local 14 // com.oracle.js.parser.ir.FunctionNode function
        end local 13 // com.oracle.js.parser.ir.Block functionBody
        end local 12 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 11 // int functionFlags
        end local 10 // boolean isAnonymous
        end local 9 // com.oracle.js.parser.ir.IdentNode name
        end local 8 // boolean generator
        end local 7 // int functionLine
        end local 6 // boolean expressionStatement
        end local 4 // long functionToken
        end local 3 // boolean async
        end local 2 // boolean topLevel
        end local 1 // boolean isStatement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  100     0                 this  Lcom/oracle/js/parser/Parser;
            0  100     1          isStatement  Z
            0  100     2             topLevel  Z
            0  100     3                async  Z
            0  100     4        functionToken  J
            0  100     6  expressionStatement  Z
            1  100     7         functionLine  I
            4  100     8            generator  Z
           10  100     9                 name  Lcom/oracle/js/parser/ir/IdentNode;
           16   22    10                yield  Z
           21   22    11                await  Z
           30  100    10          isAnonymous  Z
           38  100    11        functionFlags  I
           39  100    12         functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
           48   49    13         functionBody  Lcom/oracle/js/parser/ir/Block;
           52   56    13         functionBody  Lcom/oracle/js/parser/ir/Block;
           60  100    13         functionBody  Lcom/oracle/js/parser/ir/Block;
           44   55    14       parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
           81  100    14             function  Lcom/oracle/js/parser/ir/FunctionNode;
           90   99    15             varFlags  I
           91   99    16              varNode  Lcom/oracle/js/parser/ir/VarNode;
      Exception table:
        from    to  target  type
          45    49      49  any
          43    56      56  any
    MethodParameters:
                     Name  Flags
      isStatement          final
      topLevel             final
      async                final
      functionToken        final
      expressionStatement  final

  private static com.oracle.js.parser.ir.Block wrapParameterBlock(com.oracle.js.parser.ParserContextBlockNode, com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ParserContextBlockNode;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/Block;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        start local 1 // com.oracle.js.parser.ir.Block functionBody
         0: .line 4948
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* parameterBlock */
            bipush 64
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlag:(I)I
            ifeq 1
            aload 1 /* functionBody */
            invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4949
      StackMap locals:
      StackMap stack:
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 4950
            aload 1 /* functionBody */
            areturn
         4: .line 4952
      StackMap locals:
      StackMap stack:
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            new com.oracle.js.parser.ir.BlockStatement
            dup
            aload 1 /* functionBody */
            invokevirtual com.oracle.js.parser.ir.Block.getFirstStatementLineNumber:()I
            aload 1 /* functionBody */
            invokespecial com.oracle.js.parser.ir.BlockStatement.<init>:(ILcom/oracle/js/parser/ir/Block;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 4953
            new com.oracle.js.parser.ir.Block
            dup
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getToken:()J
            aload 1 /* functionBody */
            invokevirtual com.oracle.js.parser.ir.Block.getFinish:()I
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 0 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            areturn
        end local 1 // com.oracle.js.parser.ir.Block functionBody
        end local 0 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
            0    6     1    functionBody  Lcom/oracle/js/parser/ir/Block;
    MethodParameters:
                Name  Flags
      parameterBlock  
      functionBody    

  private void verifyParameterList(com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
         0: .line 4958
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getDuplicateParameterBinding:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 2 /* duplicateParameter */
        start local 2 // com.oracle.js.parser.ir.IdentNode duplicateParameter
         1: .line 4959
            aload 2 /* duplicateParameter */
            ifnull 18
         2: .line 4960
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isStrict:()Z
            ifne 3
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isMethod:()Z
            ifne 3
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 3
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isSimpleParameterList:()Z
            ifne 4
         3: .line 4961
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            ldc "strict.param.redefinition"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* duplicateParameter */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* duplicateParameter */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 4964
      StackMap locals:
      StackMap stack:
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameters:()Ljava/util/List;
            astore 3 /* parameters */
        start local 3 // java.util.List parameters
         5: .line 4965
            aload 3 /* parameters */
            invokeinterface java.util.List.size:()I
            istore 4 /* arity */
        start local 4 // int arity
         6: .line 4966
            new java.util.HashSet
            dup
            iload 4 /* arity */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 5 /* parametersSet */
        start local 5 // java.util.HashSet parametersSet
         7: .line 4968
            iload 4 /* arity */
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         8: goto 17
         9: .line 4969
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.IdentNode java.util.List int java.util.HashSet int
      StackMap stack:
            aload 3 /* parameters */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 7 /* parameter */
        start local 7 // com.oracle.js.parser.ir.IdentNode parameter
        10: .line 4970
            aload 7 /* parameter */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            astore 8 /* parameterName */
        start local 8 // java.lang.String parameterName
        11: .line 4972
            aload 5 /* parametersSet */
            aload 8 /* parameterName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 4974
            aload 1 /* functionNode */
            aload 8 /* parameterName */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* parameterName */
        13: .line 4975
            aload 7 /* parameter */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            lstore 9 /* parameterToken */
        start local 9 // long parameterToken
        14: .line 4976
            aload 3 /* parameters */
            iload 6 /* i */
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 9 /* parameterToken */
            lload 9 /* parameterToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 1 /* functionNode */
            aload 8 /* parameterName */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // long parameterToken
        15: .line 4978
      StackMap locals: com.oracle.js.parser.ir.IdentNode java.lang.String
      StackMap stack:
            aload 5 /* parametersSet */
            aload 8 /* parameterName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String parameterName
        end local 7 // com.oracle.js.parser.ir.IdentNode parameter
        16: .line 4968
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            ifge 9
        end local 6 // int i
        end local 5 // java.util.HashSet parametersSet
        end local 4 // int arity
        end local 3 // java.util.List parameters
        18: .line 4981
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            return
        end local 2 // com.oracle.js.parser.ir.IdentNode duplicateParameter
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lcom/oracle/js/parser/Parser;
            0   19     1        functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
            1   19     2  duplicateParameter  Lcom/oracle/js/parser/ir/IdentNode;
            5   18     3          parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            6   18     4               arity  I
            7   18     5       parametersSet  Ljava/util/HashSet<Ljava/lang/String;>;
            8   18     6                   i  I
           10   16     7           parameter  Lcom/oracle/js/parser/ir/IdentNode;
           11   16     8       parameterName  Ljava/lang/String;
           14   15     9      parameterToken  J
    MethodParameters:
              Name  Flags
      functionNode  final

  private void pushDefaultName(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression nameExpr
         0: .line 4984
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            aload 1 /* nameExpr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 4985
            return
        end local 1 // com.oracle.js.parser.ir.Expression nameExpr
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/js/parser/Parser;
            0    2     1  nameExpr  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
          Name  Flags
      nameExpr  final

  private java.lang.Object popDefaultName();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 4988
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private java.lang.String getDefaultFunctionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 4992
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 15
         1: .line 4993
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 1 /* nameExpr */
        start local 1 // java.lang.Object nameExpr
         2: .line 4994
            aload 1 /* nameExpr */
            instanceof com.oracle.js.parser.ir.PropertyKey
            ifeq 5
         3: .line 4995
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markDefaultNameUsed:()V
         4: .line 4996
            aload 1 /* nameExpr */
            checkcast com.oracle.js.parser.ir.PropertyKey
            invokeinterface com.oracle.js.parser.ir.PropertyKey.getPropertyName:()Ljava/lang/String;
            areturn
         5: .line 4997
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* nameExpr */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifeq 15
         6: .line 4998
            aload 1 /* nameExpr */
            checkcast com.oracle.js.parser.ir.AccessNode
            astore 2 /* accessNode */
        start local 2 // com.oracle.js.parser.ir.AccessNode accessNode
         7: .line 4999
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.markDefaultNameUsed:()V
         8: .line 5000
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            instanceof com.oracle.js.parser.ir.AccessNode
            ifeq 12
         9: .line 5001
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.AccessNode
            astore 3 /* base */
        start local 3 // com.oracle.js.parser.ir.AccessNode base
        10: .line 5002
            aload 3 /* base */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 14
            aload 3 /* base */
            invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
            ifne 14
            aload 3 /* base */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            ldc "prototype"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 5003
            new java.lang.StringBuilder
            dup
            aload 3 /* base */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.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;
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // com.oracle.js.parser.ir.AccessNode base
        12: .line 5005
      StackMap locals: com.oracle.js.parser.ir.AccessNode
      StackMap stack:
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 14
        13: .line 5006
            new java.lang.StringBuilder
            dup
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.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;
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        14: .line 5008
      StackMap locals:
      StackMap stack:
            aload 2 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            areturn
        end local 2 // com.oracle.js.parser.ir.AccessNode accessNode
        end local 1 // java.lang.Object nameExpr
        15: .line 5011
      StackMap locals:
      StackMap stack:
            ldc ":anonymous"
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/oracle/js/parser/Parser;
            2   15     1    nameExpr  Ljava/lang/Object;
            7   15     2  accessNode  Lcom/oracle/js/parser/ir/AccessNode;
           10   12     3        base  Lcom/oracle/js/parser/ir/AccessNode;

  private void markDefaultNameUsed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 5015
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
         1: .line 5016
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.hideDefaultName:()V
         2: .line 5017
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/Parser;

  private void hideDefaultName();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 5022
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.defaultNames:Ljava/util/List;
            ldc ""
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 5023
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private void formalParameterList(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean async
         0: .line 5029
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            iload 1 /* yield */
            iload 2 /* async */
            invokevirtual com.oracle.js.parser.Parser.formalParameterList:(Lcom/oracle/js/parser/TokenType;ZZ)V
         1: .line 5030
            return
        end local 2 // boolean async
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/Parser;
            0    2     1  yield  Z
            0    2     2  async  Z
    MethodParameters:
       Name  Flags
      yield  final
      async  final

  private void formalParameter(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 5033
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            iload 1 /* yield */
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAwait:()Z
            ifeq 3
            iload 2 /* await */
            ifeq 3
         2: .line 5034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         3: .line 5037
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 3 /* currentFunction */
        start local 3 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         4: .line 5038
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* paramToken */
        start local 4 // long paramToken
         5: .line 5039
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 6 /* paramLine */
        start local 6 // int paramLine
         6: .line 5041
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifne 7
            getstatic com.oracle.js.parser.Parser.ES6_DESTRUCTURING:Z
            ifeq 7
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifne 22
         7: .line 5042
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode long int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            ldc "function parameter"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 7 /* ident */
        start local 7 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 5044
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 19
            getstatic com.oracle.js.parser.Parser.ES6_DEFAULT_PARAMETER:Z
            ifeq 19
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 19
         9: .line 5045
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 5047
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
            iload 1 /* yield */
            ifne 12
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
        11: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAwait:()Z
            ifeq 13
            iload 2 /* await */
            ifeq 13
        12: .line 5049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        13: .line 5053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* initializer */
        start local 8 // com.oracle.js.parser.ir.Expression initializer
        14: .line 5055
            aload 8 /* initializer */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 16
        15: .line 5056
            aload 0 /* this */
            aload 8 /* initializer */
            aload 7 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* initializer */
        16: .line 5059
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 3 /* currentFunction */
            ifnull 30
        17: .line 5060
            lload 4 /* paramToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iload 6 /* paramLine */
            aload 7 /* ident */
            aload 8 /* initializer */
            aload 3 /* currentFunction */
            invokestatic com.oracle.js.parser.Parser.addDefaultParameter:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        end local 8 // com.oracle.js.parser.ir.Expression initializer
        18: .line 5062
            goto 30
        19: .line 5063
      StackMap locals:
      StackMap stack:
            aload 3 /* currentFunction */
            ifnull 30
        20: .line 5064
            aload 3 /* currentFunction */
            aload 7 /* ident */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameter:(Lcom/oracle/js/parser/ir/IdentNode;)V
        21: .line 5067
            goto 30
        end local 7 // com.oracle.js.parser.ir.IdentNode ident
        22: .line 5068
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.bindingPattern:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* pattern */
        start local 8 // com.oracle.js.parser.ir.Expression pattern
        23: .line 5070
            aload 0 /* this */
            aload 8 /* pattern */
            lload 4 /* paramToken */
            iload 6 /* paramLine */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringParameterBindingPattern:(Lcom/oracle/js/parser/ir/Expression;JI)V
        24: .line 5072
            aconst_null
            astore 9 /* initializer */
        start local 9 // com.oracle.js.parser.ir.Expression initializer
        25: .line 5073
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 28
        26: .line 5074
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        27: .line 5076
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* initializer */
        28: .line 5079
      StackMap locals: com.oracle.js.parser.Parser int int com.oracle.js.parser.ParserContextFunctionNode long int top com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 3 /* currentFunction */
            ifnull 30
        29: .line 5080
            aload 0 /* this */
            lload 4 /* paramToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iload 6 /* paramLine */
            aload 8 /* pattern */
            aload 9 /* initializer */
            aload 3 /* currentFunction */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.addDestructuringParameter:(JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
        end local 9 // com.oracle.js.parser.ir.Expression initializer
        end local 8 // com.oracle.js.parser.ir.Expression pattern
        30: .line 5083
      StackMap locals: com.oracle.js.parser.Parser int int com.oracle.js.parser.ParserContextFunctionNode long int
      StackMap stack:
            return
        end local 6 // int paramLine
        end local 4 // long paramToken
        end local 3 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   31     0             this  Lcom/oracle/js/parser/Parser;
            0   31     1            yield  Z
            0   31     2            await  Z
            4   31     3  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
            5   31     4       paramToken  J
            6   31     6        paramLine  I
            8   22     7            ident  Lcom/oracle/js/parser/ir/IdentNode;
           14   18     8      initializer  Lcom/oracle/js/parser/ir/Expression;
           23   30     8          pattern  Lcom/oracle/js/parser/ir/Expression;
           25   30     9      initializer  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  final
      await  final

  private void functionRestParameter(com.oracle.js.parser.TokenType, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/TokenType;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.TokenType endType
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 5086
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* paramToken */
        start local 4 // long paramToken
         1: .line 5087
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 6 /* paramLine */
        start local 6 // int paramLine
         2: .line 5088
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 7 /* currentFunction */
        start local 7 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         3: .line 5090
            aload 0 /* this */
            iload 2 /* yield */
            iload 3 /* await */
            ldc "function parameter"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifierOrPattern:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* pattern */
        start local 8 // com.oracle.js.parser.ir.Expression pattern
         4: .line 5091
            aload 8 /* pattern */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 9
         5: .line 5092
            aload 8 /* pattern */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsRestParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* ident */
        start local 9 // com.oracle.js.parser.ir.IdentNode ident
         6: .line 5094
            aload 7 /* currentFunction */
            ifnull 12
         7: .line 5095
            aload 7 /* currentFunction */
            aload 9 /* ident */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameter:(Lcom/oracle/js/parser/ir/IdentNode;)V
        end local 9 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 5097
            goto 12
         9: .line 5098
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.TokenType int int long int com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aload 8 /* pattern */
            lload 4 /* paramToken */
            iload 6 /* paramLine */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringParameterBindingPattern:(Lcom/oracle/js/parser/ir/Expression;JI)V
        10: .line 5100
            aload 7 /* currentFunction */
            ifnull 12
        11: .line 5101
            aload 0 /* this */
            lload 4 /* paramToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iload 6 /* paramLine */
            aload 8 /* pattern */
            aconst_null
            aload 7 /* currentFunction */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.addDestructuringParameter:(JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
        12: .line 5106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* endType */
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        13: .line 5107
            return
        end local 8 // com.oracle.js.parser.ir.Expression pattern
        end local 7 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 6 // int paramLine
        end local 4 // long paramToken
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // com.oracle.js.parser.TokenType endType
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/oracle/js/parser/Parser;
            0   14     1          endType  Lcom/oracle/js/parser/TokenType;
            0   14     2            yield  Z
            0   14     3            await  Z
            1   14     4       paramToken  J
            2   14     6        paramLine  I
            3   14     7  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
            4   14     8          pattern  Lcom/oracle/js/parser/ir/Expression;
            6    8     9            ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
         Name  Flags
      endType  final
      yield    final
      await    final

  private void formalParameterList(com.oracle.js.parser.TokenType, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/TokenType;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.TokenType endType
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 5121
            iconst_1
            istore 4 /* first */
        start local 4 // boolean first
         1: .line 5123
            goto 12
         2: .line 5125
      StackMap locals: int
      StackMap stack:
            iload 4 /* first */
            ifne 6
         3: .line 5126
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 5128
            getstatic com.oracle.js.parser.Parser.ES8_TRAILING_COMMA:Z
            ifeq 7
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            aload 1 /* endType */
            if_acmpne 7
         5: .line 5129
            goto 13
         6: .line 5132
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* first */
         7: .line 5135
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_REST_PARAMETER:Z
            ifeq 11
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 11
         8: .line 5136
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         9: .line 5137
            aload 0 /* this */
            aload 1 /* endType */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.functionRestParameter:(Lcom/oracle/js/parser/TokenType;ZZ)V
        10: .line 5138
            goto 13
        11: .line 5141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.formalParameter:(ZZ)V
        12: .line 5123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            aload 1 /* endType */
            if_acmpne 2
        13: .line 5143
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean first
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // com.oracle.js.parser.TokenType endType
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/oracle/js/parser/Parser;
            0   14     1  endType  Lcom/oracle/js/parser/TokenType;
            0   14     2    yield  Z
            0   14     3    await  Z
            1   14     4    first  Z
    MethodParameters:
         Name  Flags
      endType  final
      yield    final
      await    final

  private static void addDefaultParameter(long, int, int, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=12, args_size=6
        start local 0 // long paramToken
        start local 2 // int paramFinish
        start local 3 // int paramLine
        start local 4 // com.oracle.js.parser.ir.IdentNode target
        start local 5 // com.oracle.js.parser.ir.Expression initializer
        start local 6 // com.oracle.js.parser.ParserContextFunctionNode function
         0: .line 5146
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 4 /* target */
            ifnull 1
            aload 5 /* initializer */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5150
      StackMap locals:
      StackMap stack:
            aload 6 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterCount:()I
            istore 7 /* paramIndex */
        start local 7 // int paramIndex
         3: .line 5151
            new com.oracle.js.parser.ir.ParameterNode
            dup
            lload 0 /* paramToken */
            iload 2 /* paramFinish */
            iload 7 /* paramIndex */
            invokespecial com.oracle.js.parser.ir.ParameterNode.<init>:(JII)V
            astore 8 /* param */
        start local 8 // com.oracle.js.parser.ir.ParameterNode param
         4: .line 5152
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 0 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.EQ_STRICT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 8 /* param */
            lload 0 /* paramToken */
            iload 2 /* paramFinish */
            invokestatic com.oracle.js.parser.Parser.newUndefinedLiteral:(JI)Lcom/oracle/js/parser/ir/UnaryNode;
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 9 /* test */
        start local 9 // com.oracle.js.parser.ir.BinaryNode test
         5: .line 5153
            new com.oracle.js.parser.ir.TernaryNode
            dup
            lload 0 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 9 /* test */
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 5 /* initializer */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 8 /* param */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            invokespecial com.oracle.js.parser.ir.TernaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
            astore 10 /* value */
        start local 10 // com.oracle.js.parser.ir.Expression value
         6: .line 5154
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 3 /* paramLine */
            lload 0 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            iload 2 /* paramFinish */
            aload 4 /* target */
            aload 10 /* value */
            iconst_1
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 11 /* varNode */
        start local 11 // com.oracle.js.parser.ir.VarNode varNode
         7: .line 5155
            aload 6 /* function */
            aload 11 /* varNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addDefaultParameter:(Lcom/oracle/js/parser/ir/VarNode;)V
         8: .line 5156
            return
        end local 11 // com.oracle.js.parser.ir.VarNode varNode
        end local 10 // com.oracle.js.parser.ir.Expression value
        end local 9 // com.oracle.js.parser.ir.BinaryNode test
        end local 8 // com.oracle.js.parser.ir.ParameterNode param
        end local 7 // int paramIndex
        end local 6 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 5 // com.oracle.js.parser.ir.Expression initializer
        end local 4 // com.oracle.js.parser.ir.IdentNode target
        end local 3 // int paramLine
        end local 2 // int paramFinish
        end local 0 // long paramToken
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0   paramToken  J
            0    9     2  paramFinish  I
            0    9     3    paramLine  I
            0    9     4       target  Lcom/oracle/js/parser/ir/IdentNode;
            0    9     5  initializer  Lcom/oracle/js/parser/ir/Expression;
            0    9     6     function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            3    9     7   paramIndex  I
            4    9     8        param  Lcom/oracle/js/parser/ir/ParameterNode;
            5    9     9         test  Lcom/oracle/js/parser/ir/BinaryNode;
            6    9    10        value  Lcom/oracle/js/parser/ir/Expression;
            7    9    11      varNode  Lcom/oracle/js/parser/ir/VarNode;
    MethodParameters:
             Name  Flags
      paramToken   
      paramFinish  
      paramLine    
      target       
      initializer  
      function     

  private void addDestructuringParameter(long, int, int, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ParserContextFunctionNode, boolean);
    descriptor: (JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, args_size=8
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long paramToken
        start local 3 // int paramFinish
        start local 4 // int paramLine
        start local 5 // com.oracle.js.parser.ir.Expression target
        start local 6 // com.oracle.js.parser.ir.Expression initializer
        start local 7 // com.oracle.js.parser.ParserContextFunctionNode function
        start local 8 // boolean isRest
         0: .line 5159
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 5 /* target */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5163
      StackMap locals:
      StackMap stack:
            aload 7 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterCount:()I
            istore 9 /* paramIndex */
        start local 9 // int paramIndex
         2: .line 5164
            new com.oracle.js.parser.ir.ParameterNode
            dup
            lload 1 /* paramToken */
            iload 3 /* paramFinish */
            iload 9 /* paramIndex */
            iload 8 /* isRest */
            invokespecial com.oracle.js.parser.ir.ParameterNode.<init>:(JIIZ)V
            astore 10 /* param */
        start local 10 // com.oracle.js.parser.ir.ParameterNode param
         3: .line 5166
            aload 6 /* initializer */
            ifnonnull 6
         4: .line 5167
            aload 10 /* param */
            astore 11 /* value */
        start local 11 // com.oracle.js.parser.ir.Expression value
         5: .line 5168
            goto 8
        end local 11 // com.oracle.js.parser.ir.Expression value
         6: .line 5169
      StackMap locals: int com.oracle.js.parser.ir.ParameterNode
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.EQ_STRICT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 10 /* param */
            lload 1 /* paramToken */
            iload 3 /* paramFinish */
            invokestatic com.oracle.js.parser.Parser.newUndefinedLiteral:(JI)Lcom/oracle/js/parser/ir/UnaryNode;
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 12 /* test */
        start local 12 // com.oracle.js.parser.ir.BinaryNode test
         7: .line 5170
            new com.oracle.js.parser.ir.TernaryNode
            dup
            lload 1 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 12 /* test */
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 6 /* initializer */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 10 /* param */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            invokespecial com.oracle.js.parser.ir.TernaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
            astore 11 /* value */
        end local 12 // com.oracle.js.parser.ir.BinaryNode test
        start local 11 // com.oracle.js.parser.ir.Expression value
         8: .line 5172
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* paramToken */
            getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 5 /* target */
            aload 11 /* value */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 12 /* assignment */
        start local 12 // com.oracle.js.parser.ir.BinaryNode assignment
         9: .line 5173
            aload 7 /* function */
            iload 4 /* paramLine */
            aload 12 /* assignment */
            aload 6 /* initializer */
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.js.parser.ParserContextFunctionNode int int com.oracle.js.parser.ir.ParameterNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.BinaryNode
      StackMap stack: com.oracle.js.parser.ParserContextFunctionNode int com.oracle.js.parser.ir.BinaryNode
        10: iconst_0
      StackMap locals: com.oracle.js.parser.Parser long int int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.js.parser.ParserContextFunctionNode int int com.oracle.js.parser.ir.ParameterNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.BinaryNode
      StackMap stack: com.oracle.js.parser.ParserContextFunctionNode int com.oracle.js.parser.ir.BinaryNode int
        11: iload 8 /* isRest */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterInitialization:(ILcom/oracle/js/parser/ir/Expression;ZZ)V
        12: .line 5174
            return
        end local 12 // com.oracle.js.parser.ir.BinaryNode assignment
        end local 11 // com.oracle.js.parser.ir.Expression value
        end local 10 // com.oracle.js.parser.ir.ParameterNode param
        end local 9 // int paramIndex
        end local 8 // boolean isRest
        end local 7 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 6 // com.oracle.js.parser.ir.Expression initializer
        end local 5 // com.oracle.js.parser.ir.Expression target
        end local 4 // int paramLine
        end local 3 // int paramFinish
        end local 1 // long paramToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/oracle/js/parser/Parser;
            0   13     1   paramToken  J
            0   13     3  paramFinish  I
            0   13     4    paramLine  I
            0   13     5       target  Lcom/oracle/js/parser/ir/Expression;
            0   13     6  initializer  Lcom/oracle/js/parser/ir/Expression;
            0   13     7     function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   13     8       isRest  Z
            2   13     9   paramIndex  I
            3   13    10        param  Lcom/oracle/js/parser/ir/ParameterNode;
            5    6    11        value  Lcom/oracle/js/parser/ir/Expression;
            8   13    11        value  Lcom/oracle/js/parser/ir/Expression;
            7    8    12         test  Lcom/oracle/js/parser/ir/BinaryNode;
            9   13    12   assignment  Lcom/oracle/js/parser/ir/BinaryNode;
    MethodParameters:
             Name  Flags
      paramToken   
      paramFinish  
      paramLine    
      target       
      initializer  
      function     
      isRest       

  private void verifyDestructuringParameterBindingPattern(com.oracle.js.parser.ir.Expression, long, int);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;JI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression pattern
        start local 2 // long paramToken
        start local 4 // int paramLine
         0: .line 5177
            aload 0 /* this */
            aload 1 /* pattern */
            new com.oracle.js.parser.Parser$6
            dup
            aload 0 /* this */
            iload 4 /* paramLine */
            lload 2 /* paramToken */
            aload 1 /* pattern */
            invokespecial com.oracle.js.parser.Parser$6.<init>:(Lcom/oracle/js/parser/Parser;IJLcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringBindingPattern:(Lcom/oracle/js/parser/ir/Expression;Ljava/util/function/Consumer;)V
         1: .line 5191
            return
        end local 4 // int paramLine
        end local 2 // long paramToken
        end local 1 // com.oracle.js.parser.ir.Expression pattern
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/js/parser/Parser;
            0    2     1     pattern  Lcom/oracle/js/parser/ir/Expression;
            0    2     2  paramToken  J
            0    2     4   paramLine  I
    MethodParameters:
            Name  Flags
      pattern     final
      paramToken  final
      paramLine   final

  private com.oracle.js.parser.ir.Block functionBody(com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
         0: .line 5204
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* bodyToken */
        start local 2 // long bodyToken
         1: .line 5207
            aconst_null
            astore 6 /* endParserState */
        start local 6 // java.lang.Object endParserState
         2: .line 5209
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createBodyScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 7 /* body */
        start local 7 // com.oracle.js.parser.ParserContextBlockNode body
         3: .line 5211
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getId:()I
            istore 8 /* functionId */
        start local 8 // int functionId
         4: .line 5212
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            ifnull 5
            iload 8 /* functionId */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            invokeinterface com.oracle.js.parser.RecompilableScriptFunctionData.getFunctionNodeId:()I
            if_icmple 5
            iconst_0
            goto 6
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long top top java.lang.Object com.oracle.js.parser.ParserContextBlockNode int
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* parseBody */
        start local 5 // boolean parseBody
         7: .line 5214
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.syntaxExtensions:Z
            ifne 8
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifeq 21
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long top int java.lang.Object com.oracle.js.parser.ParserContextBlockNode int
      StackMap stack:
         8: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 21
         9: .line 5220
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(Z)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* expr */
        start local 9 // com.oracle.js.parser.ir.Expression expr
        10: .line 5221
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.previousToken:J
            lstore 10 /* lastToken */
        start local 10 // long lastToken
        11: .line 5222
            aload 1 /* functionNode */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.previousToken:J
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        12: .line 5223
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.isFunctionBodyScope:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 5225
      StackMap locals: com.oracle.js.parser.ir.Expression long
      StackMap stack:
            lload 10 /* lastToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            lload 10 /* lastToken */
            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 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack: int
        14: lload 10 /* lastToken */
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long top int java.lang.Object com.oracle.js.parser.ParserContextBlockNode int com.oracle.js.parser.ir.Expression long
      StackMap stack: int int
        15: iadd
            istore 12 /* lastFinish */
        start local 12 // int lastFinish
        16: .line 5233
            iload 5 /* parseBody */
            ifeq 19
        17: .line 5234
            new com.oracle.js.parser.ir.ReturnNode
            dup
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getLineNumber:()I
            aload 9 /* expr */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            iload 12 /* lastFinish */
            aload 9 /* expr */
            invokespecial com.oracle.js.parser.ir.ReturnNode.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            astore 13 /* returnNode */
        start local 13 // com.oracle.js.parser.ir.ReturnNode returnNode
        18: .line 5235
            aload 0 /* this */
            aload 13 /* returnNode */
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 13 // com.oracle.js.parser.ir.ReturnNode returnNode
        19: .line 5237
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            istore 4 /* bodyFinish */
        end local 12 // int lastFinish
        end local 10 // long lastToken
        end local 9 // com.oracle.js.parser.ir.Expression expr
        start local 4 // int bodyFinish
        20: .line 5238
            goto 42
        end local 4 // int bodyFinish
        21: .line 5239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        22: .line 5240
            iload 5 /* parseBody */
            ifne 23
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.skipFunctionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Z
            ifne 35
        23: .line 5241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        24: .line 5243
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            astore 9 /* prevFunctionDecls */
        start local 9 // java.util.List prevFunctionDecls
        25: .line 5244
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        26: .line 5246
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.sourceElements:(I)V
        27: .line 5247
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.addFunctionDeclarations:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        28: .line 5248
            goto 32
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long top int java.lang.Object com.oracle.js.parser.ParserContextBlockNode int java.util.List
      StackMap stack: java.lang.Throwable
        29: astore 10
        30: .line 5249
            aload 0 /* this */
            aload 9 /* prevFunctionDecls */
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        31: .line 5250
            aload 10
            athrow
        32: .line 5249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* prevFunctionDecls */
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        33: .line 5252
            iload 5 /* parseBody */
            ifeq 35
        34: .line 5258
            new com.oracle.js.parser.Parser$ParserState
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.linePosition:I
            invokespecial com.oracle.js.parser.Parser$ParserState.<init>:(III)V
            astore 6 /* endParserState */
        end local 9 // java.util.List prevFunctionDecls
        35: .line 5272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descLength:(J)I
            iadd
            istore 4 /* bodyFinish */
        start local 4 // int bodyFinish
        36: .line 5273
            aload 1 /* functionNode */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        37: .line 5274
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        end local 8 // int functionId
        38: .line 5276
            goto 42
        end local 5 // boolean parseBody
        end local 4 // int bodyFinish
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long top top java.lang.Object com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        39: astore 14
        40: .line 5277
            aload 0 /* this */
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        41: .line 5278
            aload 14
            athrow
        start local 4 // int bodyFinish
        start local 5 // boolean parseBody
        42: .line 5277
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextFunctionNode long int int java.lang.Object com.oracle.js.parser.ParserContextBlockNode
      StackMap stack:
            aload 0 /* this */
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        43: .line 5282
            iload 5 /* parseBody */
            ifeq 46
        44: .line 5283
            aload 1 /* functionNode */
            aload 6 /* endParserState */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setEndParserState:(Ljava/lang/Object;)V
        45: .line 5284
            goto 48
      StackMap locals:
      StackMap stack:
        46: aload 7 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 48
        47: .line 5293
            aload 7 /* body */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setStatements:(Ljava/util/List;)V
        48: .line 5296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            ifnull 55
        49: .line 5303
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getId:()I
            invokeinterface com.oracle.js.parser.RecompilableScriptFunctionData.getScriptFunctionData:(I)Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            astore 8 /* data */
        start local 8 // com.oracle.js.parser.RecompilableScriptFunctionData data
        50: .line 5304
            aload 8 /* data */
            ifnull 55
        51: .line 5307
            aload 1 /* functionNode */
            aload 8 /* data */
            invokeinterface com.oracle.js.parser.RecompilableScriptFunctionData.getFunctionFlags:()I
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        52: .line 5311
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasNestedEval:()Z
            ifeq 55
        53: .line 5312
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 54
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasScopeBlock:()Z
            ifne 54
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        54: .line 5313
      StackMap locals: com.oracle.js.parser.RecompilableScriptFunctionData
      StackMap stack:
            aload 7 /* body */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setFlag:(I)I
            pop
        end local 8 // com.oracle.js.parser.RecompilableScriptFunctionData data
        55: .line 5317
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.Block
            dup
            lload 2 /* bodyToken */
            iload 4 /* bodyFinish */
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 32
            ior
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 7 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            areturn
        end local 7 // com.oracle.js.parser.ParserContextBlockNode body
        end local 6 // java.lang.Object endParserState
        end local 5 // boolean parseBody
        end local 4 // int bodyFinish
        end local 2 // long bodyToken
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   56     0               this  Lcom/oracle/js/parser/Parser;
            0   56     1       functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
            1   56     2          bodyToken  J
           20   21     4         bodyFinish  I
           36   39     4         bodyFinish  I
           42   56     4         bodyFinish  I
            7   39     5          parseBody  Z
           42   56     5          parseBody  Z
            2   56     6     endParserState  Ljava/lang/Object;
            3   56     7               body  Lcom/oracle/js/parser/ParserContextBlockNode;
            4   38     8         functionId  I
           10   20     9               expr  Lcom/oracle/js/parser/ir/Expression;
           11   20    10          lastToken  J
           16   20    12         lastFinish  I
           18   19    13         returnNode  Lcom/oracle/js/parser/ir/ReturnNode;
           25   35     9  prevFunctionDecls  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
           50   55     8               data  Lcom/oracle/js/parser/RecompilableScriptFunctionData;
      Exception table:
        from    to  target  type
          26    29      29  any
           3    39      39  any
    MethodParameters:
              Name  Flags
      functionNode  final

  private boolean skipFunctionBody(com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=6, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
         0: .line 5321
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            ifnonnull 2
         1: .line 5323
            iconst_0
            ireturn
         2: .line 5326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.reparsedFunction:Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getId:()I
            invokeinterface com.oracle.js.parser.RecompilableScriptFunctionData.getScriptFunctionData:(I)Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            astore 2 /* data */
        start local 2 // com.oracle.js.parser.RecompilableScriptFunctionData data
         3: .line 5327
            aload 2 /* data */
            ifnonnull 5
         4: .line 5334
            iconst_0
            ireturn
         5: .line 5336
      StackMap locals: com.oracle.js.parser.RecompilableScriptFunctionData
      StackMap stack:
            aload 2 /* data */
            invokeinterface com.oracle.js.parser.RecompilableScriptFunctionData.getEndParserState:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.Parser$ParserState
            astore 3 /* parserState */
        start local 3 // com.oracle.js.parser.Parser$ParserState parserState
         6: .line 5337
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 7
            aload 3 /* parserState */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 5339
      StackMap locals: com.oracle.js.parser.Parser$ParserState
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            invokevirtual com.oracle.js.parser.TokenStream.last:()I
            if_icmpge 19
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.start:I
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.position:I
            if_icmpge 19
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.position:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            invokevirtual com.oracle.js.parser.TokenStream.last:()I
            invokevirtual com.oracle.js.parser.TokenStream.get:(I)J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            if_icmpgt 19
         8: .line 5341
            goto 18
         9: .line 5342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            iadd
            invokevirtual com.oracle.js.parser.TokenStream.get:(I)J
            lstore 4 /* nextToken */
        start local 4 // long nextToken
        10: .line 5343
            lload 4 /* nextToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.position:I
            if_icmpne 17
            lload 4 /* nextToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 17
        11: .line 5344
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            invokevirtual com.oracle.js.parser.TokenStream.get:(I)J
            putfield com.oracle.js.parser.Parser.token:J
        12: .line 5345
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            putfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
        13: .line 5346
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        14: .line 5347
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 15
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.start:I
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.position:I
            if_icmpeq 16
      StackMap locals: long
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 5348
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // long nextToken
        17: .line 5341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            iadd
            putfield com.oracle.js.parser.Parser.k:I
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            invokevirtual com.oracle.js.parser.TokenStream.last:()I
            if_icmplt 9
        19: .line 5353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            invokevirtual com.oracle.js.parser.TokenStream.reset:()V
        20: .line 5354
            aload 0 /* this */
            aload 3 /* parserState */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.stream:Lcom/oracle/js/parser/TokenStream;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.scripting:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.env:Lcom/oracle/js/parser/ScriptEnvironment;
            getfield com.oracle.js.parser.ScriptEnvironment.ecmaScriptVersion:I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.shebang:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.allowBigInt:Z
            invokevirtual com.oracle.js.parser.Parser$ParserState.createLexer:(Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/Lexer;Lcom/oracle/js/parser/TokenStream;ZIZZZ)Lcom/oracle/js/parser/Lexer;
            putfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
        21: .line 5355
            aload 0 /* this */
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.line:I
            putfield com.oracle.js.parser.Parser.line:I
        22: .line 5356
            aload 0 /* this */
            aload 3 /* parserState */
            getfield com.oracle.js.parser.Parser$ParserState.linePosition:I
            putfield com.oracle.js.parser.Parser.linePosition:I
        23: .line 5359
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            putfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
        24: .line 5360
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
        25: .line 5362
            iconst_1
            ireturn
        end local 3 // com.oracle.js.parser.Parser$ParserState parserState
        end local 2 // com.oracle.js.parser.RecompilableScriptFunctionData data
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lcom/oracle/js/parser/Parser;
            0   26     1  functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
            3   26     2          data  Lcom/oracle/js/parser/RecompilableScriptFunctionData;
            6   26     3   parserState  Lcom/oracle/js/parser/Parser$ParserState;
           10   17     4     nextToken  J
    MethodParameters:
              Name  Flags
      functionNode  final

  private void addFunctionDeclarations(com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextFunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
         0: .line 5389
            aconst_null
            astore 2 /* lastDecl */
        start local 2 // com.oracle.js.parser.ir.VarNode lastDecl
         1: .line 5390
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 5391
      StackMap locals: com.oracle.js.parser.ir.VarNode int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            astore 4 /* decl */
        start local 4 // com.oracle.js.parser.ir.Statement decl
         4: .line 5392
            aload 2 /* lastDecl */
            ifnonnull 7
            aload 4 /* decl */
            instanceof com.oracle.js.parser.ir.VarNode
            ifeq 7
         5: .line 5393
            aload 4 /* decl */
            checkcast com.oracle.js.parser.ir.VarNode
            iconst_4
            invokevirtual com.oracle.js.parser.ir.VarNode.setFlag:(I)Lcom/oracle/js/parser/ir/VarNode;
            dup
            astore 2 /* lastDecl */
            astore 4 /* decl */
         6: .line 5394
            aload 1 /* functionNode */
            ldc 268435456
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         7: .line 5396
      StackMap locals: com.oracle.js.parser.ir.Statement
      StackMap stack:
            aload 0 /* this */
            aload 4 /* decl */
            invokevirtual com.oracle.js.parser.Parser.prependStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        end local 4 // com.oracle.js.parser.ir.Statement decl
         8: .line 5390
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            ifge 3
        end local 3 // int i
        10: .line 5398
            return
        end local 2 // com.oracle.js.parser.ir.VarNode lastDecl
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lcom/oracle/js/parser/Parser;
            0   11     1  functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
            1   11     2      lastDecl  Lcom/oracle/js/parser/ir/VarNode;
            2   10     3             i  I
            4    8     4          decl  Lcom/oracle/js/parser/ir/Statement;
    MethodParameters:
              Name  Flags
      functionNode  final

  private com.oracle.js.parser.ParserException invalidLHSError(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression lhs
         0: .line 5401
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2020:()Z
            ifeq 1
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.oracle.js.parser.JSErrorType.ReferenceError:Lcom/oracle/js/parser/JSErrorType;
      StackMap locals:
      StackMap stack: com.oracle.js.parser.JSErrorType
         2: astore 2 /* errorType */
        start local 2 // com.oracle.js.parser.JSErrorType errorType
         3: .line 5402
            aload 0 /* this */
            aload 2 /* errorType */
            ldc "invalid.lvalue"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Lcom/oracle/js/parser/JSErrorType;Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            areturn
        end local 2 // com.oracle.js.parser.JSErrorType errorType
        end local 1 // com.oracle.js.parser.ir.Expression lhs
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/oracle/js/parser/Parser;
            0    4     1        lhs  Lcom/oracle/js/parser/ir/Expression;
            3    4     2  errorType  Lcom/oracle/js/parser/JSErrorType;
    MethodParameters:
      Name  Flags
      lhs   final

  private com.oracle.js.parser.ir.Expression unaryExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 5430
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 3 /* unaryLine */
        start local 3 // int unaryLine
         1: .line 5431
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* unaryToken */
        start local 4 // long unaryToken
         2: .line 5433
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 9
                    6: 8
                   21: 8
                   22: 13
                   25: 8
                   26: 13
                   58: 8
                   74: 3
                  109: 8
                  111: 8
              default: 17
          }
         3: .line 5435
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 5436
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* expr */
        start local 6 // com.oracle.js.parser.ir.Expression expr
         5: .line 5438
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EXP:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         6: .line 5439
            aload 0 /* this */
            ldc "unexpected.token"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
         7: .line 5442
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            iload 3 /* unaryLine */
            lload 4 /* unaryToken */
            aload 6 /* expr */
            invokevirtual com.oracle.js.parser.Parser.verifyDeleteExpression:(IJLcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 6 // com.oracle.js.parser.ir.Expression expr
         8: .line 5450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         9: .line 5451
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* expr */
        start local 6 // com.oracle.js.parser.ir.Expression expr
        10: .line 5453
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EXP:Lcom/oracle/js/parser/TokenType;
            if_acmpne 12
        11: .line 5454
            aload 0 /* this */
            ldc "unexpected.token"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getNameOrType:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        12: .line 5457
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 4 /* unaryToken */
            aload 6 /* expr */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 6 // com.oracle.js.parser.ir.Expression expr
        13: .line 5461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 7 /* opType */
        start local 7 // com.oracle.js.parser.TokenType opType
        14: .line 5462
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        15: .line 5464
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* lhs */
        start local 8 // com.oracle.js.parser.ir.Expression lhs
        16: .line 5466
            aload 0 /* this */
            lload 4 /* unaryToken */
            aload 7 /* opType */
            aload 8 /* lhs */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.verifyIncDecExpression:(JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 8 // com.oracle.js.parser.ir.Expression lhs
        end local 7 // com.oracle.js.parser.TokenType opType
        17: .line 5469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAwait:()Z
            ifeq 19
            iload 2 /* await */
            ifeq 19
        18: .line 5470
            aload 0 /* this */
            iload 1 /* yield */
            invokevirtual com.oracle.js.parser.Parser.awaitExpression:(Z)Lcom/oracle/js/parser/ir/Expression;
            areturn
        19: .line 5475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.leftHandSideExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* expression */
        start local 6 // com.oracle.js.parser.ir.Expression expression
        20: .line 5477
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.last:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 27
        21: .line 5478
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            tableswitch { // 22 - 26
                   22: 22
                   23: 27
                   24: 27
                   25: 27
                   26: 22
              default: 27
          }
        22: .line 5481
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 7 /* opToken */
        start local 7 // long opToken
        23: .line 5482
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 9 /* opType */
        start local 9 // com.oracle.js.parser.TokenType opType
        24: .line 5483
            aload 6 /* expression */
            astore 10 /* lhs */
        start local 10 // com.oracle.js.parser.ir.Expression lhs
        25: .line 5484
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        26: .line 5486
            aload 0 /* this */
            lload 7 /* opToken */
            aload 9 /* opType */
            aload 10 /* lhs */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.verifyIncDecExpression:(JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 10 // com.oracle.js.parser.ir.Expression lhs
        end local 9 // com.oracle.js.parser.TokenType opType
        end local 7 // long opToken
        27: .line 5492
      StackMap locals:
      StackMap stack:
            aload 6 /* expression */
            areturn
        end local 6 // com.oracle.js.parser.ir.Expression expression
        end local 4 // long unaryToken
        end local 3 // int unaryLine
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lcom/oracle/js/parser/Parser;
            0   28     1       yield  Z
            0   28     2       await  Z
            1   28     3   unaryLine  I
            2   28     4  unaryToken  J
            5    8     6        expr  Lcom/oracle/js/parser/ir/Expression;
           10   13     6        expr  Lcom/oracle/js/parser/ir/Expression;
           14   17     7      opType  Lcom/oracle/js/parser/TokenType;
           16   17     8         lhs  Lcom/oracle/js/parser/ir/Expression;
           20   28     6  expression  Lcom/oracle/js/parser/ir/Expression;
           23   27     7     opToken  J
           24   27     9      opType  Lcom/oracle/js/parser/TokenType;
           25   27    10         lhs  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression verifyDeleteExpression(int, long, com.oracle.js.parser.ir.Expression);
    descriptor: (IJLcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int unaryLine
        start local 2 // long unaryToken
        start local 4 // com.oracle.js.parser.ir.Expression expr
         0: .line 5496
            aload 4 /* expr */
            instanceof com.oracle.js.parser.ir.BaseNode
            ifne 1
            aload 4 /* expr */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 9
         1: .line 5497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isStrictMode:Z
            ifeq 8
         2: .line 5498
            aload 4 /* expr */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 6
         3: .line 5499
            aload 4 /* expr */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 5 /* ident */
        start local 5 // com.oracle.js.parser.ir.IdentNode ident
         4: .line 5500
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isThis:()Z
            ifne 8
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
            ifne 8
         5: .line 5501
            aload 0 /* this */
            ldc "strict.cant.delete.ident"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* unaryToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 5 // com.oracle.js.parser.ir.IdentNode ident
         6: .line 5503
      StackMap locals:
      StackMap stack:
            aload 4 /* expr */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifeq 8
            aload 4 /* expr */
            checkcast com.oracle.js.parser.ir.AccessNode
            invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
            ifeq 8
         7: .line 5504
            aload 0 /* this */
            ldc "strict.cant.delete.private"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 2 /* unaryToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         8: .line 5507
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 2 /* unaryToken */
            aload 4 /* expr */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            areturn
         9: .line 5509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 1 /* unaryLine */
            lload 2 /* unaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* expr */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        10: .line 5510
            lload 2 /* unaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            iconst_1
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JIZ)Lcom/oracle/js/parser/ir/LiteralNode;
            areturn
        end local 4 // com.oracle.js.parser.ir.Expression expr
        end local 2 // long unaryToken
        end local 1 // int unaryLine
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/js/parser/Parser;
            0   11     1   unaryLine  I
            0   11     2  unaryToken  J
            0   11     4        expr  Lcom/oracle/js/parser/ir/Expression;
            4    6     5       ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
            Name  Flags
      unaryLine   final
      unaryToken  final
      expr        final

  private com.oracle.js.parser.ir.Expression verifyIncDecExpression(long, com.oracle.js.parser.TokenType, com.oracle.js.parser.ir.Expression, boolean);
    descriptor: (JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long unaryToken
        start local 3 // com.oracle.js.parser.TokenType opType
        start local 4 // com.oracle.js.parser.ir.Expression lhs
        start local 5 // boolean isPostfix
         0: .line 5514
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 4 /* lhs */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5516
      StackMap locals:
      StackMap stack:
            aload 4 /* lhs */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 11
         2: .line 5517
            aload 4 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 6 /* ident */
        start local 6 // com.oracle.js.parser.ir.IdentNode ident
         3: .line 5518
            aload 6 /* ident */
            invokestatic com.oracle.js.parser.Parser.checkIdentLValue:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 4
            aload 6 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
            ifeq 5
         4: .line 5519
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.invalidLHSError:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
            athrow
         5: .line 5521
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 6
            aload 3 /* opType */
            getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 6
            aload 3 /* opType */
            getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 5522
      StackMap locals:
      StackMap stack:
            aload 3 /* opType */
            getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
            ldc "operand for ++ operator"
            goto 8
      StackMap locals:
      StackMap stack:
         7: ldc "operand for -- operator"
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 7 /* contextString */
        start local 7 // java.lang.String contextString
         9: .line 5523
            aload 0 /* this */
            aload 4 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            aload 7 /* contextString */
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
        end local 7 // java.lang.String contextString
        end local 6 // com.oracle.js.parser.ir.IdentNode ident
        10: .line 5524
            goto 14
      StackMap locals:
      StackMap stack:
        11: aload 4 /* lhs */
            instanceof com.oracle.js.parser.ir.AccessNode
            ifne 12
            aload 4 /* lhs */
            instanceof com.oracle.js.parser.ir.IndexNode
            ifeq 13
      StackMap locals:
      StackMap stack:
        12: aload 4 /* lhs */
            checkcast com.oracle.js.parser.ir.BaseNode
            invokevirtual com.oracle.js.parser.ir.BaseNode.isOptional:()Z
            ifeq 14
        13: .line 5525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.invalidLHSError:(Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ParserException;
            athrow
        14: .line 5528
      StackMap locals:
      StackMap stack:
            lload 1 /* unaryToken */
            aload 3 /* opType */
            aload 4 /* lhs */
            iload 5 /* isPostfix */
            invokestatic com.oracle.js.parser.Parser.incDecExpression:(JLcom/oracle/js/parser/TokenType;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/UnaryNode;
            areturn
        end local 5 // boolean isPostfix
        end local 4 // com.oracle.js.parser.ir.Expression lhs
        end local 3 // com.oracle.js.parser.TokenType opType
        end local 1 // long unaryToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/oracle/js/parser/Parser;
            0   15     1     unaryToken  J
            0   15     3         opType  Lcom/oracle/js/parser/TokenType;
            0   15     4            lhs  Lcom/oracle/js/parser/ir/Expression;
            0   15     5      isPostfix  Z
            3   10     6          ident  Lcom/oracle/js/parser/ir/IdentNode;
            9   10     7  contextString  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      unaryToken  final
      opType      final
      lhs         final
      isPostfix   final

  private com.oracle.js.parser.ir.Expression expression();
    descriptor: ()Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 5627
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.Expression expression(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 5631
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1     in  Z
            0    1     2  yield  Z
            0    1     3  await  Z
    MethodParameters:
       Name  Flags
      in     
      yield  
      await  

  private com.oracle.js.parser.ir.Expression expression(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean yield
        start local 3 // boolean await
        start local 4 // boolean inPatternPosition
         0: .line 5635
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            iload 4 /* inPatternPosition */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 5 /* assignmentExpression */
        start local 5 // com.oracle.js.parser.ir.Expression assignmentExpression
         1: .line 5636
            goto 6
         2: .line 5637
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* commaToken */
        start local 6 // long commaToken
         3: .line 5638
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 5640
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* rhs */
        start local 8 // com.oracle.js.parser.ir.Expression rhs
         5: .line 5641
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 6 /* commaToken */
            aload 5 /* assignmentExpression */
            aload 8 /* rhs */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 5 /* assignmentExpression */
        end local 8 // com.oracle.js.parser.ir.Expression rhs
        end local 6 // long commaToken
         6: .line 5636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
         7: .line 5643
            aload 5 /* assignmentExpression */
            areturn
        end local 5 // com.oracle.js.parser.ir.Expression assignmentExpression
        end local 4 // boolean inPatternPosition
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lcom/oracle/js/parser/Parser;
            0    8     1                    in  Z
            0    8     2                 yield  Z
            0    8     3                 await  Z
            0    8     4     inPatternPosition  Z
            1    8     5  assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
            3    6     6            commaToken  J
            5    6     8                   rhs  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
                   Name  Flags
      in                 
      yield              
      await              
      inPatternPosition  

  private com.oracle.js.parser.ir.Expression parenthesizedExpressionAndArrowParameterList(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 5647
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* primaryToken */
        start local 3 // long primaryToken
         1: .line 5648
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5649
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 5651
            getstatic com.oracle.js.parser.Parser.ES6_ARROW_FUNCTION:Z
            ifeq 7
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         4: .line 5653
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
         5: .line 5654
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
         6: .line 5655
            new com.oracle.js.parser.ir.ExpressionList
            dup
            lload 3 /* primaryToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.ExpressionList.<init>:(JILjava/util/List;)V
            areturn
         7: .line 5658
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* assignmentExpression */
        start local 5 // com.oracle.js.parser.ir.Expression assignmentExpression
         8: .line 5659
            iconst_0
            istore 6 /* hasCoverInitializedName */
        start local 6 // boolean hasCoverInitializedName
         9: .line 5660
            lconst_0
            lstore 7 /* commaToken */
        start local 7 // long commaToken
        10: .line 5662
      StackMap locals: com.oracle.js.parser.ir.Expression int long
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_ARROW_FUNCTION:Z
            ifeq 12
            getstatic com.oracle.js.parser.Parser.ES6_REST_PARAMETER:Z
            ifeq 12
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 12
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 12
        11: .line 5666
            aload 0 /* this */
            aload 5 /* assignmentExpression */
            lload 7 /* commaToken */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.arrowFunctionRestParameter:(Lcom/oracle/js/parser/ir/Expression;JZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        12: .line 5667
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_ARROW_FUNCTION:Z
            ifeq 14
            getstatic com.oracle.js.parser.Parser.ES8_TRAILING_COMMA:Z
            ifeq 14
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 14
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 14
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsArrow:()Z
            ifeq 14
        13: .line 5669
            goto 28
        14: .line 5672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* rhs */
        start local 9 // com.oracle.js.parser.ir.Expression rhs
        15: .line 5673
            iload 6 /* hasCoverInitializedName */
            ifne 16
            aload 9 /* rhs */
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 16
            iconst_0
            goto 17
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: istore 6 /* hasCoverInitializedName */
        18: .line 5675
            aload 5 /* assignmentExpression */
            ifnonnull 21
        19: .line 5676
            aload 9 /* rhs */
            astore 5 /* assignmentExpression */
        20: .line 5677
            goto 23
        21: .line 5678
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 22
            lload 7 /* commaToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 5679
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 7 /* commaToken */
            aload 5 /* assignmentExpression */
            aload 9 /* rhs */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 5 /* assignmentExpression */
        23: .line 5682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 25
        24: .line 5683
            goto 28
        25: .line 5685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 7 /* commaToken */
        26: .line 5686
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        end local 9 // com.oracle.js.parser.ir.Expression rhs
        27: .line 5661
            goto 10
        28: .line 5689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsArrow:()Z
            istore 9 /* arrowAhead */
        start local 9 // boolean arrowAhead
        29: .line 5690
            iload 6 /* hasCoverInitializedName */
            ifeq 31
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 30
            iload 9 /* arrowAhead */
            ifne 31
        30: .line 5691
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.property.initializer"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        31: .line 5694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        32: .line 5696
            iload 9 /* arrowAhead */
            ifne 34
        33: .line 5698
            aload 5 /* assignmentExpression */
            lload 3 /* primaryToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokevirtual com.oracle.js.parser.ir.Expression.makeParenthesized:(II)V
        34: .line 5701
      StackMap locals:
      StackMap stack:
            aload 5 /* assignmentExpression */
            areturn
        end local 9 // boolean arrowAhead
        end local 7 // long commaToken
        end local 6 // boolean hasCoverInitializedName
        end local 5 // com.oracle.js.parser.ir.Expression assignmentExpression
        end local 3 // long primaryToken
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   35     0                     this  Lcom/oracle/js/parser/Parser;
            0   35     1                    yield  Z
            0   35     2                    await  Z
            1   35     3             primaryToken  J
            8   35     5     assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
            9   35     6  hasCoverInitializedName  Z
           10   35     7               commaToken  J
           15   27     9                      rhs  Lcom/oracle/js/parser/ir/Expression;
           29   35     9               arrowAhead  Z
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression arrowFunctionRestParameter(com.oracle.js.parser.ir.Expression, long, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;JZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression paramListExpr
        start local 2 // long commaToken
        start local 4 // boolean yield
        start local 5 // boolean await
         0: .line 5705
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* ellipsisToken */
        start local 6 // long ellipsisToken
         1: .line 5706
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 5707
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 5709
            aload 0 /* this */
            iload 4 /* yield */
            iload 5 /* await */
            ldc "function parameter"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifierOrPattern:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* pattern */
        start local 8 // com.oracle.js.parser.ir.Expression pattern
         4: .line 5711
            aload 8 /* pattern */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 7
         5: .line 5712
            aload 8 /* pattern */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsRestParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* restParam */
        start local 9 // com.oracle.js.parser.ir.Expression restParam
         6: .line 5713
            goto 8
        end local 9 // com.oracle.js.parser.ir.Expression restParam
         7: .line 5714
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 6 /* ellipsisToken */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 8 /* pattern */
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            astore 9 /* restParam */
        start local 9 // com.oracle.js.parser.ir.Expression restParam
         8: .line 5718
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
         9: .line 5719
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nextOrEOL:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 5720
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectDontAdvance:(Lcom/oracle/js/parser/TokenType;)V
        11: .line 5722
            aload 1 /* paramListExpr */
            ifnonnull 13
        12: .line 5723
            aload 9 /* restParam */
            areturn
        13: .line 5725
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 14
            lload 2 /* commaToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 5726
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 2 /* commaToken */
            aload 1 /* paramListExpr */
            aload 9 /* restParam */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 9 // com.oracle.js.parser.ir.Expression restParam
        end local 8 // com.oracle.js.parser.ir.Expression pattern
        end local 6 // long ellipsisToken
        end local 5 // boolean await
        end local 4 // boolean yield
        end local 2 // long commaToken
        end local 1 // com.oracle.js.parser.ir.Expression paramListExpr
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/oracle/js/parser/Parser;
            0   15     1  paramListExpr  Lcom/oracle/js/parser/ir/Expression;
            0   15     2     commaToken  J
            0   15     4          yield  Z
            0   15     5          await  Z
            1   15     6  ellipsisToken  J
            4   15     8        pattern  Lcom/oracle/js/parser/ir/Expression;
            6    7     9      restParam  Lcom/oracle/js/parser/ir/Expression;
            8   15     9      restParam  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
               Name  Flags
      paramListExpr  
      commaToken     
      yield          final
      await          final

  private com.oracle.js.parser.ir.Expression expression(int, boolean, boolean, boolean);
    descriptor: (IZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // int minPrecedence
        start local 2 // boolean in
        start local 3 // boolean yield
        start local 4 // boolean await
         0: .line 5731
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* yield */
            iload 4 /* await */
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            iload 1 /* minPrecedence */
            iload 2 /* in */
            iload 3 /* yield */
            iload 4 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(Lcom/oracle/js/parser/ir/Expression;IZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 4 // boolean await
        end local 3 // boolean yield
        end local 2 // boolean in
        end local 1 // int minPrecedence
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/js/parser/Parser;
            0    1     1  minPrecedence  I
            0    1     2             in  Z
            0    1     3          yield  Z
            0    1     4          await  Z
    MethodParameters:
               Name  Flags
      minPrecedence  
      in             
      yield          
      await          

  private com.oracle.js.parser.ir.JoinPredecessorExpression joinPredecessorExpression();
    descriptor: ()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 5735
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.Expression expression(com.oracle.js.parser.ir.Expression, int, boolean, boolean, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;IZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=6
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression exprLhs
        start local 2 // int minPrecedence
        start local 3 // boolean in
        start local 4 // boolean yield
        start local 5 // boolean await
         0: .line 5740
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getPrecedence:()I
            istore 6 /* precedence */
        start local 6 // int precedence
         1: .line 5741
            aload 1 /* exprLhs */
            astore 7 /* lhs */
        start local 7 // com.oracle.js.parser.ir.Expression lhs
         2: .line 5744
            goto 21
         3: .line 5746
      StackMap locals: int com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 8 /* op */
        start local 8 // long op
         4: .line 5748
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
         5: .line 5750
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         6: .line 5754
            aload 0 /* this */
            iconst_1
            iload 4 /* yield */
            iload 5 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 10 /* trueExpr */
        start local 10 // com.oracle.js.parser.ir.Expression trueExpr
         7: .line 5756
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         8: .line 5759
            aload 0 /* this */
            iload 3 /* in */
            iload 4 /* yield */
            iload 5 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* falseExpr */
        start local 11 // com.oracle.js.parser.ir.Expression falseExpr
         9: .line 5762
            new com.oracle.js.parser.ir.TernaryNode
            dup
            lload 8 /* op */
            aload 7 /* lhs */
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 10 /* trueExpr */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            new com.oracle.js.parser.ir.JoinPredecessorExpression
            dup
            aload 11 /* falseExpr */
            invokespecial com.oracle.js.parser.ir.JoinPredecessorExpression.<init>:(Lcom/oracle/js/parser/ir/Expression;)V
            invokespecial com.oracle.js.parser.ir.TernaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
            astore 7 /* lhs */
        end local 11 // com.oracle.js.parser.ir.Expression falseExpr
        end local 10 // com.oracle.js.parser.ir.Expression trueExpr
        10: .line 5763
            goto 20
        11: .line 5765
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        12: .line 5767
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 13
            lload 8 /* op */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isAssignment:()Z
            ifeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 5769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* yield */
            iload 5 /* await */
            invokevirtual com.oracle.js.parser.Parser.unaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 10 /* rhs */
        start local 10 // com.oracle.js.parser.ir.Expression rhs
        14: .line 5772
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getPrecedence:()I
            istore 11 /* nextPrecedence */
        start local 11 // int nextPrecedence
        15: .line 5775
            goto 18
        16: .line 5776
      StackMap locals: com.oracle.js.parser.ir.Expression int
      StackMap stack:
            aload 0 /* this */
            aload 10 /* rhs */
            iload 11 /* nextPrecedence */
            iload 3 /* in */
            iload 4 /* yield */
            iload 5 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(Lcom/oracle/js/parser/ir/Expression;IZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 10 /* rhs */
        17: .line 5777
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getPrecedence:()I
            istore 11 /* nextPrecedence */
        18: .line 5775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            iload 3 /* in */
            invokevirtual com.oracle.js.parser.TokenType.isOperator:(Z)Z
            ifeq 19
            iload 11 /* nextPrecedence */
            iload 6 /* precedence */
            if_icmpgt 16
            iload 11 /* nextPrecedence */
            iload 6 /* precedence */
            if_icmpne 19
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isLeftAssociative:()Z
            ifeq 16
        19: .line 5779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 8 /* op */
            aload 7 /* lhs */
            aload 10 /* rhs */
            invokevirtual com.oracle.js.parser.Parser.newBinaryExpression:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/Expression;
            astore 7 /* lhs */
        end local 11 // int nextPrecedence
        end local 10 // com.oracle.js.parser.ir.Expression rhs
        20: .line 5782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getPrecedence:()I
            istore 6 /* precedence */
        end local 8 // long op
        21: .line 5744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            iload 3 /* in */
            invokevirtual com.oracle.js.parser.TokenType.isOperator:(Z)Z
            ifeq 22
            iload 6 /* precedence */
            iload 2 /* minPrecedence */
            if_icmpge 3
        22: .line 5785
      StackMap locals:
      StackMap stack:
            aload 7 /* lhs */
            areturn
        end local 7 // com.oracle.js.parser.ir.Expression lhs
        end local 6 // int precedence
        end local 5 // boolean await
        end local 4 // boolean yield
        end local 3 // boolean in
        end local 2 // int minPrecedence
        end local 1 // com.oracle.js.parser.ir.Expression exprLhs
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lcom/oracle/js/parser/Parser;
            0   23     1         exprLhs  Lcom/oracle/js/parser/ir/Expression;
            0   23     2   minPrecedence  I
            0   23     3              in  Z
            0   23     4           yield  Z
            0   23     5           await  Z
            1   23     6      precedence  I
            2   23     7             lhs  Lcom/oracle/js/parser/ir/Expression;
            4   21     8              op  J
            7   10    10        trueExpr  Lcom/oracle/js/parser/ir/Expression;
            9   10    11       falseExpr  Lcom/oracle/js/parser/ir/Expression;
           14   20    10             rhs  Lcom/oracle/js/parser/ir/Expression;
           15   20    11  nextPrecedence  I
    MethodParameters:
               Name  Flags
      exprLhs        
      minPrecedence  
      in             
      yield          
      await          

  private com.oracle.js.parser.ir.Expression assignmentExpression(boolean);
    descriptor: (Z)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
         0: .line 5789
            aload 0 /* this */
            iload 1 /* in */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inGeneratorFunction:()Z
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.inAsyncFunction:()Z
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;
            0    1     1    in  Z
    MethodParameters:
      Name  Flags
      in    

  private com.oracle.js.parser.ir.Expression assignmentExpression(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 5793
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1     in  Z
            0    1     2  yield  Z
            0    1     3  await  Z
    MethodParameters:
       Name  Flags
      in     
      yield  
      await  

  private com.oracle.js.parser.ir.Expression assignmentExpression(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean yield
        start local 3 // boolean await
        start local 4 // boolean inPatternPosition
         0: .line 5805
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
            iload 2 /* yield */
            ifeq 2
         1: .line 5806
            aload 0 /* this */
            iload 1 /* in */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.yieldExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
         2: .line 5809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 3
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncArrowParameterListStart:()Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* asyncArrow */
        start local 5 // boolean asyncArrow
         5: .line 5817
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* startToken */
        start local 6 // long startToken
         6: .line 5818
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 8 /* startLine */
        start local 8 // int startLine
         7: .line 5819
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.conditionalExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* exprLhs */
        start local 9 // com.oracle.js.parser.ir.Expression exprLhs
         8: .line 5821
            iload 5 /* asyncArrow */
            ifeq 10
            aload 9 /* exprLhs */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 10
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 10
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsArrow:()Z
            ifeq 10
         9: .line 5823
            aload 0 /* this */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.primaryExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 9 /* exprLhs */
        10: .line 5826
      StackMap locals: com.oracle.js.parser.Parser int int int int int long int com.oracle.js.parser.ir.Expression
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES6_ARROW_FUNCTION:Z
            ifeq 13
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpne 13
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES6:()Z
            ifeq 13
        11: .line 5828
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.checkNoLineTerminator:()Z
            ifeq 13
        12: .line 5829
            aload 0 /* this */
            lload 6 /* startToken */
            iload 8 /* startLine */
            aload 9 /* exprLhs */
            iload 5 /* asyncArrow */
            invokevirtual com.oracle.js.parser.Parser.arrowFunction:(JILcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            areturn
        13: .line 5832
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 14
            aload 9 /* exprLhs */
            instanceof com.oracle.js.parser.ir.ExpressionList
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 5834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.isAssignment:()Z
            ifeq 31
        15: .line 5835
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 10 /* isAssign */
        start local 10 // boolean isAssign
        18: .line 5836
            iload 10 /* isAssign */
            ifeq 20
        19: .line 5837
            aload 0 /* this */
            aload 9 /* exprLhs */
            invokevirtual com.oracle.js.parser.Parser.pushDefaultName:(Lcom/oracle/js/parser/ir/Expression;)V
        20: .line 5840
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 11 /* assignToken */
        start local 11 // long assignToken
        21: .line 5841
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        22: .line 5842
            aload 0 /* this */
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 13 /* exprRhs */
        start local 13 // com.oracle.js.parser.ir.Expression exprRhs
        23: .line 5843
            aload 0 /* this */
            lload 11 /* assignToken */
            aload 9 /* exprLhs */
            aload 13 /* exprRhs */
            iload 4 /* inPatternPosition */
            invokevirtual com.oracle.js.parser.Parser.verifyAssignment:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
            astore 15
        24: .line 5845
            iload 10 /* isAssign */
            ifeq 26
        25: .line 5846
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        26: .line 5843
      StackMap locals: com.oracle.js.parser.Parser int int int int int long int com.oracle.js.parser.ir.Expression int long com.oracle.js.parser.ir.Expression top com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 15
            areturn
        end local 13 // com.oracle.js.parser.ir.Expression exprRhs
        end local 11 // long assignToken
        27: .line 5844
      StackMap locals: com.oracle.js.parser.Parser int int int int int long int com.oracle.js.parser.ir.Expression int
      StackMap stack: java.lang.Throwable
            astore 14
        28: .line 5845
            iload 10 /* isAssign */
            ifeq 30
        29: .line 5846
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.popDefaultName:()Ljava/lang/Object;
            pop
        30: .line 5848
      StackMap locals: com.oracle.js.parser.Parser int int int int int long int com.oracle.js.parser.ir.Expression int top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        end local 10 // boolean isAssign
        31: .line 5850
      StackMap locals: com.oracle.js.parser.Parser int int int int int long int com.oracle.js.parser.ir.Expression
      StackMap stack:
            iload 4 /* inPatternPosition */
            ifne 33
            aload 9 /* exprLhs */
            invokestatic com.oracle.js.parser.Parser.hasCoverInitializedName:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 33
        32: .line 5851
            aload 0 /* this */
            ldc "invalid.property.initializer"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        33: .line 5853
      StackMap locals:
      StackMap stack:
            aload 9 /* exprLhs */
            areturn
        end local 9 // com.oracle.js.parser.ir.Expression exprLhs
        end local 8 // int startLine
        end local 6 // long startToken
        end local 5 // boolean asyncArrow
        end local 4 // boolean inPatternPosition
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   34     0               this  Lcom/oracle/js/parser/Parser;
            0   34     1                 in  Z
            0   34     2              yield  Z
            0   34     3              await  Z
            0   34     4  inPatternPosition  Z
            5   34     5         asyncArrow  Z
            6   34     6         startToken  J
            7   34     8          startLine  I
            8   34     9            exprLhs  Lcom/oracle/js/parser/ir/Expression;
           18   31    10           isAssign  Z
           21   27    11        assignToken  J
           23   27    13            exprRhs  Lcom/oracle/js/parser/ir/Expression;
      Exception table:
        from    to  target  type
          20    24      27  any
    MethodParameters:
                   Name  Flags
      in                 
      yield              
      await              
      inPatternPosition  

  private com.oracle.js.parser.ir.Expression conditionalExpression(boolean, boolean, boolean);
    descriptor: (ZZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean in
        start local 2 // boolean yield
        start local 3 // boolean await
         0: .line 5861
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getPrecedence:()I
            iload 1 /* in */
            iload 2 /* yield */
            iload 3 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(IZZZ)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 3 // boolean await
        end local 2 // boolean yield
        end local 1 // boolean in
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/js/parser/Parser;
            0    1     1     in  Z
            0    1     2  yield  Z
            0    1     3  await  Z
    MethodParameters:
       Name  Flags
      in     
      yield  
      await  

  private com.oracle.js.parser.ir.Expression arrowFunction(long, int, com.oracle.js.parser.ir.Expression, boolean);
    descriptor: (JILcom/oracle/js/parser/ir/Expression;Z)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // long startToken
        start local 3 // int functionLine
        start local 4 // com.oracle.js.parser.ir.Expression paramListExpr
        start local 5 // boolean async
         0: .line 5873
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.checkNoLineTerminator:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         2: .line 5876
            lload 1 /* startToken */
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 6 /* functionToken */
        start local 6 // long functionToken
         3: .line 5877
            aconst_null
            astore 8 /* name */
        start local 8 // com.oracle.js.parser.ir.IdentNode name
         4: .line 5878
            aload 0 /* this */
            aload 8 /* name */
            lload 6 /* functionToken */
            ldc 65536
            iload 3 /* functionLine */
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JII)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 9 /* functionNode */
        start local 9 // com.oracle.js.parser.ParserContextFunctionNode functionNode
         5: .line 5879
            aload 9 /* functionNode */
            ldc ":=>"
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
         6: .line 5880
            aload 9 /* functionNode */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         7: .line 5881
            iload 5 /* async */
            ifeq 9
         8: .line 5882
            aload 9 /* functionNode */
            ldc 33554432
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         9: .line 5885
      StackMap locals: long com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        10: .line 5887
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 10 /* parameterBlock */
        start local 10 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        11: .line 5888
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 10 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        12: .line 5891
            aload 0 /* this */
            aload 4 /* paramListExpr */
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.convertArrowFunctionParameterList:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        13: .line 5892
            aload 0 /* this */
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.functionBody:(Lcom/oracle/js/parser/ParserContextFunctionNode;)Lcom/oracle/js/parser/ir/Block;
            astore 11 /* functionBody */
        start local 11 // com.oracle.js.parser.ir.Block functionBody
        14: .line 5893
            goto 18
        end local 11 // com.oracle.js.parser.ir.Block functionBody
      StackMap locals: com.oracle.js.parser.Parser long int com.oracle.js.parser.ir.Expression int long com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        15: astore 12
        16: .line 5894
            aload 0 /* this */
            aload 10 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        17: .line 5895
            aload 12
            athrow
        start local 11 // com.oracle.js.parser.ir.Block functionBody
        18: .line 5894
      StackMap locals: com.oracle.js.parser.ir.Block
      StackMap stack:
            aload 0 /* this */
            aload 10 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        19: .line 5897
            aload 0 /* this */
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.Parser.verifyParameterList:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        20: .line 5899
            aload 10 /* parameterBlock */
            ifnull 23
        21: .line 5900
            aload 0 /* this */
            aload 10 /* parameterBlock */
            invokevirtual com.oracle.js.parser.Parser.markEvalInArrowParameterList:(Lcom/oracle/js/parser/ParserContextBlockNode;)V
        22: .line 5901
            aload 10 /* parameterBlock */
            aload 11 /* functionBody */
            invokestatic com.oracle.js.parser.Parser.wrapParameterBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/Block;
            astore 11 /* functionBody */
        23: .line 5904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        24: .line 5905
            aload 9 /* functionNode */
        25: .line 5906
            lload 6 /* functionToken */
        26: .line 5907
            aload 8 /* name */
        27: .line 5908
            iload 3 /* functionLine */
        28: .line 5909
            aload 11 /* functionBody */
        29: .line 5904
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 12 /* function */
        start local 12 // com.oracle.js.parser.ir.FunctionNode function
        30: .line 5910
            aload 12 /* function */
            astore 14
        31: .line 5912
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        32: .line 5910
            aload 14
            areturn
        end local 12 // com.oracle.js.parser.ir.FunctionNode function
        end local 11 // com.oracle.js.parser.ir.Block functionBody
        end local 10 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        33: .line 5911
      StackMap locals: com.oracle.js.parser.Parser long int com.oracle.js.parser.ir.Expression int long com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack: java.lang.Throwable
            astore 13
        34: .line 5912
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 9 /* functionNode */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        35: .line 5913
            aload 13
            athrow
        end local 9 // com.oracle.js.parser.ParserContextFunctionNode functionNode
        end local 8 // com.oracle.js.parser.ir.IdentNode name
        end local 6 // long functionToken
        end local 5 // boolean async
        end local 4 // com.oracle.js.parser.ir.Expression paramListExpr
        end local 3 // int functionLine
        end local 1 // long startToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Lcom/oracle/js/parser/Parser;
            0   36     1      startToken  J
            0   36     3    functionLine  I
            0   36     4   paramListExpr  Lcom/oracle/js/parser/ir/Expression;
            0   36     5           async  Z
            3   36     6   functionToken  J
            4   36     8            name  Lcom/oracle/js/parser/ir/IdentNode;
            5   36     9    functionNode  Lcom/oracle/js/parser/ParserContextFunctionNode;
           11   33    10  parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
           14   15    11    functionBody  Lcom/oracle/js/parser/ir/Block;
           18   33    11    functionBody  Lcom/oracle/js/parser/ir/Block;
           30   33    12        function  Lcom/oracle/js/parser/ir/FunctionNode;
      Exception table:
        from    to  target  type
          12    15      15  any
          10    31      33  any
    MethodParameters:
               Name  Flags
      startToken     final
      functionLine   final
      paramListExpr  final
      async          

  private void markEvalInArrowParameterList(com.oracle.js.parser.ParserContextBlockNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextBlockNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
         0: .line 5917
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 5918
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 3 /* current */
        start local 3 // com.oracle.js.parser.ParserContextFunctionNode current
         2: .line 5919
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 4 /* parent */
        start local 4 // com.oracle.js.parser.ParserContextFunctionNode parent
         3: .line 5920
            aload 4 /* parent */
            ldc 134217760
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            istore 5 /* flagsToPropagate */
        start local 5 // int flagsToPropagate
         4: .line 5921
            iload 5 /* flagsToPropagate */
            ifeq 9
         5: .line 5924
            aload 1 /* parameterBlock */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextBlockNode java.util.Iterator com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextFunctionNode int top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            astore 6 /* st */
        start local 6 // com.oracle.js.parser.ir.Statement st
         7: .line 5925
            aload 6 /* st */
            new com.oracle.js.parser.Parser$7
            dup
            aload 0 /* this */
            new com.oracle.js.parser.ir.LexicalContext
            dup
            invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
            aload 3 /* current */
            iload 5 /* flagsToPropagate */
            invokespecial com.oracle.js.parser.Parser$7.<init>:(Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ParserContextFunctionNode;I)V
            invokevirtual com.oracle.js.parser.ir.Statement.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        end local 6 // com.oracle.js.parser.ir.Statement st
         8: .line 5924
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 5937
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextBlockNode java.util.Iterator com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextFunctionNode int
      StackMap stack:
            return
        end local 5 // int flagsToPropagate
        end local 4 // com.oracle.js.parser.ParserContextFunctionNode parent
        end local 3 // com.oracle.js.parser.ParserContextFunctionNode current
        end local 2 // java.util.Iterator iter
        end local 1 // com.oracle.js.parser.ParserContextBlockNode parameterBlock
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lcom/oracle/js/parser/Parser;
            0   10     1    parameterBlock  Lcom/oracle/js/parser/ParserContextBlockNode;
            1   10     2              iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
            2   10     3           current  Lcom/oracle/js/parser/ParserContextFunctionNode;
            3   10     4            parent  Lcom/oracle/js/parser/ParserContextFunctionNode;
            4   10     5  flagsToPropagate  I
            7    8     6                st  Lcom/oracle/js/parser/ir/Statement;
    MethodParameters:
                Name  Flags
      parameterBlock  

  private static com.oracle.js.parser.ir.Expression convertExpressionListToExpression(com.oracle.js.parser.ir.ExpressionList);
    descriptor: (Lcom/oracle/js/parser/ir/ExpressionList;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // com.oracle.js.parser.ir.ExpressionList exprList
         0: .line 5940
            aload 0 /* exprList */
            invokevirtual com.oracle.js.parser.ir.ExpressionList.getExpressions:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 5941
            aconst_null
            areturn
         2: .line 5942
      StackMap locals:
      StackMap stack:
            aload 0 /* exprList */
            invokevirtual com.oracle.js.parser.ir.ExpressionList.getExpressions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 4
         3: .line 5943
            aload 0 /* exprList */
            invokevirtual com.oracle.js.parser.ir.ExpressionList.getExpressions:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Expression
            areturn
         4: .line 5945
      StackMap locals:
      StackMap stack:
            aload 0 /* exprList */
            invokevirtual com.oracle.js.parser.ir.ExpressionList.getToken:()J
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            lstore 1 /* recastToken */
        start local 1 // long recastToken
         5: .line 5946
            aconst_null
            astore 3 /* result */
        start local 3 // com.oracle.js.parser.ir.Expression result
         6: .line 5947
            aload 0 /* exprList */
            invokevirtual com.oracle.js.parser.ir.ExpressionList.getExpressions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: com.oracle.js.parser.ir.ExpressionList long com.oracle.js.parser.ir.Expression top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Expression
            astore 4 /* expression */
        start local 4 // com.oracle.js.parser.ir.Expression expression
         8: .line 5948
            aload 3 /* result */
            ifnonnull 9
            aload 4 /* expression */
            goto 10
      StackMap locals: com.oracle.js.parser.ir.ExpressionList long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression java.util.Iterator
      StackMap stack:
         9: new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 1 /* recastToken */
            aload 3 /* result */
            aload 4 /* expression */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.Expression
        10: astore 3 /* result */
        end local 4 // com.oracle.js.parser.ir.Expression expression
        11: .line 5947
      StackMap locals: com.oracle.js.parser.ir.ExpressionList long com.oracle.js.parser.ir.Expression top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 5950
            aload 3 /* result */
            areturn
        end local 3 // com.oracle.js.parser.ir.Expression result
        end local 1 // long recastToken
        end local 0 // com.oracle.js.parser.ir.ExpressionList exprList
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0     exprList  Lcom/oracle/js/parser/ir/ExpressionList;
            5   13     1  recastToken  J
            6   13     3       result  Lcom/oracle/js/parser/ir/Expression;
            8   11     4   expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
          Name  Flags
      exprList  

  private void verifyContainsNeitherYieldNorAwaitExpression(com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression expression
         0: .line 5955
            aload 1 /* expression */
            new com.oracle.js.parser.Parser$8
            dup
            aload 0 /* this */
            new com.oracle.js.parser.ir.LexicalContext
            dup
            invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
            invokespecial com.oracle.js.parser.Parser$8.<init>:(Lcom/oracle/js/parser/Parser;Lcom/oracle/js/parser/ir/LexicalContext;)V
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         1: .line 5968
            return
        end local 1 // com.oracle.js.parser.ir.Expression expression
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/js/parser/Parser;
            0    2     1  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
            Name  Flags
      expression  

  private void convertArrowFunctionParameterList(com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression paramList
        start local 2 // com.oracle.js.parser.ParserContextFunctionNode function
         0: .line 5971
            aload 1 /* paramList */
            astore 3 /* paramListExpr */
        start local 3 // com.oracle.js.parser.ir.Expression paramListExpr
         1: .line 5972
            aload 3 /* paramListExpr */
            instanceof com.oracle.js.parser.ir.ExpressionList
            ifeq 3
         2: .line 5974
            aload 3 /* paramListExpr */
            checkcast com.oracle.js.parser.ir.ExpressionList
            invokestatic com.oracle.js.parser.Parser.convertExpressionListToExpression:(Lcom/oracle/js/parser/ir/ExpressionList;)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* paramListExpr */
         3: .line 5976
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 3 /* paramListExpr */
            ifnonnull 5
         4: .line 5978
            return
         5: .line 5980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* paramListExpr */
            invokevirtual com.oracle.js.parser.Parser.verifyContainsNeitherYieldNorAwaitExpression:(Lcom/oracle/js/parser/ir/Expression;)V
         6: .line 5981
            aload 2 /* function */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getLineNumber:()I
            istore 4 /* functionLine */
        start local 4 // int functionLine
         7: .line 5982
            aload 3 /* paramListExpr */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifne 8
            aload 3 /* paramListExpr */
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifne 8
            aload 0 /* this */
            aload 3 /* paramListExpr */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifne 8
            aload 3 /* paramListExpr */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 10
         8: .line 5983
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* paramListExpr */
            iconst_0
            iload 4 /* functionLine */
            aload 2 /* function */
            invokevirtual com.oracle.js.parser.Parser.convertArrowParameter:(Lcom/oracle/js/parser/ir/Expression;IILcom/oracle/js/parser/ParserContextFunctionNode;)V
         9: .line 5984
            goto 29
      StackMap locals:
      StackMap stack:
        10: aload 3 /* paramListExpr */
            instanceof com.oracle.js.parser.ir.BinaryNode
            ifeq 28
            aload 3 /* paramListExpr */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 28
        11: .line 5985
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* params */
        start local 5 // java.util.ArrayList params
        12: .line 5986
            aload 3 /* paramListExpr */
            astore 6 /* car */
        start local 6 // com.oracle.js.parser.ir.Expression car
        13: .line 5988
      StackMap locals: java.util.ArrayList com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 6 /* car */
            checkcast com.oracle.js.parser.ir.BinaryNode
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
            astore 7 /* cdr */
        start local 7 // com.oracle.js.parser.ir.Expression cdr
        14: .line 5989
            aload 5 /* params */
            aload 7 /* cdr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 5990
            aload 6 /* car */
            checkcast com.oracle.js.parser.ir.BinaryNode
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
            astore 6 /* car */
        end local 7 // com.oracle.js.parser.ir.Expression cdr
        16: .line 5991
            aload 6 /* car */
            instanceof com.oracle.js.parser.ir.BinaryNode
            ifeq 17
            aload 6 /* car */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 13
        17: .line 5992
      StackMap locals:
      StackMap stack:
            aload 5 /* params */
            aload 6 /* car */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 5994
            aload 5 /* params */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        19: iconst_0
            istore 8 /* pos */
        start local 8 // int pos
        20: goto 26
        21: .line 5995
      StackMap locals: int int
      StackMap stack:
            aload 5 /* params */
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Expression
            astore 9 /* param */
        start local 9 // com.oracle.js.parser.ir.Expression param
        22: .line 5996
            iload 7 /* i */
            ifeq 24
            aload 9 /* param */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 24
        23: .line 5997
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        24: .line 5999
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aload 9 /* param */
            iload 8 /* pos */
            iload 4 /* functionLine */
            aload 2 /* function */
            invokevirtual com.oracle.js.parser.Parser.convertArrowParameter:(Lcom/oracle/js/parser/ir/Expression;IILcom/oracle/js/parser/ParserContextFunctionNode;)V
        end local 9 // com.oracle.js.parser.ir.Expression param
        25: .line 5994
            iinc 7 /* i */ -1
            iinc 8 /* pos */ 1
      StackMap locals:
      StackMap stack:
        26: iload 7 /* i */
            ifge 21
        end local 8 // int pos
        end local 7 // int i
        end local 6 // com.oracle.js.parser.ir.Expression car
        end local 5 // java.util.ArrayList params
        27: .line 6002
            goto 29
        28: .line 6003
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.Expression com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.Expression int
      StackMap stack:
            aload 0 /* this */
            ldc "expected.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* paramListExpr */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        29: .line 6005
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int functionLine
        end local 3 // com.oracle.js.parser.ir.Expression paramListExpr
        end local 2 // com.oracle.js.parser.ParserContextFunctionNode function
        end local 1 // com.oracle.js.parser.ir.Expression paramList
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lcom/oracle/js/parser/Parser;
            0   30     1      paramList  Lcom/oracle/js/parser/ir/Expression;
            0   30     2       function  Lcom/oracle/js/parser/ParserContextFunctionNode;
            1   30     3  paramListExpr  Lcom/oracle/js/parser/ir/Expression;
            7   30     4   functionLine  I
           12   27     5         params  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
           13   27     6            car  Lcom/oracle/js/parser/ir/Expression;
           14   16     7            cdr  Lcom/oracle/js/parser/ir/Expression;
           19   27     7              i  I
           20   27     8            pos  I
           22   25     9          param  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
           Name  Flags
      paramList  
      function   

  private void convertArrowParameter(com.oracle.js.parser.ir.Expression, int, int, com.oracle.js.parser.ParserContextFunctionNode);
    descriptor: (Lcom/oracle/js/parser/ir/Expression;IILcom/oracle/js/parser/ParserContextFunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=5
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Expression param
        start local 2 // int index
        start local 3 // int paramLine
        start local 4 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         0: .line 6008
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            iload 2 /* index */
            aload 4 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterCount:()I
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6009
      StackMap locals:
      StackMap stack:
            aload 1 /* param */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 8
         2: .line 6010
            aload 1 /* param */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 5 /* ident */
        start local 5 // com.oracle.js.parser.ir.IdentNode ident
         3: .line 6011
            aload 0 /* this */
            aload 5 /* ident */
            ldc "function parameter"
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
         4: .line 6012
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isParenthesized:()Z
            ifne 5
            aload 4 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isAsync:()Z
            ifeq 6
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 6013
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         6: .line 6015
      StackMap locals:
      StackMap stack:
            aload 4 /* currentFunction */
            aload 5 /* ident */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameter:(Lcom/oracle/js/parser/ir/IdentNode;)V
         7: .line 6016
            return
        end local 5 // com.oracle.js.parser.ir.IdentNode ident
         8: .line 6019
      StackMap locals:
      StackMap stack:
            aload 1 /* param */
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 28
         9: .line 6020
            aload 1 /* param */
            checkcast com.oracle.js.parser.ir.BinaryNode
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
            astore 5 /* lhs */
        start local 5 // com.oracle.js.parser.ir.Expression lhs
        10: .line 6021
            aload 5 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            lstore 6 /* paramToken */
        start local 6 // long paramToken
        11: .line 6022
            aload 1 /* param */
            checkcast com.oracle.js.parser.ir.BinaryNode
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* initializer */
        start local 8 // com.oracle.js.parser.ir.Expression initializer
        12: .line 6023
            aload 8 /* initializer */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 15
        13: .line 6024
            aload 8 /* initializer */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 6025
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        15: .line 6028
      StackMap locals: com.oracle.js.parser.ir.Expression long com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentNonArrowFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            ldc 32768
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 17
        16: .line 6031
            aload 4 /* currentFunction */
            ldc 32768
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        17: .line 6033
      StackMap locals:
      StackMap stack:
            aload 5 /* lhs */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 23
            aload 5 /* lhs */
            invokevirtual com.oracle.js.parser.ir.Expression.isParenthesized:()Z
            ifne 23
        18: .line 6035
            aload 5 /* lhs */
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 9 /* ident */
        start local 9 // com.oracle.js.parser.ir.IdentNode ident
        19: .line 6037
            aload 8 /* initializer */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 21
        20: .line 6038
            aload 0 /* this */
            aload 8 /* initializer */
            aload 9 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 8 /* initializer */
        21: .line 6041
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            lload 6 /* paramToken */
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            iload 3 /* paramLine */
            aload 9 /* ident */
            aload 8 /* initializer */
            aload 4 /* currentFunction */
            invokestatic com.oracle.js.parser.Parser.addDefaultParameter:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        22: .line 6042
            return
        end local 9 // com.oracle.js.parser.ir.IdentNode ident
        23: .line 6043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* lhs */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 27
        24: .line 6045
            aload 0 /* this */
            aload 5 /* lhs */
            lload 6 /* paramToken */
            iload 3 /* paramLine */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringParameterBindingPattern:(Lcom/oracle/js/parser/ir/Expression;JI)V
        25: .line 6047
            aload 0 /* this */
            lload 6 /* paramToken */
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            iload 3 /* paramLine */
            aload 5 /* lhs */
            aload 8 /* initializer */
            aload 4 /* currentFunction */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.addDestructuringParameter:(JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
        26: .line 6048
            goto 45
        27: .line 6049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 6 /* paramToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 8 // com.oracle.js.parser.ir.Expression initializer
        end local 6 // long paramToken
        end local 5 // com.oracle.js.parser.ir.Expression lhs
        28: .line 6051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 33
        29: .line 6053
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            lstore 5 /* paramToken */
        start local 5 // long paramToken
        30: .line 6055
            aload 0 /* this */
            aload 1 /* param */
            lload 5 /* paramToken */
            iload 3 /* paramLine */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringParameterBindingPattern:(Lcom/oracle/js/parser/ir/Expression;JI)V
        31: .line 6057
            aload 0 /* this */
            lload 5 /* paramToken */
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            iload 3 /* paramLine */
            aload 1 /* param */
            aconst_null
            aload 4 /* currentFunction */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.addDestructuringParameter:(JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
        end local 5 // long paramToken
        32: .line 6058
            goto 45
      StackMap locals:
      StackMap stack:
        33: aload 1 /* param */
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
            ifeq 44
        34: .line 6060
            aload 1 /* param */
            checkcast com.oracle.js.parser.ir.UnaryNode
            invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 5 /* restParam */
        start local 5 // com.oracle.js.parser.ir.Expression restParam
        35: .line 6061
            aload 5 /* restParam */
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 39
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.identAtTheEndOfArrowParamList:()Z
            ifeq 39
        36: .line 6062
            aload 5 /* restParam */
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsRestParameter:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 6 /* ident */
        start local 6 // com.oracle.js.parser.ir.IdentNode ident
        37: .line 6063
            aload 0 /* this */
            aload 6 /* ident */
            iload 2 /* index */
            iload 3 /* paramLine */
            aload 4 /* currentFunction */
            invokevirtual com.oracle.js.parser.Parser.convertArrowParameter:(Lcom/oracle/js/parser/ir/Expression;IILcom/oracle/js/parser/ParserContextFunctionNode;)V
        end local 6 // com.oracle.js.parser.ir.IdentNode ident
        38: .line 6064
            goto 45
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
        39: aload 0 /* this */
            aload 5 /* restParam */
            invokevirtual com.oracle.js.parser.Parser.isDestructuringLhs:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 43
        40: .line 6065
            aload 0 /* this */
            aload 5 /* restParam */
            aload 5 /* restParam */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            iload 3 /* paramLine */
            invokevirtual com.oracle.js.parser.Parser.verifyDestructuringParameterBindingPattern:(Lcom/oracle/js/parser/ir/Expression;JI)V
        41: .line 6066
            aload 0 /* this */
            aload 5 /* restParam */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            aload 5 /* restParam */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            iload 3 /* paramLine */
            aload 5 /* restParam */
            aconst_null
            aload 4 /* currentFunction */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.addDestructuringParameter:(JIILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ParserContextFunctionNode;Z)V
        42: .line 6067
            goto 45
        43: .line 6068
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 5 // com.oracle.js.parser.ir.Expression restParam
        44: .line 6071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.arrow.parameter"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        45: .line 6073
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 3 // int paramLine
        end local 2 // int index
        end local 1 // com.oracle.js.parser.ir.Expression param
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lcom/oracle/js/parser/Parser;
            0   46     1            param  Lcom/oracle/js/parser/ir/Expression;
            0   46     2            index  I
            0   46     3        paramLine  I
            0   46     4  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
            3    8     5            ident  Lcom/oracle/js/parser/ir/IdentNode;
           10   28     5              lhs  Lcom/oracle/js/parser/ir/Expression;
           11   28     6       paramToken  J
           12   28     8      initializer  Lcom/oracle/js/parser/ir/Expression;
           19   23     9            ident  Lcom/oracle/js/parser/ir/IdentNode;
           30   32     5       paramToken  J
           35   44     5        restParam  Lcom/oracle/js/parser/ir/Expression;
           37   38     6            ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
                 Name  Flags
      param            
      index            
      paramLine        
      currentFunction  

  private boolean identAtTheEndOfArrowParamList();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6078
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            isub
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 6079
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            iload 1 /* idx */
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6081
      StackMap locals: int
      StackMap stack:
            iinc 1 /* idx */ -1
         3: .line 6082
            aload 0 /* this */
            iload 1 /* idx */
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         4: .line 6083
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 6
         5: .line 6084
            goto 2
         6: .line 6085
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 8
         7: .line 6086
            goto 9
         8: .line 6088
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.TokenType t
         9: .line 6092
      StackMap locals:
      StackMap stack:
            iinc 1 /* idx */ -1
        10: .line 6093
            aload 0 /* this */
            iload 1 /* idx */
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
        11: .line 6094
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 13
        12: .line 6095
            goto 9
        13: .line 6096
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 15
        14: .line 6097
            goto 16
        15: .line 6099
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.TokenType t
        16: .line 6102
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int idx
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/oracle/js/parser/Parser;
            1   17     1   idx  I
            4    9     2     t  Lcom/oracle/js/parser/TokenType;
           11   16     2     t  Lcom/oracle/js/parser/TokenType;

  private boolean checkNoLineTerminator();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6106
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.last:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 3
         2: .line 6108
            iconst_1
            ireturn
         3: .line 6109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.last:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 5
         4: .line 6110
            iconst_1
            ireturn
         5: .line 6112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         6: goto 15
         7: .line 6113
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         8: .line 6114
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                    3: 10
                    4: 11
                   16: 9
                  126: 9
              default: 12
          }
         9: .line 6117
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            iconst_1
            ireturn
        10: .line 6119
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 6121
      StackMap locals:
      StackMap stack:
            goto 14
        12: .line 6123
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifne 13
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.isFutureStrict:()Z
            ifne 13
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_1
            ireturn
        end local 2 // com.oracle.js.parser.TokenType t
        14: .line 6112
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 1 /* i */
            ifge 7
        end local 1 // int i
        16: .line 6126
            iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/oracle/js/parser/Parser;
            6   16     1     i  I
            8   14     2     t  Lcom/oracle/js/parser/TokenType;

  private boolean lookaheadIsArrow();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6131
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         1: .line 6133
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 1 /* i */
            iinc 1 /* i */ 1
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         2: .line 6134
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            if_acmpne 4
         3: .line 6135
            goto 7
         4: .line 6136
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 6
         5: .line 6137
            goto 1
         6: .line 6139
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.TokenType t
         7: .line 6142
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int i
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/js/parser/Parser;
            1    8     1     i  I
            2    7     2     t  Lcom/oracle/js/parser/TokenType;

  private void endOfLine();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6149
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 6
                    2: 3
                    3: 1
                   16: 3
                   32: 1
                   49: 3
                   57: 3
              default: 4
          }
         1: .line 6152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         2: .line 6153
            goto 6
         3: .line 6158
      StackMap locals:
      StackMap stack:
            goto 6
         4: .line 6160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.last:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 6
         5: .line 6161
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         6: .line 6165
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/js/parser/Parser;

  private com.oracle.js.parser.ir.Expression templateLiteral(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 6171
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* noSubstitutionTemplate */
        start local 3 // boolean noSubstitutionTemplate
         4: .line 6173
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* lastLiteralToken */
        start local 4 // long lastLiteralToken
         5: .line 6174
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            getfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
            istore 6 /* previousPauseOnRightBrace */
        start local 6 // boolean previousPauseOnRightBrace
         6: .line 6176
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iconst_1
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
         7: .line 6177
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getLiteral:()Lcom/oracle/js/parser/ir/LiteralNode;
            astore 7 /* literal */
        start local 7 // com.oracle.js.parser.ir.LiteralNode literal
         8: .line 6178
            iload 3 /* noSubstitutionTemplate */
            ifeq 12
         9: .line 6179
            aload 7 /* literal */
            astore 12
        10: .line 6195
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iload 6 /* previousPauseOnRightBrace */
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        11: .line 6179
            aload 12
            areturn
        12: .line 6182
      StackMap locals: com.oracle.js.parser.Parser int int int long int com.oracle.js.parser.ir.LiteralNode
      StackMap stack:
            aload 7 /* literal */
            astore 8 /* concat */
        start local 8 // com.oracle.js.parser.ir.Expression concat
        13: .line 6185
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.templateLiteralExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 10 /* expression */
        start local 10 // com.oracle.js.parser.ir.Expression expression
        14: .line 6186
            new com.oracle.js.parser.ir.RuntimeNode
            dup
            aload 10 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            getstatic com.oracle.js.parser.TokenType.VOID:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 10 /* expression */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            getstatic com.oracle.js.parser.ir.RuntimeNode$Request.TO_STRING:Lcom/oracle/js/parser/ir/RuntimeNode$Request;
            iconst_1
            anewarray com.oracle.js.parser.ir.Expression
            dup
            iconst_0
            aload 10 /* expression */
            aastore
            invokespecial com.oracle.js.parser.ir.RuntimeNode.<init>:(JILcom/oracle/js/parser/ir/RuntimeNode$Request;[Lcom/oracle/js/parser/ir/Expression;)V
            astore 10 /* expression */
        15: .line 6187
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 4 /* lastLiteralToken */
            getstatic com.oracle.js.parser.TokenType.ADD:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 8 /* concat */
            aload 10 /* expression */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 8 /* concat */
        16: .line 6188
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 9 /* lastLiteralType */
        start local 9 // com.oracle.js.parser.TokenType lastLiteralType
        17: .line 6189
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 4 /* lastLiteralToken */
        18: .line 6190
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getLiteral:()Lcom/oracle/js/parser/ir/LiteralNode;
            astore 7 /* literal */
        19: .line 6191
            new com.oracle.js.parser.ir.BinaryNode
            dup
            lload 4 /* lastLiteralToken */
            getstatic com.oracle.js.parser.TokenType.ADD:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 8 /* concat */
            aload 7 /* literal */
            invokespecial com.oracle.js.parser.ir.BinaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;)V
            astore 8 /* concat */
        end local 10 // com.oracle.js.parser.ir.Expression expression
        20: .line 6192
            aload 9 /* lastLiteralType */
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 13
        21: .line 6193
            aload 8 /* concat */
            astore 12
        22: .line 6195
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iload 6 /* previousPauseOnRightBrace */
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        23: .line 6193
            aload 12
            areturn
        end local 9 // com.oracle.js.parser.TokenType lastLiteralType
        end local 8 // com.oracle.js.parser.ir.Expression concat
        end local 7 // com.oracle.js.parser.ir.LiteralNode literal
        24: .line 6194
      StackMap locals: com.oracle.js.parser.Parser int int int long int
      StackMap stack: java.lang.Throwable
            astore 11
        25: .line 6195
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iload 6 /* previousPauseOnRightBrace */
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        26: .line 6196
            aload 11
            athrow
        end local 6 // boolean previousPauseOnRightBrace
        end local 4 // long lastLiteralToken
        end local 3 // boolean noSubstitutionTemplate
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   27     0                       this  Lcom/oracle/js/parser/Parser;
            0   27     1                      yield  Z
            0   27     2                      await  Z
            4   27     3     noSubstitutionTemplate  Z
            5   27     4           lastLiteralToken  J
            6   27     6  previousPauseOnRightBrace  Z
            8   24     7                    literal  Lcom/oracle/js/parser/ir/LiteralNode<*>;
           13   24     8                     concat  Lcom/oracle/js/parser/ir/Expression;
           17   24     9            lastLiteralType  Lcom/oracle/js/parser/TokenType;
           14   20    10                 expression  Lcom/oracle/js/parser/ir/Expression;
      Exception table:
        from    to  target  type
           6    10      24  any
          12    22      24  any
    MethodParameters:
       Name  Flags
      yield  
      await  

  private com.oracle.js.parser.ir.Expression templateLiteralExpression(boolean, boolean);
    descriptor: (ZZ)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 6203
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            getfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.expression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* expression */
        start local 3 // com.oracle.js.parser.ir.Expression expression
         2: .line 6205
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
         3: .line 6206
            aload 0 /* this */
            ldc "unterminated.template.expression"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 6208
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            invokevirtual com.oracle.js.parser.Lexer.scanTemplateSpan:()V
         5: .line 6209
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         6: .line 6210
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 7
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_TAIL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 6211
      StackMap locals:
      StackMap stack:
            aload 3 /* expression */
            areturn
        end local 3 // com.oracle.js.parser.ir.Expression expression
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/js/parser/Parser;
            0    8     1       yield  Z
            0    8     2       await  Z
            2    8     3  expression  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private java.util.List<com.oracle.js.parser.ir.Expression> templateLiteralArgumentList(boolean, boolean);
    descriptor: (ZZ)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=15, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean yield
        start local 2 // boolean await
         0: .line 6220
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6221
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* argumentList */
        start local 3 // java.util.ArrayList argumentList
         2: .line 6222
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* rawStrings */
        start local 4 // java.util.ArrayList rawStrings
         3: .line 6223
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* cookedStrings */
        start local 5 // java.util.ArrayList cookedStrings
         4: .line 6224
            aload 3 /* argumentList */
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 6226
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* templateToken */
        start local 6 // long templateToken
         6: .line 6227
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals: com.oracle.js.parser.Parser int int java.util.ArrayList java.util.ArrayList java.util.ArrayList long
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* hasSubstitutions */
        start local 8 // boolean hasSubstitutions
         9: .line 6228
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            getfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
            istore 9 /* previousPauseOnRightBrace */
        start local 9 // boolean previousPauseOnRightBrace
        10: .line 6230
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iconst_1
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        11: .line 6231
            aload 0 /* this */
            aload 4 /* rawStrings */
            aload 5 /* cookedStrings */
            invokevirtual com.oracle.js.parser.Parser.addTemplateLiteralString:(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
        12: .line 6233
            iload 8 /* hasSubstitutions */
            ifeq 18
        13: .line 6236
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* yield */
            iload 2 /* await */
            invokevirtual com.oracle.js.parser.Parser.templateLiteralExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 11 /* expression */
        start local 11 // com.oracle.js.parser.ir.Expression expression
        14: .line 6237
            aload 3 /* argumentList */
            aload 11 /* expression */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 6239
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 10 /* lastLiteralType */
        start local 10 // com.oracle.js.parser.TokenType lastLiteralType
        16: .line 6240
            aload 0 /* this */
            aload 4 /* rawStrings */
            aload 5 /* cookedStrings */
            invokevirtual com.oracle.js.parser.Parser.addTemplateLiteralString:(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
        end local 11 // com.oracle.js.parser.ir.Expression expression
        17: .line 6241
            aload 10 /* lastLiteralType */
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 13
        end local 10 // com.oracle.js.parser.TokenType lastLiteralType
        18: .line 6244
      StackMap locals:
      StackMap stack:
            lload 6 /* templateToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* rawStrings */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JILjava/util/List;)Lcom/oracle/js/parser/ir/LiteralNode;
            astore 10 /* rawStringArray */
        start local 10 // com.oracle.js.parser.ir.LiteralNode rawStringArray
        19: .line 6245
            lload 6 /* templateToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* cookedStrings */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JILjava/util/List;)Lcom/oracle/js/parser/ir/LiteralNode;
            astore 11 /* cookedStringArray */
        start local 11 // com.oracle.js.parser.ir.LiteralNode cookedStringArray
        20: .line 6246
            new com.oracle.js.parser.ir.RuntimeNode
            dup
            lload 6 /* templateToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            getstatic com.oracle.js.parser.ir.RuntimeNode$Request.GET_TEMPLATE_OBJECT:Lcom/oracle/js/parser/ir/RuntimeNode$Request;
            iconst_2
            anewarray com.oracle.js.parser.ir.Expression
            dup
            iconst_0
            aload 10 /* rawStringArray */
            aastore
            dup
            iconst_1
            aload 11 /* cookedStringArray */
            aastore
            invokespecial com.oracle.js.parser.ir.RuntimeNode.<init>:(JILcom/oracle/js/parser/ir/RuntimeNode$Request;[Lcom/oracle/js/parser/ir/Expression;)V
            astore 12 /* templateObject */
        start local 12 // com.oracle.js.parser.ir.RuntimeNode templateObject
        21: .line 6247
            aload 3 /* argumentList */
            iconst_0
            aload 12 /* templateObject */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 6248
            aload 3 /* argumentList */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            astore 14
        23: .line 6250
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iload 9 /* previousPauseOnRightBrace */
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        24: .line 6248
            aload 14
            areturn
        end local 12 // com.oracle.js.parser.ir.RuntimeNode templateObject
        end local 11 // com.oracle.js.parser.ir.LiteralNode cookedStringArray
        end local 10 // com.oracle.js.parser.ir.LiteralNode rawStringArray
        25: .line 6249
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        26: .line 6250
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            iload 9 /* previousPauseOnRightBrace */
            putfield com.oracle.js.parser.Lexer.pauseOnRightBrace:Z
        27: .line 6251
            aload 13
            athrow
        end local 9 // boolean previousPauseOnRightBrace
        end local 8 // boolean hasSubstitutions
        end local 6 // long templateToken
        end local 5 // java.util.ArrayList cookedStrings
        end local 4 // java.util.ArrayList rawStrings
        end local 3 // java.util.ArrayList argumentList
        end local 2 // boolean await
        end local 1 // boolean yield
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   28     0                       this  Lcom/oracle/js/parser/Parser;
            0   28     1                      yield  Z
            0   28     2                      await  Z
            2   28     3               argumentList  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            3   28     4                 rawStrings  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            4   28     5              cookedStrings  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            6   28     6              templateToken  J
            9   28     8           hasSubstitutions  Z
           10   28     9  previousPauseOnRightBrace  Z
           16   18    10            lastLiteralType  Lcom/oracle/js/parser/TokenType;
           14   17    11                 expression  Lcom/oracle/js/parser/ir/Expression;
           19   25    10             rawStringArray  Lcom/oracle/js/parser/ir/LiteralNode<[Lcom/oracle/js/parser/ir/Expression;>;
           20   25    11          cookedStringArray  Lcom/oracle/js/parser/ir/LiteralNode<[Lcom/oracle/js/parser/ir/Expression;>;
           21   25    12             templateObject  Lcom/oracle/js/parser/ir/RuntimeNode;
      Exception table:
        from    to  target  type
          10    23      25  any
    Signature: (ZZ)Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
    MethodParameters:
       Name  Flags
      yield  
      await  

  private void addTemplateLiteralString(java.util.ArrayList<com.oracle.js.parser.ir.Expression>, java.util.ArrayList<com.oracle.js.parser.ir.Expression>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.util.ArrayList rawStrings
        start local 2 // java.util.ArrayList cookedStrings
         0: .line 6255
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 3 /* stringToken */
        start local 3 // long stringToken
         1: .line 6256
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            lload 3 /* stringToken */
            invokevirtual com.oracle.js.parser.Lexer.valueOfRawString:(J)Ljava/lang/String;
            astore 5 /* rawString */
        start local 5 // java.lang.String rawString
         2: .line 6257
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lexer:Lcom/oracle/js/parser/Lexer;
            lload 3 /* stringToken */
            invokevirtual com.oracle.js.parser.Lexer.valueOfTaggedTemplateString:(J)Ljava/lang/String;
            astore 6 /* cookedString */
        start local 6 // java.lang.String cookedString
         3: .line 6258
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 6260
            aload 6 /* cookedString */
            ifnonnull 7
         5: .line 6262
            lload 3 /* stringToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic com.oracle.js.parser.Parser.newUndefinedLiteral:(JI)Lcom/oracle/js/parser/ir/UnaryNode;
            astore 7 /* cookedExpression */
        start local 7 // com.oracle.js.parser.ir.Expression cookedExpression
         6: .line 6263
            goto 8
        end local 7 // com.oracle.js.parser.ir.Expression cookedExpression
         7: .line 6264
      StackMap locals: long java.lang.String java.lang.String
      StackMap stack:
            lload 3 /* stringToken */
            aload 6 /* cookedString */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JLjava/lang/String;)Lcom/oracle/js/parser/ir/LiteralNode;
            astore 7 /* cookedExpression */
        start local 7 // com.oracle.js.parser.ir.Expression cookedExpression
         8: .line 6266
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 1 /* rawStrings */
            lload 3 /* stringToken */
            aload 5 /* rawString */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JLjava/lang/String;)Lcom/oracle/js/parser/ir/LiteralNode;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 6267
            aload 2 /* cookedStrings */
            aload 7 /* cookedExpression */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 6268
            return
        end local 7 // com.oracle.js.parser.ir.Expression cookedExpression
        end local 6 // java.lang.String cookedString
        end local 5 // java.lang.String rawString
        end local 3 // long stringToken
        end local 2 // java.util.ArrayList cookedStrings
        end local 1 // java.util.ArrayList rawStrings
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lcom/oracle/js/parser/Parser;
            0   11     1        rawStrings  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            0   11     2     cookedStrings  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;
            1   11     3       stringToken  J
            2   11     5         rawString  Ljava/lang/String;
            3   11     6      cookedString  Ljava/lang/String;
            6    7     7  cookedExpression  Lcom/oracle/js/parser/ir/Expression;
            8   11     7  cookedExpression  Lcom/oracle/js/parser/ir/Expression;
    Signature: (Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/Expression;>;)V
    MethodParameters:
               Name  Flags
      rawStrings     final
      cookedStrings  final

  private com.oracle.js.parser.ir.FunctionNode module(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=14, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // java.lang.String moduleName
         0: .line 6283
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokestatic com.oracle.js.parser.Token.withDelimiter:(J)J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* functionStart */
        start local 2 // int functionStart
         1: .line 6284
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            iload 2 /* functionStart */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            iload 2 /* functionStart */
            isub
            invokestatic com.oracle.js.parser.Token.toDesc:(Lcom/oracle/js/parser/TokenType;II)J
            lstore 3 /* functionToken */
        start local 3 // long functionToken
         2: .line 6285
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 5 /* functionLine */
        start local 5 // int functionLine
         3: .line 6287
            invokestatic com.oracle.js.parser.ir.Scope.createModule:()Lcom/oracle/js/parser/ir/Scope;
            astore 6 /* moduleScope */
        start local 6 // com.oracle.js.parser.ir.Scope moduleScope
         4: .line 6288
            aconst_null
            astore 7 /* ident */
        start local 7 // com.oracle.js.parser.ir.IdentNode ident
         5: .line 6289
            aload 0 /* this */
         6: .line 6290
            aload 7 /* ident */
         7: .line 6291
            lload 3 /* functionToken */
         8: .line 6292
            ldc 131072
         9: .line 6293
            iload 5 /* functionLine */
        10: .line 6294
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_0
            aload 6 /* moduleScope */
        11: .line 6289
            invokevirtual com.oracle.js.parser.Parser.createParserContextFunctionNode:(Lcom/oracle/js/parser/ir/IdentNode;JIILjava/util/List;ILcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 8 /* script */
        start local 8 // com.oracle.js.parser.ParserContextFunctionNode script
        12: .line 6295
            aload 8 /* script */
            aload 1 /* moduleName */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setInternalName:(Ljava/lang/String;)V
        13: .line 6297
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.push:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        14: .line 6298
            new com.oracle.js.parser.ParserContextModuleNode
            dup
            aload 1 /* moduleName */
            aload 6 /* moduleScope */
            aload 0 /* this */
            invokespecial com.oracle.js.parser.ParserContextModuleNode.<init>:(Ljava/lang/String;Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/AbstractParser;)V
            astore 9 /* module */
        start local 9 // com.oracle.js.parser.ParserContextModuleNode module
        15: .line 6299
            aload 0 /* this */
            aload 6 /* moduleScope */
            invokevirtual com.oracle.js.parser.Parser.newBlock:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ParserContextBlockNode;
            astore 10 /* body */
        start local 10 // com.oracle.js.parser.ParserContextBlockNode body
        16: .line 6300
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        17: .line 6303
            aload 0 /* this */
            aload 9 /* module */
            invokevirtual com.oracle.js.parser.Parser.moduleBody:(Lcom/oracle/js/parser/ParserContextModuleNode;)V
        18: .line 6306
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            iload 2 /* functionStart */
            iconst_0
            invokestatic com.oracle.js.parser.Token.toDesc:(Lcom/oracle/js/parser/TokenType;II)J
            lstore 11 /* yieldToken */
        start local 11 // long yieldToken
        19: .line 6307
            aload 0 /* this */
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 5 /* functionLine */
            lload 11 /* yieldToken */
            iload 5 /* functionLine */
            new com.oracle.js.parser.ir.UnaryNode
            dup
            lload 11 /* yieldToken */
            lload 11 /* yieldToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            invokestatic com.oracle.js.parser.Parser.newUndefinedLiteral:(JI)Lcom/oracle/js/parser/ir/UnaryNode;
            invokespecial com.oracle.js.parser.ir.UnaryNode.<init>:(JLcom/oracle/js/parser/ir/Expression;)V
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.Parser.prependStatement:(Lcom/oracle/js/parser/ir/Statement;)V
        20: .line 6308
            aload 8 /* script */
            ldc 16777216
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        21: .line 6310
            aload 0 /* this */
            aload 8 /* script */
            invokevirtual com.oracle.js.parser.Parser.addFunctionDeclarations:(Lcom/oracle/js/parser/ParserContextFunctionNode;)V
        end local 11 // long yieldToken
        22: .line 6311
            goto 28
      StackMap locals: com.oracle.js.parser.Parser java.lang.String int long int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ParserContextModuleNode com.oracle.js.parser.ParserContextBlockNode
      StackMap stack: java.lang.Throwable
        23: astore 13
        24: .line 6312
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        25: .line 6313
            aload 0 /* this */
            aload 10 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        26: .line 6314
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        27: .line 6315
            aload 13
            athrow
        28: .line 6312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
        29: .line 6313
            aload 0 /* this */
            aload 10 /* body */
            invokevirtual com.oracle.js.parser.Parser.restoreBlock:(Lcom/oracle/js/parser/ParserContextBlockNode;)Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
        30: .line 6314
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 8 /* script */
            invokevirtual com.oracle.js.parser.ParserContext.pop:(Lcom/oracle/js/parser/ParserContextNode;)Lcom/oracle/js/parser/ParserContextNode;
            pop
        31: .line 6317
            aload 10 /* body */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setFlag:(I)I
            pop
        32: .line 6318
            new com.oracle.js.parser.ir.Block
            dup
            lload 3 /* functionToken */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 10 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getFlags:()I
            bipush 16
            ior
            bipush 32
            ior
            sipush 512
            ior
            aload 10 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 10 /* body */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.Block.<init>:(JIILcom/oracle/js/parser/ir/Scope;Ljava/util/List;)V
            astore 11 /* programBody */
        start local 11 // com.oracle.js.parser.ir.Block programBody
        33: .line 6319
            aload 8 /* script */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setLastToken:(J)V
        34: .line 6321
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        35: .line 6323
            aload 8 /* script */
            aload 9 /* module */
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.createModule:()Lcom/oracle/js/parser/ir/Module;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setModule:(Lcom/oracle/js/parser/ir/Module;)V
        36: .line 6324
            aload 0 /* this */
            aload 8 /* script */
            lload 3 /* functionToken */
            aload 7 /* ident */
            iload 5 /* functionLine */
            aload 11 /* programBody */
            invokevirtual com.oracle.js.parser.Parser.createFunctionNode:(Lcom/oracle/js/parser/ParserContextFunctionNode;JLcom/oracle/js/parser/ir/IdentNode;ILcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 11 // com.oracle.js.parser.ir.Block programBody
        end local 10 // com.oracle.js.parser.ParserContextBlockNode body
        end local 9 // com.oracle.js.parser.ParserContextModuleNode module
        end local 8 // com.oracle.js.parser.ParserContextFunctionNode script
        end local 7 // com.oracle.js.parser.ir.IdentNode ident
        end local 6 // com.oracle.js.parser.ir.Scope moduleScope
        end local 5 // int functionLine
        end local 3 // long functionToken
        end local 2 // int functionStart
        end local 1 // java.lang.String moduleName
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lcom/oracle/js/parser/Parser;
            0   37     1     moduleName  Ljava/lang/String;
            1   37     2  functionStart  I
            2   37     3  functionToken  J
            3   37     5   functionLine  I
            4   37     6    moduleScope  Lcom/oracle/js/parser/ir/Scope;
            5   37     7          ident  Lcom/oracle/js/parser/ir/IdentNode;
           12   37     8         script  Lcom/oracle/js/parser/ParserContextFunctionNode;
           15   37     9         module  Lcom/oracle/js/parser/ParserContextModuleNode;
           16   37    10           body  Lcom/oracle/js/parser/ParserContextBlockNode;
           19   22    11     yieldToken  J
           33   37    11    programBody  Lcom/oracle/js/parser/ir/Block;
      Exception table:
        from    to  target  type
          17    23      23  any
    MethodParameters:
            Name  Flags
      moduleName  final

  private void moduleBody(com.oracle.js.parser.ParserContextModuleNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextModuleNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextModuleNode module
         0: .line 6345
            goto 9
         1: .line 6346
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 3
                    2: 2
                   78: 3
                   88: 5
              default: 8
          }
         2: .line 6348
      StackMap locals:
      StackMap stack:
            goto 10
         3: .line 6350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual com.oracle.js.parser.Parser.exportDeclaration:(Lcom/oracle/js/parser/ParserContextModuleNode;)V
         4: .line 6351
            goto 9
         5: .line 6354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isImportExpression:()Z
            ifne 8
         6: .line 6355
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual com.oracle.js.parser.Parser.importDeclaration:(Lcom/oracle/js/parser/ParserContextModuleNode;)V
         7: .line 6356
            goto 9
         8: .line 6361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.statement:(ZIZZZ)V
         9: .line 6345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
        10: .line 6365
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.js.parser.ParserContextModuleNode module
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/oracle/js/parser/Parser;
            0   11     1  module  Lcom/oracle/js/parser/ParserContextModuleNode;
    MethodParameters:
        Name  Flags
      module  

  private boolean isImportExpression();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6368
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2020:()Z
            ifne 3
         2: .line 6370
            iconst_0
            ireturn
         3: .line 6372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookahead:()Lcom/oracle/js/parser/TokenType;
            astore 1 /* la */
        start local 1 // com.oracle.js.parser.TokenType la
         4: .line 6373
            aload 1 /* la */
            getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 5
            aload 1 /* la */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 5
            iconst_0
            ireturn
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
         5: iconst_1
            ireturn
        end local 1 // com.oracle.js.parser.TokenType la
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/js/parser/Parser;
            4    6     1    la  Lcom/oracle/js/parser/TokenType;

  private void declareImportBinding(com.oracle.js.parser.ir.IdentNode, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
        start local 2 // boolean star
         0: .line 6377
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 3 /* moduleScope */
        start local 3 // com.oracle.js.parser.ir.Scope moduleScope
         1: .line 6378
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 3 /* moduleScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isModuleScope:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6379
      StackMap locals: com.oracle.js.parser.ir.Scope
      StackMap stack:
            aload 3 /* moduleScope */
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ir.Scope.hasSymbol:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 6380
            aload 0 /* this */
            ldc "syntax.error.redeclare.variable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.js.parser.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         4: .line 6382
      StackMap locals:
      StackMap stack:
            aload 3 /* moduleScope */
         5: new com.oracle.js.parser.ir.Symbol
            dup
            aload 1 /* ident */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            sipush 1026
            iload 2 /* star */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.ir.Scope new 5 new 5 java.lang.String int
         6: sipush 16384
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ir.IdentNode int com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.ir.Scope new 5 new 5 java.lang.String int int
         7: ior
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            pop
         8: .line 6383
            return
        end local 3 // com.oracle.js.parser.ir.Scope moduleScope
        end local 2 // boolean star
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/oracle/js/parser/Parser;
            0    9     1        ident  Lcom/oracle/js/parser/ir/IdentNode;
            0    9     2         star  Z
            1    9     3  moduleScope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
       Name  Flags
      ident  
      star   

  private void declareImportBinding(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 6386
            aload 0 /* this */
            aload 1 /* ident */
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.declareImportBinding:(Lcom/oracle/js/parser/ir/IdentNode;Z)V
         1: .line 6387
            return
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/Parser;
            0    2     1  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  

  private void declareImportStarBinding(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.IdentNode ident
         0: .line 6390
            aload 0 /* this */
            aload 1 /* ident */
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.declareImportBinding:(Lcom/oracle/js/parser/ir/IdentNode;Z)V
         1: .line 6391
            return
        end local 1 // com.oracle.js.parser.ir.IdentNode ident
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/Parser;
            0    2     1  ident  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  

  private void importDeclaration(com.oracle.js.parser.ParserContextModuleNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextModuleNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextModuleNode module
         0: .line 6415
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* importToken */
        start local 2 // long importToken
         1: .line 6416
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         2: .line 6417
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 3
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            if_acmpne 10
         3: .line 6419
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* moduleSpecifier */
        start local 4 // java.lang.String moduleSpecifier
         4: .line 6420
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 5 /* specifierToken */
        start local 5 // long specifierToken
         5: .line 6421
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         6: .line 6422
            lload 5 /* specifierToken */
            aload 4 /* moduleSpecifier */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JLjava/lang/String;)Lcom/oracle/js/parser/ir/LiteralNode;
            astore 7 /* specifier */
        start local 7 // com.oracle.js.parser.ir.LiteralNode specifier
         7: .line 6423
            aload 1 /* module */
            aload 4 /* moduleSpecifier */
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addModuleRequest:(Ljava/lang/String;)V
         8: .line 6424
            aload 1 /* module */
            new com.oracle.js.parser.ir.ImportNode
            dup
            lload 2 /* importToken */
            lload 2 /* importToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 7 /* specifier */
            invokespecial com.oracle.js.parser.ir.ImportNode.<init>:(JIILcom/oracle/js/parser/ir/LiteralNode;)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addImport:(Lcom/oracle/js/parser/ir/ImportNode;)V
        end local 7 // com.oracle.js.parser.ir.LiteralNode specifier
        end local 5 // long specifierToken
        end local 4 // java.lang.String moduleSpecifier
         9: .line 6425
            goto 55
        10: .line 6429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* startToken */
        start local 6 // long startToken
        11: .line 6430
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 17
        12: .line 6431
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nameSpaceImport:()Lcom/oracle/js/parser/ir/NameSpaceImportNode;
            astore 8 /* namespaceNode */
        start local 8 // com.oracle.js.parser.ir.NameSpaceImportNode namespaceNode
        13: .line 6432
            new com.oracle.js.parser.ir.ImportClauseNode
            dup
            lload 6 /* startToken */
            lload 6 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* namespaceNode */
            invokespecial com.oracle.js.parser.ir.ImportClauseNode.<init>:(JIILcom/oracle/js/parser/ir/NameSpaceImportNode;)V
            astore 5 /* importClause */
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        14: .line 6434
            aload 8 /* namespaceNode */
            invokevirtual com.oracle.js.parser.ir.NameSpaceImportNode.getBindingIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.ir.Module$ImportEntry.importStarAsNameSpaceFrom:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
        15: .line 6433
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 4 /* importEntries */
        end local 8 // com.oracle.js.parser.ir.NameSpaceImportNode namespaceNode
        start local 4 // java.util.List importEntries
        16: .line 6435
            goto 46
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top top long
      StackMap stack:
        17: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 22
        18: .line 6436
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.namedImports:()Lcom/oracle/js/parser/ir/NamedImportsNode;
            astore 8 /* namedImportsNode */
        start local 8 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
        19: .line 6437
            new com.oracle.js.parser.ir.ImportClauseNode
            dup
            lload 6 /* startToken */
            lload 6 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* namedImportsNode */
            invokespecial com.oracle.js.parser.ir.ImportClauseNode.<init>:(JIILcom/oracle/js/parser/ir/NamedImportsNode;)V
            astore 5 /* importClause */
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        20: .line 6438
            aload 8 /* namedImportsNode */
            invokestatic com.oracle.js.parser.Parser.convert:(Lcom/oracle/js/parser/ir/NamedImportsNode;)Ljava/util/List;
            astore 4 /* importEntries */
        end local 8 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
        start local 4 // java.util.List importEntries
        21: .line 6439
            goto 46
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
      StackMap locals:
      StackMap stack:
        22: aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            ifeq 45
        23: .line 6441
            aload 0 /* this */
            iconst_0
            iconst_0
            ldc "imported binding"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 8 /* importedDefaultBinding */
        start local 8 // com.oracle.js.parser.ir.IdentNode importedDefaultBinding
        24: .line 6442
            aload 0 /* this */
            aload 8 /* importedDefaultBinding */
            invokevirtual com.oracle.js.parser.Parser.declareImportBinding:(Lcom/oracle/js/parser/ir/IdentNode;)V
        25: .line 6443
            aload 8 /* importedDefaultBinding */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.ir.Module$ImportEntry.importDefault:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
            astore 9 /* defaultImport */
        start local 9 // com.oracle.js.parser.ir.Module$ImportEntry defaultImport
        26: .line 6445
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 42
        27: .line 6446
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        28: .line 6447
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpne 35
        29: .line 6448
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.nameSpaceImport:()Lcom/oracle/js/parser/ir/NameSpaceImportNode;
            astore 10 /* namespaceNode */
        start local 10 // com.oracle.js.parser.ir.NameSpaceImportNode namespaceNode
        30: .line 6449
            new com.oracle.js.parser.ir.ImportClauseNode
            dup
            lload 6 /* startToken */
            lload 6 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* importedDefaultBinding */
            aload 10 /* namespaceNode */
            invokespecial com.oracle.js.parser.ir.ImportClauseNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/NameSpaceImportNode;)V
            astore 5 /* importClause */
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        31: .line 6450
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* importEntries */
        start local 4 // java.util.List importEntries
        32: .line 6451
            aload 4 /* importEntries */
            aload 9 /* defaultImport */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 6452
            aload 4 /* importEntries */
            aload 10 /* namespaceNode */
            invokevirtual com.oracle.js.parser.ir.NameSpaceImportNode.getBindingIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.ir.Module$ImportEntry.importStarAsNameSpaceFrom:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.oracle.js.parser.ir.NameSpaceImportNode namespaceNode
        34: .line 6453
            goto 46
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
      StackMap locals: com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Module$ImportEntry
      StackMap stack:
        35: aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 41
        36: .line 6454
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.namedImports:()Lcom/oracle/js/parser/ir/NamedImportsNode;
            astore 10 /* namedImportsNode */
        start local 10 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
        37: .line 6455
            new com.oracle.js.parser.ir.ImportClauseNode
            dup
            lload 6 /* startToken */
            lload 6 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* importedDefaultBinding */
            aload 10 /* namedImportsNode */
            invokespecial com.oracle.js.parser.ir.ImportClauseNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/NamedImportsNode;)V
            astore 5 /* importClause */
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        38: .line 6456
            aload 10 /* namedImportsNode */
            invokestatic com.oracle.js.parser.Parser.convert:(Lcom/oracle/js/parser/ir/NamedImportsNode;)Ljava/util/List;
            astore 4 /* importEntries */
        start local 4 // java.util.List importEntries
        39: .line 6457
            aload 4 /* importEntries */
            iconst_0
            aload 9 /* defaultImport */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 10 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
        40: .line 6458
            goto 46
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
        41: .line 6460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.named.import"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        42: .line 6463
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.ImportClauseNode
            dup
            lload 6 /* startToken */
            lload 6 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* importedDefaultBinding */
            invokespecial com.oracle.js.parser.ir.ImportClauseNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;)V
            astore 5 /* importClause */
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        43: .line 6464
            aload 9 /* defaultImport */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 4 /* importEntries */
        end local 9 // com.oracle.js.parser.ir.Module$ImportEntry defaultImport
        end local 8 // com.oracle.js.parser.ir.IdentNode importedDefaultBinding
        start local 4 // java.util.List importEntries
        44: .line 6466
            goto 46
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
        45: .line 6468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.import"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        start local 4 // java.util.List importEntries
        start local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        46: .line 6471
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long java.util.List com.oracle.js.parser.ir.ImportClauseNode long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.fromClause:()Lcom/oracle/js/parser/ir/FromNode;
            astore 8 /* fromNode */
        start local 8 // com.oracle.js.parser.ir.FromNode fromNode
        47: .line 6472
            aload 1 /* module */
            new com.oracle.js.parser.ir.ImportNode
            dup
            lload 2 /* importToken */
            lload 2 /* importToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* importClause */
            aload 8 /* fromNode */
            invokespecial com.oracle.js.parser.ir.ImportNode.<init>:(JIILcom/oracle/js/parser/ir/ImportClauseNode;Lcom/oracle/js/parser/ir/FromNode;)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addImport:(Lcom/oracle/js/parser/ir/ImportNode;)V
        48: .line 6473
            aload 8 /* fromNode */
            invokevirtual com.oracle.js.parser.ir.FromNode.getModuleSpecifier:()Lcom/oracle/js/parser/ir/LiteralNode;
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* moduleSpecifier */
        start local 9 // java.lang.String moduleSpecifier
        49: .line 6474
            aload 1 /* module */
            aload 9 /* moduleSpecifier */
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addModuleRequest:(Ljava/lang/String;)V
        50: .line 6475
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        51: goto 54
        52: .line 6476
      StackMap locals: com.oracle.js.parser.ir.FromNode java.lang.String int
      StackMap stack:
            aload 1 /* module */
            aload 4 /* importEntries */
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ImportEntry
            aload 9 /* moduleSpecifier */
            invokevirtual com.oracle.js.parser.ir.Module$ImportEntry.withFrom:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addImportEntry:(Lcom/oracle/js/parser/ir/Module$ImportEntry;)V
        53: .line 6475
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 10 /* i */
            aload 4 /* importEntries */
            invokeinterface java.util.List.size:()I
            if_icmplt 52
        end local 10 // int i
        end local 9 // java.lang.String moduleSpecifier
        end local 8 // com.oracle.js.parser.ir.FromNode fromNode
        end local 6 // long startToken
        end local 5 // com.oracle.js.parser.ir.ImportClauseNode importClause
        end local 4 // java.util.List importEntries
        55: .line 6479
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        56: .line 6480
            return
        end local 2 // long importToken
        end local 1 // com.oracle.js.parser.ParserContextModuleNode module
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   57     0                    this  Lcom/oracle/js/parser/Parser;
            0   57     1                  module  Lcom/oracle/js/parser/ParserContextModuleNode;
            1   57     2             importToken  J
            4    9     4         moduleSpecifier  Ljava/lang/String;
            5    9     5          specifierToken  J
            7    9     7               specifier  Lcom/oracle/js/parser/ir/LiteralNode<Ljava/lang/String;>;
           16   17     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           21   22     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           32   35     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           39   41     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           44   45     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           46   55     4           importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
           14   17     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           20   22     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           31   35     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           38   41     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           43   45     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           46   55     5            importClause  Lcom/oracle/js/parser/ir/ImportClauseNode;
           11   55     6              startToken  J
           13   16     8           namespaceNode  Lcom/oracle/js/parser/ir/NameSpaceImportNode;
           19   21     8        namedImportsNode  Lcom/oracle/js/parser/ir/NamedImportsNode;
           24   44     8  importedDefaultBinding  Lcom/oracle/js/parser/ir/IdentNode;
           26   44     9           defaultImport  Lcom/oracle/js/parser/ir/Module$ImportEntry;
           30   34    10           namespaceNode  Lcom/oracle/js/parser/ir/NameSpaceImportNode;
           37   40    10        namedImportsNode  Lcom/oracle/js/parser/ir/NamedImportsNode;
           47   55     8                fromNode  Lcom/oracle/js/parser/ir/FromNode;
           49   55     9         moduleSpecifier  Ljava/lang/String;
           51   55    10                       i  I
    MethodParameters:
        Name  Flags
      module  

  private com.oracle.js.parser.ir.NameSpaceImportNode nameSpaceImport();
    descriptor: ()Lcom/oracle/js/parser/ir/NameSpaceImportNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6491
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* startToken */
        start local 1 // long startToken
         1: .line 6492
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6493
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 6495
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         4: .line 6497
            aload 0 /* this */
            iconst_0
            iconst_0
            ldc "imported binding"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 3 /* localNameSpace */
        start local 3 // com.oracle.js.parser.ir.IdentNode localNameSpace
         5: .line 6498
            aload 0 /* this */
            aload 3 /* localNameSpace */
            invokevirtual com.oracle.js.parser.Parser.declareImportStarBinding:(Lcom/oracle/js/parser/ir/IdentNode;)V
         6: .line 6499
            new com.oracle.js.parser.ir.NameSpaceImportNode
            dup
            lload 1 /* startToken */
            lload 1 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* localNameSpace */
            invokespecial com.oracle.js.parser.ir.NameSpaceImportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;)V
            areturn
        end local 3 // com.oracle.js.parser.ir.IdentNode localNameSpace
        end local 1 // long startToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/js/parser/Parser;
            1    7     1      startToken  J
            5    7     3  localNameSpace  Lcom/oracle/js/parser/ir/IdentNode;

  private com.oracle.js.parser.ir.NamedImportsNode namedImports();
    descriptor: ()Lcom/oracle/js/parser/ir/NamedImportsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6519
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* startToken */
        start local 1 // long startToken
         1: .line 6520
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6521
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 6522
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* importSpecifiers */
        start local 3 // java.util.ArrayList importSpecifiers
         4: .line 6523
            goto 23
         5: .line 6524
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isBindingIdentifier:()Z
            istore 4 /* bindingIdentifier */
        start local 4 // boolean bindingIdentifier
         6: .line 6525
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 5 /* nameToken */
        start local 5 // long nameToken
         7: .line 6526
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 7 /* importName */
        start local 7 // com.oracle.js.parser.ir.IdentNode importName
         8: .line 6527
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 14
         9: .line 6528
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        10: .line 6529
            aload 0 /* this */
            iconst_0
            iconst_0
            ldc "imported binding"
            invokevirtual com.oracle.js.parser.Parser.bindingIdentifier:(ZZLjava/lang/String;)Lcom/oracle/js/parser/ir/IdentNode;
            astore 8 /* localName */
        start local 8 // com.oracle.js.parser.ir.IdentNode localName
        11: .line 6530
            aload 3 /* importSpecifiers */
            new com.oracle.js.parser.ir.ImportSpecifierNode
            dup
            lload 5 /* nameToken */
            lload 5 /* nameToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* localName */
            aload 7 /* importName */
            invokespecial com.oracle.js.parser.ir.ImportSpecifierNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/IdentNode;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 6531
            aload 0 /* this */
            aload 8 /* localName */
            invokevirtual com.oracle.js.parser.Parser.declareImportBinding:(Lcom/oracle/js/parser/ir/IdentNode;)V
        end local 8 // com.oracle.js.parser.ir.IdentNode localName
        13: .line 6532
            goto 21
      StackMap locals: int long com.oracle.js.parser.ir.IdentNode
      StackMap stack:
        14: iload 4 /* bindingIdentifier */
            ifeq 20
        15: .line 6533
            aload 0 /* this */
            aload 7 /* importName */
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.Parser.verifyIdent:(Lcom/oracle/js/parser/ir/IdentNode;ZZ)V
        16: .line 6534
            aload 0 /* this */
            aload 7 /* importName */
            ldc "imported binding"
            invokevirtual com.oracle.js.parser.Parser.verifyStrictIdent:(Lcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;)V
        17: .line 6535
            aload 3 /* importSpecifiers */
            new com.oracle.js.parser.ir.ImportSpecifierNode
            dup
            lload 5 /* nameToken */
            lload 5 /* nameToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 7 /* importName */
            aconst_null
            invokespecial com.oracle.js.parser.ir.ImportSpecifierNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/IdentNode;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 6536
            aload 0 /* this */
            aload 7 /* importName */
            invokevirtual com.oracle.js.parser.Parser.declareImportBinding:(Lcom/oracle/js/parser/ir/IdentNode;)V
        19: .line 6537
            goto 21
        20: .line 6539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected.binding.identifier"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            lload 5 /* nameToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        21: .line 6541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 24
        22: .line 6542
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        end local 7 // com.oracle.js.parser.ir.IdentNode importName
        end local 5 // long nameToken
        end local 4 // boolean bindingIdentifier
        23: .line 6523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 5
        24: .line 6547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        25: .line 6548
            new com.oracle.js.parser.ir.NamedImportsNode
            dup
            lload 1 /* startToken */
            lload 1 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* importSpecifiers */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.NamedImportsNode.<init>:(JIILjava/util/List;)V
            areturn
        end local 3 // java.util.ArrayList importSpecifiers
        end local 1 // long startToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0               this  Lcom/oracle/js/parser/Parser;
            1   26     1         startToken  J
            4   26     3   importSpecifiers  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/ImportSpecifierNode;>;
            6   23     4  bindingIdentifier  Z
            7   23     5          nameToken  J
            8   23     7         importName  Lcom/oracle/js/parser/ir/IdentNode;
           11   13     8          localName  Lcom/oracle/js/parser/ir/IdentNode;

  private com.oracle.js.parser.ir.FromNode fromClause();
    descriptor: ()Lcom/oracle/js/parser/ir/FromNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6558
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.start:I
            istore 1 /* fromStart */
        start local 1 // int fromStart
         1: .line 6559
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* fromToken */
        start local 2 // long fromToken
         2: .line 6560
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         3: .line 6562
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 4
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            if_acmpne 9
         4: .line 6563
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* moduleSpecifier */
        start local 4 // java.lang.String moduleSpecifier
         5: .line 6564
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 5 /* specifierToken */
        start local 5 // long specifierToken
         6: .line 6565
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         7: .line 6566
            lload 5 /* specifierToken */
            aload 4 /* moduleSpecifier */
            invokestatic com.oracle.js.parser.ir.LiteralNode.newInstance:(JLjava/lang/String;)Lcom/oracle/js/parser/ir/LiteralNode;
            astore 7 /* specifier */
        start local 7 // com.oracle.js.parser.ir.LiteralNode specifier
         8: .line 6567
            new com.oracle.js.parser.ir.FromNode
            dup
            lload 2 /* fromToken */
            iload 1 /* fromStart */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 7 /* specifier */
            invokespecial com.oracle.js.parser.ir.FromNode.<init>:(JIILcom/oracle/js/parser/ir/LiteralNode;)V
            areturn
        end local 7 // com.oracle.js.parser.ir.LiteralNode specifier
        end local 5 // long specifierToken
        end local 4 // java.lang.String moduleSpecifier
         9: .line 6569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;)Ljava/lang/String;
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;)Lcom/oracle/js/parser/ParserException;
            athrow
        end local 2 // long fromToken
        end local 1 // int fromStart
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lcom/oracle/js/parser/Parser;
            1   10     1        fromStart  I
            2   10     2        fromToken  J
            5    9     4  moduleSpecifier  Ljava/lang/String;
            6    9     5   specifierToken  J
            8    9     7        specifier  Lcom/oracle/js/parser/ir/LiteralNode<Ljava/lang/String;>;

  private void exportDeclaration(com.oracle.js.parser.ParserContextModuleNode);
    descriptor: (Lcom/oracle/js/parser/ParserContextModuleNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=11, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ParserContextModuleNode module
         0: .line 6588
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 2 /* exportToken */
        start local 2 // long exportToken
         1: .line 6589
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.EXPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
         2: .line 6590
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 8
                   17: 3
                   52: 14
                   69: 78
                   70: 68
                   73: 23
                   84: 83
                   92: 68
                  110: 68
              default: 86
          }
         3: .line 6592
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         4: .line 6593
            aconst_null
            astore 4 /* exportName */
        start local 4 // com.oracle.js.parser.ir.IdentNode exportName
         5: .line 6594
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 8
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2020:()Z
            ifeq 8
         6: .line 6595
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         7: .line 6596
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 4 /* exportName */
         8: .line 6598
      StackMap locals: com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.fromClause:()Lcom/oracle/js/parser/ir/FromNode;
            astore 5 /* from */
        start local 5 // com.oracle.js.parser.ir.FromNode from
         9: .line 6599
            aload 5 /* from */
            invokevirtual com.oracle.js.parser.ir.FromNode.getModuleSpecifier:()Lcom/oracle/js/parser/ir/LiteralNode;
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* moduleRequest */
        start local 6 // java.lang.String moduleRequest
        10: .line 6600
            aload 1 /* module */
            aload 6 /* moduleRequest */
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addModuleRequest:(Ljava/lang/String;)V
        11: .line 6601
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* exportName */
            aload 5 /* from */
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/FromNode;)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        12: .line 6602
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        13: .line 6603
            goto 91
        end local 6 // java.lang.String moduleRequest
        end local 5 // com.oracle.js.parser.ir.FromNode from
        end local 4 // com.oracle.js.parser.ir.IdentNode exportName
        14: .line 6606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.namedExports:()Lcom/oracle/js/parser/ir/NamedExportsNode;
            astore 4 /* exportClause */
        start local 4 // com.oracle.js.parser.ir.NamedExportsNode exportClause
        15: .line 6607
            aconst_null
            astore 5 /* from */
        start local 5 // com.oracle.js.parser.ir.FromNode from
        16: .line 6608
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
            if_acmpne 20
        17: .line 6609
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.fromClause:()Lcom/oracle/js/parser/ir/FromNode;
            astore 5 /* from */
        18: .line 6610
            aload 5 /* from */
            invokevirtual com.oracle.js.parser.ir.FromNode.getModuleSpecifier:()Lcom/oracle/js/parser/ir/LiteralNode;
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* moduleRequest */
        start local 6 // java.lang.String moduleRequest
        19: .line 6611
            aload 1 /* module */
            aload 6 /* moduleRequest */
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addModuleRequest:(Ljava/lang/String;)V
        end local 6 // java.lang.String moduleRequest
        20: .line 6613
      StackMap locals: com.oracle.js.parser.ir.NamedExportsNode com.oracle.js.parser.ir.FromNode
      StackMap stack:
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* exportClause */
            aload 5 /* from */
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/NamedExportsNode;Lcom/oracle/js/parser/ir/FromNode;)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        21: .line 6614
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        22: .line 6615
            goto 91
        end local 5 // com.oracle.js.parser.ir.FromNode from
        end local 4 // com.oracle.js.parser.ir.NamedExportsNode exportClause
        23: .line 6618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        24: .line 6620
            aconst_null
            astore 5 /* ident */
        start local 5 // com.oracle.js.parser.ir.IdentNode ident
        25: .line 6621
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.line:I
            istore 6 /* lineNumber */
        start local 6 // int lineNumber
        26: .line 6622
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 7 /* rhsToken */
        start local 7 // long rhsToken
        27: .line 6623
            iconst_0
            istore 9 /* hoistableDeclaration */
        start local 9 // boolean hoistableDeclaration
        28: .line 6624
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                   69: 32
                   84: 29
              default: 37
          }
        29: .line 6626
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* assignmentExpression */
        start local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        30: .line 6627
            iconst_1
            istore 9 /* hoistableDeclaration */
        31: .line 6628
            goto 45
        end local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        32: .line 6630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2021:()Z
            ifeq 33
            getstatic com.oracle.js.parser.Parser.ES2021_TOP_LEVEL_AWAIT:Z
            ifeq 33
            iconst_1
            goto 34
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: com.oracle.js.parser.Parser int
        33: iconst_0
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: com.oracle.js.parser.Parser int int
        34: iconst_1
            invokevirtual com.oracle.js.parser.Parser.classDeclaration:(ZZZ)Lcom/oracle/js/parser/ir/ClassNode;
            astore 4 /* assignmentExpression */
        start local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        35: .line 6631
            aload 4 /* assignmentExpression */
            checkcast com.oracle.js.parser.ir.ClassNode
            invokevirtual com.oracle.js.parser.ir.ClassNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 5 /* ident */
        36: .line 6632
            goto 45
        end local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        37: .line 6634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 41
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncFunction:()Z
            ifeq 41
        38: .line 6635
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.asyncFunctionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* assignmentExpression */
        start local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        39: .line 6636
            iconst_1
            istore 9 /* hoistableDeclaration */
        40: .line 6637
            goto 45
        end local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        41: .line 6639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2021:()Z
            ifeq 42
            getstatic com.oracle.js.parser.Parser.ES2021_TOP_LEVEL_AWAIT:Z
            ifeq 42
            iconst_1
            goto 43
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: com.oracle.js.parser.Parser int int
        42: iconst_0
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long top com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: com.oracle.js.parser.Parser int int int
        43: invokevirtual com.oracle.js.parser.Parser.assignmentExpression:(ZZZ)Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* assignmentExpression */
        start local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        44: .line 6640
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.endOfLine:()V
        45: .line 6643
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack:
            iload 9 /* hoistableDeclaration */
            ifeq 50
        46: .line 6644
            aload 4 /* assignmentExpression */
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 10 /* functionNode */
        start local 10 // com.oracle.js.parser.ir.FunctionNode functionNode
        47: .line 6645
            aload 10 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
            ifne 50
        48: .line 6646
            aload 10 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 5 /* ident */
        49: .line 6647
            aload 10 /* functionNode */
            aconst_null
            iconst_2
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setFlag:(Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
            astore 4 /* assignmentExpression */
        end local 10 // com.oracle.js.parser.ir.FunctionNode functionNode
        50: .line 6650
      StackMap locals:
      StackMap stack:
            aload 5 /* ident */
            ifnonnull 54
        51: .line 6651
            new com.oracle.js.parser.ir.IdentNode
            dup
            lload 7 /* rhsToken */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            ldc "*default*"
            invokespecial com.oracle.js.parser.ir.IdentNode.<init>:(JILjava/lang/String;)V
            astore 5 /* ident */
        52: .line 6653
            aload 4 /* assignmentExpression */
            invokestatic com.oracle.js.parser.Parser.isAnonymousFunctionDefinition:(Lcom/oracle/js/parser/ir/Expression;)Z
            ifeq 54
        53: .line 6654
            aload 0 /* this */
            aload 4 /* assignmentExpression */
            ldc "default"
            invokevirtual com.oracle.js.parser.Parser.setAnonymousFunctionName:(Lcom/oracle/js/parser/ir/Expression;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
            astore 4 /* assignmentExpression */
        54: .line 6657
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.VarNode
            dup
            iload 6 /* lineNumber */
            lload 7 /* rhsToken */
            iload 9 /* hoistableDeclaration */
            ifeq 55
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            goto 56
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: new 54 new 54 int long
        55: getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: new 54 new 54 int long com.oracle.js.parser.TokenType
        56: invokestatic com.oracle.js.parser.Token.recast:(JLcom/oracle/js/parser/TokenType;)J
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* ident */
            aload 4 /* assignmentExpression */
        57: .line 6658
            iload 9 /* hoistableDeclaration */
            ifeq 58
            iconst_0
            goto 59
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: new 54 new 54 int long int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression
        58: iconst_1
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode int long int
      StackMap stack: new 54 new 54 int long int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
        59: bipush 8
            ior
        60: .line 6657
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 10 /* varNode */
        start local 10 // com.oracle.js.parser.ir.VarNode varNode
        61: .line 6659
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 10 /* varNode */
            invokevirtual com.oracle.js.parser.Parser.declareVar:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/VarNode;)V
        62: .line 6660
            iload 9 /* hoistableDeclaration */
            ifeq 65
        63: .line 6661
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.functionDeclarations:Ljava/util/List;
            aload 10 /* varNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        64: .line 6662
            goto 66
        65: .line 6663
      StackMap locals: com.oracle.js.parser.ir.VarNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 10 /* varNode */
            invokevirtual com.oracle.js.parser.ParserContext.appendStatementToCurrentNode:(Lcom/oracle/js/parser/ir/Statement;)V
        66: .line 6665
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 5 /* ident */
            aload 4 /* assignmentExpression */
            iconst_1
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Z)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        67: .line 6666
            goto 91
        end local 10 // com.oracle.js.parser.ir.VarNode varNode
        end local 9 // boolean hoistableDeclaration
        end local 7 // long rhsToken
        end local 6 // int lineNumber
        end local 5 // com.oracle.js.parser.ir.IdentNode ident
        end local 4 // com.oracle.js.parser.ir.Expression assignmentExpression
        68: .line 6671
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getStatements:()Ljava/util/List;
            astore 4 /* statements */
        start local 4 // java.util.List statements
        69: .line 6672
            aload 4 /* statements */
            invokeinterface java.util.List.size:()I
            istore 5 /* previousEnd */
        start local 5 // int previousEnd
        70: .line 6673
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.variableStatement:(Lcom/oracle/js/parser/TokenType;)V
        71: .line 6674
            aload 4 /* statements */
            iload 5 /* previousEnd */
            aload 4 /* statements */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 76
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long java.util.List int top java.util.Iterator
      StackMap stack:
        72: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            astore 6 /* statement */
        start local 6 // com.oracle.js.parser.ir.Statement statement
        73: .line 6675
            aload 6 /* statement */
            instanceof com.oracle.js.parser.ir.VarNode
            ifeq 76
        74: .line 6676
            aload 6 /* statement */
            checkcast com.oracle.js.parser.ir.VarNode
            astore 8 /* varNode */
        start local 8 // com.oracle.js.parser.ir.VarNode varNode
        75: .line 6677
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 8 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 8 /* varNode */
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/VarNode;)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        end local 8 // com.oracle.js.parser.ir.VarNode varNode
        end local 6 // com.oracle.js.parser.ir.Statement statement
        76: .line 6674
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 72
        77: .line 6680
            goto 91
        end local 5 // int previousEnd
        end local 4 // java.util.List statements
        78: .line 6683
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2021:()Z
            ifeq 79
            getstatic com.oracle.js.parser.Parser.ES2021_TOP_LEVEL_AWAIT:Z
            ifeq 79
            iconst_1
            goto 80
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long
      StackMap stack: com.oracle.js.parser.Parser int
        79: iconst_0
      StackMap locals: com.oracle.js.parser.Parser com.oracle.js.parser.ParserContextModuleNode long
      StackMap stack: com.oracle.js.parser.Parser int int
        80: iconst_0
            invokevirtual com.oracle.js.parser.Parser.classDeclaration:(ZZZ)Lcom/oracle/js/parser/ir/ClassNode;
            astore 4 /* classDeclaration */
        start local 4 // com.oracle.js.parser.ir.ClassNode classDeclaration
        81: .line 6684
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* classDeclaration */
            invokevirtual com.oracle.js.parser.ir.ClassNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 4 /* classDeclaration */
            iconst_0
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Z)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        82: .line 6685
            goto 91
        end local 4 // com.oracle.js.parser.ir.ClassNode classDeclaration
        83: .line 6688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.functionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 4 /* functionDeclaration */
        start local 4 // com.oracle.js.parser.ir.FunctionNode functionDeclaration
        84: .line 6689
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* functionDeclaration */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 4 /* functionDeclaration */
            iconst_0
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Z)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        85: .line 6690
            goto 91
        end local 4 // com.oracle.js.parser.ir.FunctionNode functionDeclaration
        86: .line 6693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifeq 90
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.lookaheadIsAsyncFunction:()Z
            ifeq 90
        87: .line 6694
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual com.oracle.js.parser.Parser.asyncFunctionExpression:(ZZ)Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.FunctionNode
            astore 4 /* functionDeclaration */
        start local 4 // com.oracle.js.parser.ir.FunctionNode functionDeclaration
        88: .line 6695
            aload 1 /* module */
            new com.oracle.js.parser.ir.ExportNode
            dup
            lload 2 /* exportToken */
            lload 2 /* exportToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 4 /* functionDeclaration */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 4 /* functionDeclaration */
            iconst_0
            invokespecial com.oracle.js.parser.ir.ExportNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;Z)V
            invokevirtual com.oracle.js.parser.ParserContextModuleNode.addExport:(Lcom/oracle/js/parser/ir/ExportNode;)V
        89: .line 6696
            goto 91
        end local 4 // com.oracle.js.parser.ir.FunctionNode functionDeclaration
        90: .line 6698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid.export"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        91: .line 6700
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long exportToken
        end local 1 // com.oracle.js.parser.ParserContextModuleNode module
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   92     0                  this  Lcom/oracle/js/parser/Parser;
            0   92     1                module  Lcom/oracle/js/parser/ParserContextModuleNode;
            1   92     2           exportToken  J
            5   14     4            exportName  Lcom/oracle/js/parser/ir/IdentNode;
            9   14     5                  from  Lcom/oracle/js/parser/ir/FromNode;
           10   14     6         moduleRequest  Ljava/lang/String;
           15   23     4          exportClause  Lcom/oracle/js/parser/ir/NamedExportsNode;
           16   23     5                  from  Lcom/oracle/js/parser/ir/FromNode;
           19   20     6         moduleRequest  Ljava/lang/String;
           30   32     4  assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
           35   37     4  assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
           39   41     4  assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
           44   68     4  assignmentExpression  Lcom/oracle/js/parser/ir/Expression;
           25   68     5                 ident  Lcom/oracle/js/parser/ir/IdentNode;
           26   68     6            lineNumber  I
           27   68     7              rhsToken  J
           28   68     9  hoistableDeclaration  Z
           47   50    10          functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
           61   68    10               varNode  Lcom/oracle/js/parser/ir/VarNode;
           69   78     4            statements  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
           70   78     5           previousEnd  I
           73   76     6             statement  Lcom/oracle/js/parser/ir/Statement;
           75   76     8               varNode  Lcom/oracle/js/parser/ir/VarNode;
           81   83     4      classDeclaration  Lcom/oracle/js/parser/ir/ClassNode;
           84   86     4   functionDeclaration  Lcom/oracle/js/parser/ir/FunctionNode;
           88   90     4   functionDeclaration  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
        Name  Flags
      module  

  private com.oracle.js.parser.ir.NamedExportsNode namedExports();
    descriptor: ()Lcom/oracle/js/parser/ir/NamedExportsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6721
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 1 /* startToken */
        start local 1 // long startToken
         1: .line 6722
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6723
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
         3: .line 6724
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* exports */
        start local 3 // java.util.ArrayList exports
         4: .line 6725
            lconst_0
            lstore 4 /* reservedWordToken */
        start local 4 // long reservedWordToken
         5: .line 6726
            goto 20
         6: .line 6727
      StackMap locals: java.util.ArrayList long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            lstore 6 /* nameToken */
        start local 6 // long nameToken
         7: .line 6728
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            astore 8 /* nameType */
        start local 8 // com.oracle.js.parser.TokenType nameType
         8: .line 6729
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 9 /* localName */
        start local 9 // com.oracle.js.parser.ir.IdentNode localName
         9: .line 6730
            aload 8 /* nameType */
            invokestatic com.oracle.js.parser.Parser.isReservedWord:(Lcom/oracle/js/parser/TokenType;)Z
            ifne 10
            aload 9 /* localName */
            invokestatic com.oracle.js.parser.Parser.isEscapedIdent:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 12
            aload 9 /* localName */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.Parser.isReservedWordSequence:(Ljava/lang/String;)Z
            ifne 10
            aload 9 /* localName */
            invokestatic com.oracle.js.parser.Parser.isFutureStrictName:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 12
        10: .line 6733
      StackMap locals: long com.oracle.js.parser.TokenType com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            lload 4 /* reservedWordToken */
            lconst_0
            lcmp
            ifne 12
        11: .line 6734
            lload 6 /* nameToken */
            lstore 4 /* reservedWordToken */
        12: .line 6737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            if_acmpne 17
        13: .line 6738
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        14: .line 6739
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.getIdentifierName:()Lcom/oracle/js/parser/ir/IdentNode;
            astore 10 /* exportName */
        start local 10 // com.oracle.js.parser.ir.IdentNode exportName
        15: .line 6740
            aload 3 /* exports */
            new com.oracle.js.parser.ir.ExportSpecifierNode
            dup
            lload 6 /* nameToken */
            lload 6 /* nameToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 9 /* localName */
            aload 10 /* exportName */
            invokespecial com.oracle.js.parser.ir.ExportSpecifierNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/IdentNode;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.oracle.js.parser.ir.IdentNode exportName
        16: .line 6741
            goto 18
        17: .line 6742
      StackMap locals:
      StackMap stack:
            aload 3 /* exports */
            new com.oracle.js.parser.ir.ExportSpecifierNode
            dup
            lload 6 /* nameToken */
            lload 6 /* nameToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 9 /* localName */
            aconst_null
            invokespecial com.oracle.js.parser.ir.ExportSpecifierNode.<init>:(JIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/IdentNode;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 6744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 21
        19: .line 6745
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.next:()Lcom/oracle/js/parser/TokenType;
            pop
        end local 9 // com.oracle.js.parser.ir.IdentNode localName
        end local 8 // com.oracle.js.parser.TokenType nameType
        end local 6 // long nameToken
        20: .line 6726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            if_acmpne 6
        21: .line 6750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.Parser.expect:(Lcom/oracle/js/parser/TokenType;)V
        22: .line 6752
            lload 4 /* reservedWordToken */
            lconst_0
            lcmp
            ifeq 24
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 24
        23: .line 6753
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            lload 4 /* reservedWordToken */
            invokevirtual com.oracle.js.parser.Parser.expectMessage:(Lcom/oracle/js/parser/TokenType;J)Ljava/lang/String;
            lload 4 /* reservedWordToken */
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
        24: .line 6756
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.NamedExportsNode
            dup
            lload 1 /* startToken */
            lload 1 /* startToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.finish:I
            aload 3 /* exports */
            invokestatic com.oracle.js.parser.Parser.optimizeList:(Ljava/util/ArrayList;)Ljava/util/List;
            invokespecial com.oracle.js.parser.ir.NamedExportsNode.<init>:(JIILjava/util/List;)V
            areturn
        end local 4 // long reservedWordToken
        end local 3 // java.util.ArrayList exports
        end local 1 // long startToken
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lcom/oracle/js/parser/Parser;
            1   25     1         startToken  J
            4   25     3            exports  Ljava/util/ArrayList<Lcom/oracle/js/parser/ir/ExportSpecifierNode;>;
            5   25     4  reservedWordToken  J
            7   20     6          nameToken  J
            8   20     8           nameType  Lcom/oracle/js/parser/TokenType;
            9   20     9          localName  Lcom/oracle/js/parser/ir/IdentNode;
           15   16    10         exportName  Lcom/oracle/js/parser/ir/IdentNode;

  private static boolean isReservedWord(com.oracle.js.parser.TokenType);
    descriptor: (Lcom/oracle/js/parser/TokenType;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.TokenType type
         0: .line 6760
            aload 0 /* type */
            invokevirtual com.oracle.js.parser.TokenType.getKind:()Lcom/oracle/js/parser/TokenKind;
            getstatic com.oracle.js.parser.TokenKind.KEYWORD:Lcom/oracle/js/parser/TokenKind;
            if_acmpeq 1
            aload 0 /* type */
            invokevirtual com.oracle.js.parser.TokenType.getKind:()Lcom/oracle/js/parser/TokenKind;
            getstatic com.oracle.js.parser.TokenKind.FUTURE:Lcom/oracle/js/parser/TokenKind;
            if_acmpeq 1
            aload 0 /* type */
            invokevirtual com.oracle.js.parser.TokenType.getKind:()Lcom/oracle/js/parser/TokenKind;
            getstatic com.oracle.js.parser.TokenKind.FUTURESTRICT:Lcom/oracle/js/parser/TokenKind;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.TokenType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
      Name  Flags
      type  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6765
            ldc "'JavaScript Parsing'"
            areturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/Parser;

  private void markEval();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6769
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 6770
            iconst_0
            istore 2 /* flaggedCurrentFn */
        start local 2 // boolean flaggedCurrentFn
         2: .line 6771
            iconst_0
            istore 3 /* flagArrowParentFn */
        start local 3 // boolean flagArrowParentFn
         3: .line 6772
            goto 17
         4: .line 6773
      StackMap locals: java.util.Iterator int int
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 4 /* fn */
        start local 4 // com.oracle.js.parser.ParserContextFunctionNode fn
         5: .line 6774
            iload 2 /* flaggedCurrentFn */
            ifne 11
         6: .line 6775
            iconst_1
            istore 2 /* flaggedCurrentFn */
         7: .line 6777
            aload 4 /* fn */
            bipush 32
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         8: .line 6783
            aload 4 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifeq 16
         9: .line 6784
            iconst_1
            istore 3 /* flagArrowParentFn */
        10: .line 6786
            goto 16
        11: .line 6787
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 4 /* fn */
            bipush 64
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        12: .line 6791
            iload 3 /* flagArrowParentFn */
            ifeq 16
        13: .line 6792
            aload 4 /* fn */
            ldc 134217728
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        14: .line 6793
            aload 4 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 16
        15: .line 6794
            iconst_0
            istore 3 /* flagArrowParentFn */
        16: .line 6798
      StackMap locals:
      StackMap stack:
            aload 4 /* fn */
            sipush 128
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
        end local 4 // com.oracle.js.parser.ParserContextFunctionNode fn
        17: .line 6772
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        18: .line 6800
            return
        end local 3 // boolean flagArrowParentFn
        end local 2 // boolean flaggedCurrentFn
        end local 1 // java.util.Iterator iter
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lcom/oracle/js/parser/Parser;
            1   19     1               iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
            2   19     2   flaggedCurrentFn  Z
            3   19     3  flagArrowParentFn  Z
            5   17     4                 fn  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void prependStatement(com.oracle.js.parser.ir.Statement);
    descriptor: (Lcom/oracle/js/parser/ir/Statement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Statement statement
         0: .line 6803
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 1 /* statement */
            invokevirtual com.oracle.js.parser.ParserContext.prependStatementToCurrentNode:(Lcom/oracle/js/parser/ir/Statement;)V
         1: .line 6804
            return
        end local 1 // com.oracle.js.parser.ir.Statement statement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/js/parser/Parser;
            0    2     1  statement  Lcom/oracle/js/parser/ir/Statement;
    MethodParameters:
           Name  Flags
      statement  final

  private void appendStatement(com.oracle.js.parser.ir.Statement);
    descriptor: (Lcom/oracle/js/parser/ir/Statement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // com.oracle.js.parser.ir.Statement statement
         0: .line 6807
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            aload 1 /* statement */
            invokevirtual com.oracle.js.parser.ParserContext.appendStatementToCurrentNode:(Lcom/oracle/js/parser/ir/Statement;)V
         1: .line 6808
            return
        end local 1 // com.oracle.js.parser.ir.Statement statement
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/js/parser/Parser;
            0    2     1  statement  Lcom/oracle/js/parser/ir/Statement;
    MethodParameters:
           Name  Flags
      statement  final

  private void markSuperCall();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6811
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 6812
            goto 8
         2: .line 6813
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 2 /* fn */
        start local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         3: .line 6814
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 8
         4: .line 6815
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isProgram:()Z
            ifne 9
         5: .line 6816
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 6
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isDerivedConstructor:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 6817
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 2 /* fn */
            ldc 262144
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         7: .line 6819
            goto 9
        end local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         8: .line 6812
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 6822
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Iterator iter
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/js/parser/Parser;
            1   10     1  iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
            3    8     2    fn  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void markThis();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6825
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 6826
            goto 6
         2: .line 6827
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 2 /* fn */
        start local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         3: .line 6828
            aload 2 /* fn */
            ldc 32768
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         4: .line 6829
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 6
         5: .line 6830
            goto 7
        end local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         6: .line 6826
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 6833
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Iterator iter
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/js/parser/Parser;
            1    8     1  iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
            3    6     2    fn  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void markNewTarget();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6836
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.inFunction:()Z
            ifne 2
         1: .line 6838
            aload 0 /* this */
            ldc "new.target.in.function"
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.js.parser.AbstractParser.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.token:J
            invokevirtual com.oracle.js.parser.Parser.error:(Ljava/lang/String;J)Lcom/oracle/js/parser/ParserException;
            athrow
         2: .line 6840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getFunctions:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         3: .line 6841
            goto 9
         4: .line 6842
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ParserContextFunctionNode
            astore 2 /* fn */
        start local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         5: .line 6843
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 9
         6: .line 6844
            aload 2 /* fn */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isProgram:()Z
            ifne 10
         7: .line 6845
            aload 2 /* fn */
            ldc 8388608
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         8: .line 6847
            goto 10
        end local 2 // com.oracle.js.parser.ParserContextFunctionNode fn
         9: .line 6841
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 6850
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Iterator iter
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/js/parser/Parser;
            3   11     1  iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ParserContextFunctionNode;>;
            5    9     2    fn  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private static boolean markApplyArgumentsCall(com.oracle.js.parser.ParserContext, java.util.List<com.oracle.js.parser.ir.Expression>);
    descriptor: (Lcom/oracle/js/parser/ParserContext;Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.ParserContext lc
        start local 1 // java.util.List arguments
         0: .line 6853
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 2
            aload 1 /* arguments */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpne 1
            aload 1 /* arguments */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof com.oracle.js.parser.ir.IdentNode
            ifeq 1
            aload 1 /* arguments */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.isArguments:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6854
      StackMap locals:
      StackMap stack:
            aload 0 /* lc */
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 2 /* currentFunction */
        start local 2 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         3: .line 6855
            aload 2 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isArrow:()Z
            ifne 7
         4: .line 6856
            aload 2 /* currentFunction */
            ldc 536870912
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         5: .line 6857
            aload 1 /* arguments */
            iconst_1
            aload 1 /* arguments */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsApplyArguments:()Lcom/oracle/js/parser/ir/IdentNode;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 6858
            iconst_1
            ireturn
         7: .line 6860
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 1 // java.util.List arguments
        end local 0 // com.oracle.js.parser.ParserContext lc
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0               lc  Lcom/oracle/js/parser/ParserContext;
            0    8     1        arguments  Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
            3    8     2  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
    Signature: (Lcom/oracle/js/parser/ParserContext;Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;)Z
    MethodParameters:
           Name  Flags
      lc         final
      arguments  

  private boolean inGeneratorFunction();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6864
            getstatic com.oracle.js.parser.Parser.ES6_GENERATOR_FUNCTION:Z
            ifne 2
         1: .line 6865
            iconst_0
            ireturn
         2: .line 6867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 1 /* currentFunction */
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         3: .line 6868
            aload 1 /* currentFunction */
            ifnull 4
            aload 1 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isGenerator:()Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/js/parser/Parser;
            3    5     1  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private boolean inAsyncFunction();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6872
            getstatic com.oracle.js.parser.Parser.ES8_ASYNC_FUNCTION:Z
            ifne 2
         1: .line 6873
            iconst_0
            ireturn
         2: .line 6875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.lc:Lcom/oracle/js/parser/ParserContext;
            invokevirtual com.oracle.js.parser.ParserContext.getCurrentFunction:()Lcom/oracle/js/parser/ParserContextFunctionNode;
            astore 1 /* currentFunction */
        start local 1 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
         3: .line 6876
            aload 1 /* currentFunction */
            ifnonnull 5
         4: .line 6877
            iconst_0
            ireturn
         5: .line 6879
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode
      StackMap stack:
            aload 1 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isAsync:()Z
            istore 2 /* isAsync */
        start local 2 // boolean isAsync
         6: .line 6880
            iload 2 /* isAsync */
            ifeq 8
         7: .line 6881
            iconst_1
            ireturn
         8: .line 6882
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.js.parser.Parser.ES2021_TOP_LEVEL_AWAIT:Z
            ifeq 11
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2021:()Z
            ifeq 11
         9: .line 6883
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.isModule:Z
            ifeq 10
            aload 1 /* currentFunction */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isModule:()Z
            ifeq 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 6885
      StackMap locals:
      StackMap stack:
            iload 2 /* isAsync */
            ireturn
        end local 2 // boolean isAsync
        end local 1 // com.oracle.js.parser.ParserContextFunctionNode currentFunction
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lcom/oracle/js/parser/Parser;
            3   12     1  currentFunction  Lcom/oracle/js/parser/ParserContextFunctionNode;
            6   12     2          isAsync  Z

  private boolean isAwait();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6889
            getstatic com.oracle.js.parser.Parser.ES8_ASYNC_FUNCTION:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean isAsync();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6893
            getstatic com.oracle.js.parser.Parser.ES8_ASYNC_FUNCTION:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isES2017:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.type:Lcom/oracle/js/parser/TokenType;
            getstatic com.oracle.js.parser.TokenType.ASYNC:Lcom/oracle/js/parser/TokenType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/Parser;

  private boolean lookaheadIsAsyncArrowParameterListStart();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6897
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6899
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: .line 6901
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 1 /* i */
            iinc 1 /* i */ 1
            iadd
            invokevirtual com.oracle.js.parser.Parser.T:(I)Lcom/oracle/js/parser/TokenType;
            astore 2 /* t */
        start local 2 // com.oracle.js.parser.TokenType t
         3: .line 6902
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            if_acmpne 5
         4: .line 6903
            goto 12
         5: .line 6904
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 7
         6: .line 6905
            goto 12
         7: .line 6906
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual com.oracle.js.parser.TokenType.isContextualKeyword:()Z
            ifeq 9
         8: .line 6907
            goto 12
         9: .line 6908
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
        10: .line 6909
            goto 2
        11: .line 6911
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.TokenType t
        12: .line 6914
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int i
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/oracle/js/parser/Parser;
            2   13     1     i  I
            3   12     2     t  Lcom/oracle/js/parser/TokenType;

  private boolean lookaheadIsAsyncFunction();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6918
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6920
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: .line 6921
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 1 /* i */
            iadd
            invokevirtual com.oracle.js.parser.Parser.getToken:(I)J
            lstore 2 /* currentToken */
        start local 2 // long currentToken
         3: .line 6922
            lload 2 /* currentToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 4 /* t */
        start local 4 // com.oracle.js.parser.TokenType t
         4: .line 6923
            invokestatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 4 /* t */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 2
                    4: 5
                   84: 6
              default: 7
          }
         5: .line 6925
      StackMap locals: long com.oracle.js.parser.TokenType
      StackMap stack:
            goto 8
         6: .line 6927
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         7: .line 6929
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // com.oracle.js.parser.TokenType t
        end local 2 // long currentToken
         8: .line 6920
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
            goto 2
        end local 1 // int i
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/oracle/js/parser/Parser;
            2    9     1             i  I
            3    8     2  currentToken  J
            4    8     4             t  Lcom/oracle/js/parser/TokenType;

  private boolean lookaheadIsAsyncMethod(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.js.parser.Parser this
        start local 1 // boolean allowPrivate
         0: .line 6935
            getstatic com.oracle.js.parser.Parser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.isAsync:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6938
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: .line 6939
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.k:I
            iload 2 /* i */
            iadd
            invokevirtual com.oracle.js.parser.Parser.getToken:(I)J
            lstore 3 /* currentToken */
        start local 3 // long currentToken
         3: .line 6940
            lload 3 /* currentToken */
            invokestatic com.oracle.js.parser.Token.descType:(J)Lcom/oracle/js/parser/TokenType;
            astore 5 /* t */
        start local 5 // com.oracle.js.parser.TokenType t
         4: .line 6941
            aload 5 /* t */
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            if_acmpne 6
         5: .line 6942
            goto 9
         6: .line 6944
      StackMap locals: long com.oracle.js.parser.TokenType
      StackMap stack:
            aload 0 /* this */
            lload 3 /* currentToken */
            invokevirtual com.oracle.js.parser.Parser.isPropertyName:(J)Z
            ifne 8
            aload 5 /* t */
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 8
            iload 1 /* allowPrivate */
            ifeq 7
            aload 5 /* t */
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            if_acmpeq 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
        end local 5 // com.oracle.js.parser.TokenType t
        end local 3 // long currentToken
         9: .line 6938
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            goto 2
        end local 2 // int i
        end local 1 // boolean allowPrivate
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/js/parser/Parser;
            0   10     1  allowPrivate  Z
            2   10     2             i  I
            3    9     3  currentToken  J
            4    9     5             t  Lcom/oracle/js/parser/TokenType;
    MethodParameters:
              Name  Flags
      allowPrivate  

  public com.oracle.js.parser.ir.Expression parseExpression();
    descriptor: ()Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Parser this
         0: .line 6957
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield com.oracle.js.parser.Parser.source:Lcom/oracle/js/parser/Source;
            invokevirtual com.oracle.js.parser.Source.getLength:()I
            invokevirtual com.oracle.js.parser.Parser.prepareLexer:(II)V
         1: .line 6958
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.scanFirstToken:()V
         2: .line 6960
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.Parser.expression:()Lcom/oracle/js/parser/ir/Expression;
         3: areturn
         4: .line 6961
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 6962
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.oracle.js.parser.Parser.handleParseException:(Ljava/lang/Exception;)V
         6: .line 6964
            aconst_null
            areturn
        end local 1 // java.lang.Exception e
        end local 0 // com.oracle.js.parser.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/js/parser/Parser;
            5    7     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  private static java.util.List<com.oracle.js.parser.ir.Module$ImportEntry> convert(com.oracle.js.parser.ir.NamedImportsNode);
    descriptor: (Lcom/oracle/js/parser/ir/NamedImportsNode;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
         0: .line 6969
            new java.util.ArrayList
            dup
            aload 0 /* namedImportsNode */
            invokevirtual com.oracle.js.parser.ir.NamedImportsNode.getImportSpecifiers:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* importEntries */
        start local 1 // java.util.List importEntries
         1: .line 6970
            aload 0 /* namedImportsNode */
            invokevirtual com.oracle.js.parser.ir.NamedImportsNode.getImportSpecifiers:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: com.oracle.js.parser.ir.NamedImportsNode java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.ImportSpecifierNode
            astore 2 /* s */
        start local 2 // com.oracle.js.parser.ir.ImportSpecifierNode s
         3: .line 6971
            aload 2 /* s */
            invokevirtual com.oracle.js.parser.ir.ImportSpecifierNode.getIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            ifnull 6
         4: .line 6972
            aload 1 /* importEntries */
            aload 2 /* s */
            invokevirtual com.oracle.js.parser.ir.ImportSpecifierNode.getIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            aload 2 /* s */
            invokevirtual com.oracle.js.parser.ir.ImportSpecifierNode.getBindingIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.ir.Module$ImportEntry.importSpecifier:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 6973
            goto 7
         6: .line 6974
      StackMap locals: com.oracle.js.parser.ir.NamedImportsNode java.util.List com.oracle.js.parser.ir.ImportSpecifierNode java.util.Iterator
      StackMap stack:
            aload 1 /* importEntries */
            aload 2 /* s */
            invokevirtual com.oracle.js.parser.ir.ImportSpecifierNode.getBindingIdentifier:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokestatic com.oracle.js.parser.ir.Module$ImportEntry.importSpecifier:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ImportEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.oracle.js.parser.ir.ImportSpecifierNode s
         7: .line 6970
      StackMap locals: com.oracle.js.parser.ir.NamedImportsNode java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 6977
            aload 1 /* importEntries */
            areturn
        end local 1 // java.util.List importEntries
        end local 0 // com.oracle.js.parser.ir.NamedImportsNode namedImportsNode
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0  namedImportsNode  Lcom/oracle/js/parser/ir/NamedImportsNode;
            1    9     1     importEntries  Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
            3    7     2                 s  Lcom/oracle/js/parser/ir/ImportSpecifierNode;
    Signature: (Lcom/oracle/js/parser/ir/NamedImportsNode;)Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ImportEntry;>;
    MethodParameters:
                  Name  Flags
      namedImportsNode  

  static int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 178
            getstatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.js.parser.TokenType.values:()[Lcom/oracle/js/parser/TokenType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.js.parser.TokenType.ADD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 21
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.js.parser.TokenType.AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 12
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.js.parser.TokenType.ARRAY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 130
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 40
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 63
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 37
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_ADD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 23
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 13
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 54
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_XOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 51
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_DIV:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 30
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_EXP:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 20
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 143
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_MOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 10
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_MUL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 18
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_NULLCOAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 61
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 56
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 44
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SHL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 35
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SHR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 46
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SUB:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 27
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.oracle.js.parser.TokenType.ASYNC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 64
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 65
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.oracle.js.parser.TokenType.BIGINT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 121
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.oracle.js.parser.TokenType.BINARY_NUMBER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 120
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 11
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_NOT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 58
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 53
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_XOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 50
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.oracle.js.parser.TokenType.BREAK:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 66
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.oracle.js.parser.TokenType.CASE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 67
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.oracle.js.parser.TokenType.CATCH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 68
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.oracle.js.parser.TokenType.CLASS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 69
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 31
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMALEFT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 136
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 24
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_4
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 70
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic com.oracle.js.parser.TokenType.CONTINUE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 71
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic com.oracle.js.parser.TokenType.DEBUGGER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 72
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic com.oracle.js.parser.TokenType.DECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 115
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic com.oracle.js.parser.TokenType.DECPOSTFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 137
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 26
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic com.oracle.js.parser.TokenType.DEFAULT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 73
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic com.oracle.js.parser.TokenType.DELETE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 74
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic com.oracle.js.parser.TokenType.DIRECTIVE_COMMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_5
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic com.oracle.js.parser.TokenType.DIV:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 29
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic com.oracle.js.parser.TokenType.DO:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 75
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 59
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            getstatic com.oracle.js.parser.TokenType.ELSE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 76
            iastore
       153: goto 155
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       154: pop
      StackMap locals:
      StackMap stack:
       155: aload 0
            getstatic com.oracle.js.parser.TokenType.ENUM:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 77
            iastore
       156: goto 158
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       157: pop
      StackMap locals:
      StackMap stack:
       158: aload 0
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_2
            iastore
       159: goto 161
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       160: pop
      StackMap locals:
      StackMap stack:
       161: aload 0
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_3
            iastore
       162: goto 164
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       163: pop
      StackMap locals:
      StackMap stack:
       164: aload 0
            getstatic com.oracle.js.parser.TokenType.EQ:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 38
            iastore
       165: goto 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       166: pop
      StackMap locals:
      StackMap stack:
       167: aload 0
            getstatic com.oracle.js.parser.TokenType.EQ_STRICT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 39
            iastore
       168: goto 170
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       169: pop
      StackMap locals:
      StackMap stack:
       170: aload 0
            getstatic com.oracle.js.parser.TokenType.ERROR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_1
            iastore
       171: goto 173
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       172: pop
      StackMap locals:
      StackMap stack:
       173: aload 0
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 124
            iastore
       174: goto 176
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       175: pop
      StackMap locals:
      StackMap stack:
       176: aload 0
            getstatic com.oracle.js.parser.TokenType.EXECSTRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 125
            iastore
       177: goto 179
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       178: pop
      StackMap locals:
      StackMap stack:
       179: aload 0
            getstatic com.oracle.js.parser.TokenType.EXP:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 19
            iastore
       180: goto 182
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       181: pop
      StackMap locals:
      StackMap stack:
       182: aload 0
            getstatic com.oracle.js.parser.TokenType.EXPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 78
            iastore
       183: goto 185
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       184: pop
      StackMap locals:
      StackMap stack:
       185: aload 0
            getstatic com.oracle.js.parser.TokenType.EXTENDS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 79
            iastore
       186: goto 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       187: pop
      StackMap locals:
      StackMap stack:
       188: aload 0
            getstatic com.oracle.js.parser.TokenType.FALSE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 80
            iastore
       189: goto 191
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       190: pop
      StackMap locals:
      StackMap stack:
       191: aload 0
            getstatic com.oracle.js.parser.TokenType.FINALLY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 81
            iastore
       192: goto 194
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       193: pop
      StackMap locals:
      StackMap stack:
       194: aload 0
            getstatic com.oracle.js.parser.TokenType.FLOATING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 122
            iastore
       195: goto 197
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       196: pop
      StackMap locals:
      StackMap stack:
       197: aload 0
            getstatic com.oracle.js.parser.TokenType.FOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 82
            iastore
       198: goto 200
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       199: pop
      StackMap locals:
      StackMap stack:
       200: aload 0
            getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 83
            iastore
       201: goto 203
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       202: pop
      StackMap locals:
      StackMap stack:
       203: aload 0
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 84
            iastore
       204: goto 206
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       205: pop
      StackMap locals:
      StackMap stack:
       206: aload 0
            getstatic com.oracle.js.parser.TokenType.GE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 42
            iastore
       207: goto 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       208: pop
      StackMap locals:
      StackMap stack:
       209: aload 0
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 85
            iastore
       210: goto 212
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       211: pop
      StackMap locals:
      StackMap stack:
       212: aload 0
            getstatic com.oracle.js.parser.TokenType.GT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 41
            iastore
       213: goto 215
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       214: pop
      StackMap locals:
      StackMap stack:
       215: aload 0
            getstatic com.oracle.js.parser.TokenType.HEXADECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 117
            iastore
       216: goto 218
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       217: pop
      StackMap locals:
      StackMap stack:
       218: aload 0
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 126
            iastore
       219: goto 221
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       220: pop
      StackMap locals:
      StackMap stack:
       221: aload 0
            getstatic com.oracle.js.parser.TokenType.IF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 86
            iastore
       222: goto 224
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       223: pop
      StackMap locals:
      StackMap stack:
       224: aload 0
            getstatic com.oracle.js.parser.TokenType.IMPLEMENTS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 87
            iastore
       225: goto 227
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       226: pop
      StackMap locals:
      StackMap stack:
       227: aload 0
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 88
            iastore
       228: goto 230
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       229: pop
      StackMap locals:
      StackMap stack:
       230: aload 0
            getstatic com.oracle.js.parser.TokenType.IN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 89
            iastore
       231: goto 233
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       232: pop
      StackMap locals:
      StackMap stack:
       233: aload 0
            getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 138
            iastore
       234: goto 236
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       235: pop
      StackMap locals:
      StackMap stack:
       236: aload 0
            getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 22
            iastore
       237: goto 239
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       238: pop
      StackMap locals:
      StackMap stack:
       239: aload 0
            getstatic com.oracle.js.parser.TokenType.INSTANCEOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 90
            iastore
       240: goto 242
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       241: pop
      StackMap locals:
      StackMap stack:
       242: aload 0
            getstatic com.oracle.js.parser.TokenType.INTERFACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 91
            iastore
       243: goto 245
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       244: pop
      StackMap locals:
      StackMap stack:
       245: aload 0
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 52
            iastore
       246: goto 248
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       247: pop
      StackMap locals:
      StackMap stack:
       248: aload 0
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 48
            iastore
       249: goto 251
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       250: pop
      StackMap locals:
      StackMap stack:
       251: aload 0
            getstatic com.oracle.js.parser.TokenType.LE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 36
            iastore
       252: goto 254
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       253: pop
      StackMap locals:
      StackMap stack:
       254: aload 0
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 92
            iastore
       255: goto 257
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       256: pop
      StackMap locals:
      StackMap stack:
       257: aload 0
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 15
            iastore
       258: goto 260
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       259: pop
      StackMap locals:
      StackMap stack:
       260: aload 0
            getstatic com.oracle.js.parser.TokenType.LT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 33
            iastore
       261: goto 263
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       262: pop
      StackMap locals:
      StackMap stack:
       263: aload 0
            getstatic com.oracle.js.parser.TokenType.MOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 9
            iastore
       264: goto 266
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       265: pop
      StackMap locals:
      StackMap stack:
       266: aload 0
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 17
            iastore
       267: goto 269
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       268: pop
      StackMap locals:
      StackMap stack:
       269: aload 0
            getstatic com.oracle.js.parser.TokenType.NE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 7
            iastore
       270: goto 272
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       271: pop
      StackMap locals:
      StackMap stack:
       272: aload 0
            getstatic com.oracle.js.parser.TokenType.NEW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 93
            iastore
       273: goto 275
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       274: pop
      StackMap locals:
      StackMap stack:
       275: aload 0
            getstatic com.oracle.js.parser.TokenType.NE_STRICT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 8
            iastore
       276: goto 278
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       277: pop
      StackMap locals:
      StackMap stack:
       278: aload 0
            getstatic com.oracle.js.parser.TokenType.NON_OCTAL_DECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 116
            iastore
       279: goto 281
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       280: pop
      StackMap locals:
      StackMap stack:
       281: aload 0
            getstatic com.oracle.js.parser.TokenType.NOT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 6
            iastore
       282: goto 284
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       283: pop
      StackMap locals:
      StackMap stack:
       284: aload 0
            getstatic com.oracle.js.parser.TokenType.NULL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 94
            iastore
       285: goto 287
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       286: pop
      StackMap locals:
      StackMap stack:
       287: aload 0
            getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 60
            iastore
       288: goto 290
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       289: pop
      StackMap locals:
      StackMap stack:
       290: aload 0
            getstatic com.oracle.js.parser.TokenType.OBJECT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 129
            iastore
       291: goto 293
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       292: pop
      StackMap locals:
      StackMap stack:
       293: aload 0
            getstatic com.oracle.js.parser.TokenType.OCTAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 119
            iastore
       294: goto 296
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       295: pop
      StackMap locals:
      StackMap stack:
       296: aload 0
            getstatic com.oracle.js.parser.TokenType.OCTAL_LEGACY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 118
            iastore
       297: goto 299
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       298: pop
      StackMap locals:
      StackMap stack:
       299: aload 0
            getstatic com.oracle.js.parser.TokenType.OF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 95
            iastore
       300: goto 302
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       301: pop
      StackMap locals:
      StackMap stack:
       302: aload 0
            getstatic com.oracle.js.parser.TokenType.OPTIONAL_CHAIN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 62
            iastore
       303: goto 305
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       304: pop
      StackMap locals:
      StackMap stack:
       305: aload 0
            getstatic com.oracle.js.parser.TokenType.OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 55
            iastore
       306: goto 308
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       307: pop
      StackMap locals:
      StackMap stack:
       308: aload 0
            getstatic com.oracle.js.parser.TokenType.PACKAGE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 96
            iastore
       309: goto 311
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       310: pop
      StackMap locals:
      StackMap stack:
       311: aload 0
            getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 28
            iastore
       312: goto 314
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       313: pop
      StackMap locals:
      StackMap stack:
       314: aload 0
            getstatic com.oracle.js.parser.TokenType.PRIVATE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 97
            iastore
       315: goto 317
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       316: pop
      StackMap locals:
      StackMap stack:
       317: aload 0
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 135
            iastore
       318: goto 320
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       319: pop
      StackMap locals:
      StackMap stack:
       320: aload 0
            getstatic com.oracle.js.parser.TokenType.PROTECTED:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 98
            iastore
       321: goto 323
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       322: pop
      StackMap locals:
      StackMap stack:
       323: aload 0
            getstatic com.oracle.js.parser.TokenType.PUBLIC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 99
            iastore
       324: goto 326
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       325: pop
      StackMap locals:
      StackMap stack:
       326: aload 0
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 57
            iastore
       327: goto 329
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       328: pop
      StackMap locals:
      StackMap stack:
       329: aload 0
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 49
            iastore
       330: goto 332
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       331: pop
      StackMap locals:
      StackMap stack:
       332: aload 0
            getstatic com.oracle.js.parser.TokenType.REGEX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 127
            iastore
       333: goto 335
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       334: pop
      StackMap locals:
      StackMap stack:
       335: aload 0
            getstatic com.oracle.js.parser.TokenType.RETURN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 100
            iastore
       336: goto 338
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       337: pop
      StackMap locals:
      StackMap stack:
       338: aload 0
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 16
            iastore
       339: goto 341
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       340: pop
      StackMap locals:
      StackMap stack:
       341: aload 0
            getstatic com.oracle.js.parser.TokenType.SAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 43
            iastore
       342: goto 344
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       343: pop
      StackMap locals:
      StackMap stack:
       344: aload 0
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 32
            iastore
       345: goto 347
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       346: pop
      StackMap locals:
      StackMap stack:
       347: aload 0
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 101
            iastore
       348: goto 350
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       349: pop
      StackMap locals:
      StackMap stack:
       350: aload 0
            getstatic com.oracle.js.parser.TokenType.SHL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 34
            iastore
       351: goto 353
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       352: pop
      StackMap locals:
      StackMap stack:
       353: aload 0
            getstatic com.oracle.js.parser.TokenType.SHR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 45
            iastore
       354: goto 356
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       355: pop
      StackMap locals:
      StackMap stack:
       356: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 139
            iastore
       357: goto 359
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       358: pop
      StackMap locals:
      StackMap stack:
       359: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 140
            iastore
       360: goto 362
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       361: pop
      StackMap locals:
      StackMap stack:
       362: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_OBJECT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 141
            iastore
       363: goto 365
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       364: pop
      StackMap locals:
      StackMap stack:
       365: aload 0
            getstatic com.oracle.js.parser.TokenType.STATIC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 102
            iastore
       366: goto 368
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       367: pop
      StackMap locals:
      StackMap stack:
       368: aload 0
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 123
            iastore
       369: goto 371
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       370: pop
      StackMap locals:
      StackMap stack:
       371: aload 0
            getstatic com.oracle.js.parser.TokenType.SUB:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 25
            iastore
       372: goto 374
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       373: pop
      StackMap locals:
      StackMap stack:
       374: aload 0
            getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 103
            iastore
       375: goto 377
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       376: pop
      StackMap locals:
      StackMap stack:
       377: aload 0
            getstatic com.oracle.js.parser.TokenType.SWITCH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 104
            iastore
       378: goto 380
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       379: pop
      StackMap locals:
      StackMap stack:
       380: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 131
            iastore
       381: goto 383
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       382: pop
      StackMap locals:
      StackMap stack:
       383: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 132
            iastore
       384: goto 386
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       385: pop
      StackMap locals:
      StackMap stack:
       386: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 133
            iastore
       387: goto 389
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       388: pop
      StackMap locals:
      StackMap stack:
       389: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_TAIL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 134
            iastore
       390: goto 392
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       391: pop
      StackMap locals:
      StackMap stack:
       392: aload 0
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 47
            iastore
       393: goto 395
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       394: pop
      StackMap locals:
      StackMap stack:
       395: aload 0
            getstatic com.oracle.js.parser.TokenType.THIS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 105
            iastore
       396: goto 398
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       397: pop
      StackMap locals:
      StackMap stack:
       398: aload 0
            getstatic com.oracle.js.parser.TokenType.THROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 106
            iastore
       399: goto 401
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       400: pop
      StackMap locals:
      StackMap stack:
       401: aload 0
            getstatic com.oracle.js.parser.TokenType.TRUE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 107
            iastore
       402: goto 404
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       403: pop
      StackMap locals:
      StackMap stack:
       404: aload 0
            getstatic com.oracle.js.parser.TokenType.TRY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 108
            iastore
       405: goto 407
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       406: pop
      StackMap locals:
      StackMap stack:
       407: aload 0
            getstatic com.oracle.js.parser.TokenType.TYPEOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 109
            iastore
       408: goto 410
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       409: pop
      StackMap locals:
      StackMap stack:
       410: aload 0
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 110
            iastore
       411: goto 413
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       412: pop
      StackMap locals:
      StackMap stack:
       413: aload 0
            getstatic com.oracle.js.parser.TokenType.VOID:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 111
            iastore
       414: goto 416
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       415: pop
      StackMap locals:
      StackMap stack:
       416: aload 0
            getstatic com.oracle.js.parser.TokenType.WHILE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 112
            iastore
       417: goto 419
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       418: pop
      StackMap locals:
      StackMap stack:
       419: aload 0
            getstatic com.oracle.js.parser.TokenType.WITH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 113
            iastore
       420: goto 422
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       421: pop
      StackMap locals:
      StackMap stack:
       422: aload 0
            getstatic com.oracle.js.parser.TokenType.XML:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 128
            iastore
       423: goto 425
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       424: pop
      StackMap locals:
      StackMap stack:
       425: aload 0
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 114
            iastore
       426: goto 428
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       427: pop
      StackMap locals:
      StackMap stack:
       428: aload 0
            getstatic com.oracle.js.parser.TokenType.YIELD_STAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 142
            iastore
       429: goto 431
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       430: pop
      StackMap locals:
      StackMap stack:
       431: aload 0
            dup
            putstatic com.oracle.js.parser.Parser.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
         152   153     154  Class java.lang.NoSuchFieldError
         155   156     157  Class java.lang.NoSuchFieldError
         158   159     160  Class java.lang.NoSuchFieldError
         161   162     163  Class java.lang.NoSuchFieldError
         164   165     166  Class java.lang.NoSuchFieldError
         167   168     169  Class java.lang.NoSuchFieldError
         170   171     172  Class java.lang.NoSuchFieldError
         173   174     175  Class java.lang.NoSuchFieldError
         176   177     178  Class java.lang.NoSuchFieldError
         179   180     181  Class java.lang.NoSuchFieldError
         182   183     184  Class java.lang.NoSuchFieldError
         185   186     187  Class java.lang.NoSuchFieldError
         188   189     190  Class java.lang.NoSuchFieldError
         191   192     193  Class java.lang.NoSuchFieldError
         194   195     196  Class java.lang.NoSuchFieldError
         197   198     199  Class java.lang.NoSuchFieldError
         200   201     202  Class java.lang.NoSuchFieldError
         203   204     205  Class java.lang.NoSuchFieldError
         206   207     208  Class java.lang.NoSuchFieldError
         209   210     211  Class java.lang.NoSuchFieldError
         212   213     214  Class java.lang.NoSuchFieldError
         215   216     217  Class java.lang.NoSuchFieldError
         218   219     220  Class java.lang.NoSuchFieldError
         221   222     223  Class java.lang.NoSuchFieldError
         224   225     226  Class java.lang.NoSuchFieldError
         227   228     229  Class java.lang.NoSuchFieldError
         230   231     232  Class java.lang.NoSuchFieldError
         233   234     235  Class java.lang.NoSuchFieldError
         236   237     238  Class java.lang.NoSuchFieldError
         239   240     241  Class java.lang.NoSuchFieldError
         242   243     244  Class java.lang.NoSuchFieldError
         245   246     247  Class java.lang.NoSuchFieldError
         248   249     250  Class java.lang.NoSuchFieldError
         251   252     253  Class java.lang.NoSuchFieldError
         254   255     256  Class java.lang.NoSuchFieldError
         257   258     259  Class java.lang.NoSuchFieldError
         260   261     262  Class java.lang.NoSuchFieldError
         263   264     265  Class java.lang.NoSuchFieldError
         266   267     268  Class java.lang.NoSuchFieldError
         269   270     271  Class java.lang.NoSuchFieldError
         272   273     274  Class java.lang.NoSuchFieldError
         275   276     277  Class java.lang.NoSuchFieldError
         278   279     280  Class java.lang.NoSuchFieldError
         281   282     283  Class java.lang.NoSuchFieldError
         284   285     286  Class java.lang.NoSuchFieldError
         287   288     289  Class java.lang.NoSuchFieldError
         290   291     292  Class java.lang.NoSuchFieldError
         293   294     295  Class java.lang.NoSuchFieldError
         296   297     298  Class java.lang.NoSuchFieldError
         299   300     301  Class java.lang.NoSuchFieldError
         302   303     304  Class java.lang.NoSuchFieldError
         305   306     307  Class java.lang.NoSuchFieldError
         308   309     310  Class java.lang.NoSuchFieldError
         311   312     313  Class java.lang.NoSuchFieldError
         314   315     316  Class java.lang.NoSuchFieldError
         317   318     319  Class java.lang.NoSuchFieldError
         320   321     322  Class java.lang.NoSuchFieldError
         323   324     325  Class java.lang.NoSuchFieldError
         326   327     328  Class java.lang.NoSuchFieldError
         329   330     331  Class java.lang.NoSuchFieldError
         332   333     334  Class java.lang.NoSuchFieldError
         335   336     337  Class java.lang.NoSuchFieldError
         338   339     340  Class java.lang.NoSuchFieldError
         341   342     343  Class java.lang.NoSuchFieldError
         344   345     346  Class java.lang.NoSuchFieldError
         347   348     349  Class java.lang.NoSuchFieldError
         350   351     352  Class java.lang.NoSuchFieldError
         353   354     355  Class java.lang.NoSuchFieldError
         356   357     358  Class java.lang.NoSuchFieldError
         359   360     361  Class java.lang.NoSuchFieldError
         362   363     364  Class java.lang.NoSuchFieldError
         365   366     367  Class java.lang.NoSuchFieldError
         368   369     370  Class java.lang.NoSuchFieldError
         371   372     373  Class java.lang.NoSuchFieldError
         374   375     376  Class java.lang.NoSuchFieldError
         377   378     379  Class java.lang.NoSuchFieldError
         380   381     382  Class java.lang.NoSuchFieldError
         383   384     385  Class java.lang.NoSuchFieldError
         386   387     388  Class java.lang.NoSuchFieldError
         389   390     391  Class java.lang.NoSuchFieldError
         392   393     394  Class java.lang.NoSuchFieldError
         395   396     397  Class java.lang.NoSuchFieldError
         398   399     400  Class java.lang.NoSuchFieldError
         401   402     403  Class java.lang.NoSuchFieldError
         404   405     406  Class java.lang.NoSuchFieldError
         407   408     409  Class java.lang.NoSuchFieldError
         410   411     412  Class java.lang.NoSuchFieldError
         413   414     415  Class java.lang.NoSuchFieldError
         416   417     418  Class java.lang.NoSuchFieldError
         419   420     421  Class java.lang.NoSuchFieldError
         422   423     424  Class java.lang.NoSuchFieldError
         425   426     427  Class java.lang.NoSuchFieldError
         428   429     430  Class java.lang.NoSuchFieldError
}
SourceFile: "Parser.java"
NestMembers:
  com.oracle.js.parser.Parser$1  com.oracle.js.parser.Parser$2  com.oracle.js.parser.Parser$3  com.oracle.js.parser.Parser$4  com.oracle.js.parser.Parser$5  com.oracle.js.parser.Parser$6  com.oracle.js.parser.Parser$7  com.oracle.js.parser.Parser$8  com.oracle.js.parser.Parser$ForVariableDeclarationListResult  com.oracle.js.parser.Parser$ParserState  com.oracle.js.parser.Parser$PropertyFunction  com.oracle.js.parser.Parser$VerifyDestructuringPatternNodeVisitor
InnerClasses:
  protected abstract LineInfoReceiver = com.oracle.js.parser.Lexer$LineInfoReceiver of com.oracle.js.parser.Lexer
  com.oracle.js.parser.Parser$1
  com.oracle.js.parser.Parser$2
  com.oracle.js.parser.Parser$3
  com.oracle.js.parser.Parser$4
  com.oracle.js.parser.Parser$5
  com.oracle.js.parser.Parser$6
  com.oracle.js.parser.Parser$7
  com.oracle.js.parser.Parser$8
  private final ForVariableDeclarationListResult = com.oracle.js.parser.Parser$ForVariableDeclarationListResult of com.oracle.js.parser.Parser
  private ParserState = com.oracle.js.parser.Parser$ParserState of com.oracle.js.parser.Parser
  private final PropertyFunction = com.oracle.js.parser.Parser$PropertyFunction of com.oracle.js.parser.Parser
  private abstract VerifyDestructuringPatternNodeVisitor = com.oracle.js.parser.Parser$VerifyDestructuringPatternNodeVisitor of com.oracle.js.parser.Parser
  public final FunctionStatementBehavior = com.oracle.js.parser.ScriptEnvironment$FunctionStatementBehavior of com.oracle.js.parser.ScriptEnvironment
  public final ArrayLiteralNode = com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode of com.oracle.js.parser.ir.LiteralNode
  public final ImportEntry = com.oracle.js.parser.ir.Module$ImportEntry of com.oracle.js.parser.ir.Module
  public final Request = com.oracle.js.parser.ir.RuntimeNode$Request of com.oracle.js.parser.ir.RuntimeNode