class com.oracle.js.parser.ParserContextFunctionNode extends com.oracle.js.parser.ParserContextBaseNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.js.parser.ParserContextFunctionNode
  super_class: com.oracle.js.parser.ParserContextBaseNode
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

  private com.oracle.js.parser.ir.Scope bodyScope;
    descriptor: Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0002) ACC_PRIVATE

  private final long token;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long lastToken;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object endParserState;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

  private com.oracle.js.parser.ir.IdentNode duplicateParameterBinding;
    descriptor: Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private com.oracle.js.parser.ir.Module module;
    descriptor: Lcom/oracle/js/parser/ir/Module;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String internalName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 61
            ldc Lcom/oracle/js/parser/ParserContextFunctionNode;
            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.ParserContextFunctionNode.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(long, com.oracle.js.parser.ir.IdentNode, java.lang.String, com.oracle.js.parser.Namespace, int, int, java.util.List<com.oracle.js.parser.ir.IdentNode>, int, com.oracle.js.parser.ir.Scope, com.oracle.js.parser.ir.Scope);
    descriptor: (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
    flags: (0x0000) 
    Code:
      stack=3, locals=12, args_size=11
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // long token
        start local 3 // com.oracle.js.parser.ir.IdentNode ident
        start local 4 // java.lang.String name
        start local 5 // com.oracle.js.parser.Namespace namespace
        start local 6 // int line
        start local 7 // int flags
        start local 8 // java.util.List parameters
        start local 9 // int length
        start local 10 // com.oracle.js.parser.ir.Scope parentScope
        start local 11 // com.oracle.js.parser.ir.Scope functionScope
         0: .line 114
            aload 0 /* this */
            iload 7 /* flags */
            invokespecial com.oracle.js.parser.ParserContextBaseNode.<init>:(I)V
         1: .line 96
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.ParserContextFunctionNode.simpleParameterList:Z
         2: .line 115
            aload 0 /* this */
            aload 3 /* ident */
            putfield com.oracle.js.parser.ParserContextFunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
         3: .line 116
            aload 0 /* this */
            aload 5 /* namespace */
            putfield com.oracle.js.parser.ParserContextFunctionNode.namespace:Lcom/oracle/js/parser/Namespace;
         4: .line 117
            aload 0 /* this */
            iload 6 /* line */
            putfield com.oracle.js.parser.ParserContextFunctionNode.line:I
         5: .line 118
            aload 0 /* this */
            aload 4 /* name */
            putfield com.oracle.js.parser.ParserContextFunctionNode.name:Ljava/lang/String;
         6: .line 119
            aload 0 /* this */
            aload 8 /* parameters */
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
         7: .line 120
            aload 0 /* this */
            lload 1 /* token */
            putfield com.oracle.js.parser.ParserContextFunctionNode.token:J
         8: .line 121
            aload 0 /* this */
            iload 9 /* length */
            putfield com.oracle.js.parser.ParserContextFunctionNode.length:I
         9: .line 122
            aload 0 /* this */
            aload 10 /* parentScope */
            putfield com.oracle.js.parser.ParserContextFunctionNode.parentScope:Lcom/oracle/js/parser/ir/Scope;
        10: .line 123
            aload 0 /* this */
            aload 11 /* functionScope */
            putfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
        11: .line 124
            aload 0 /* this */
            aload 8 /* parameters */
            ifnonnull 12
            iconst_0
            goto 13
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode long com.oracle.js.parser.ir.IdentNode java.lang.String com.oracle.js.parser.Namespace int int java.util.List int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.ParserContextFunctionNode
        12: aload 8 /* parameters */
            invokeinterface java.util.List.size:()I
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode long com.oracle.js.parser.ir.IdentNode java.lang.String com.oracle.js.parser.Namespace int int java.util.List int com.oracle.js.parser.ir.Scope com.oracle.js.parser.ir.Scope
      StackMap stack: com.oracle.js.parser.ParserContextFunctionNode int
        13: putfield com.oracle.js.parser.ParserContextFunctionNode.parameterCount:I
        14: .line 125
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 15
            aload 8 /* parameters */
            invokestatic com.oracle.js.parser.ParserContextFunctionNode.calculateLength:(Ljava/util/List;)I
            iload 9 /* length */
            if_icmpeq 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 126
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 16
            aload 11 /* functionScope */
            ifnull 16
            aload 11 /* functionScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isFunctionTopScope:()Z
            ifne 16
            aload 11 /* functionScope */
            invokevirtual com.oracle.js.parser.ir.Scope.isEvalScope:()Z
            ifne 16
            new java.lang.AssertionError
            dup
            aload 11 /* functionScope */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 11 // com.oracle.js.parser.ir.Scope functionScope
        end local 10 // com.oracle.js.parser.ir.Scope parentScope
        end local 9 // int length
        end local 8 // java.util.List parameters
        end local 7 // int flags
        end local 6 // int line
        end local 5 // com.oracle.js.parser.Namespace namespace
        end local 4 // java.lang.String name
        end local 3 // com.oracle.js.parser.ir.IdentNode ident
        end local 1 // long token
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   17     1          token  J
            0   17     3          ident  Lcom/oracle/js/parser/ir/IdentNode;
            0   17     4           name  Ljava/lang/String;
            0   17     5      namespace  Lcom/oracle/js/parser/Namespace;
            0   17     6           line  I
            0   17     7          flags  I
            0   17     8     parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            0   17     9         length  I
            0   17    10    parentScope  Lcom/oracle/js/parser/ir/Scope;
            0   17    11  functionScope  Lcom/oracle/js/parser/ir/Scope;
    Signature: (JLcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;Lcom/oracle/js/parser/Namespace;IILjava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;ILcom/oracle/js/parser/ir/Scope;Lcom/oracle/js/parser/ir/Scope;)V
    MethodParameters:
               Name  Flags
      token          final
      ident          final
      name           final
      namespace      final
      line           final
      flags          final
      parameters     final
      length         final
      parentScope    
      functionScope  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 133
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.name:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public com.oracle.js.parser.ir.IdentNode getIdent();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 140
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isProgram();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 148
            aload 0 /* this */
            sipush 8192
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isStrict();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 155
            aload 0 /* this */
            iconst_4
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isModule();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 162
            aload 0 /* this */
            ldc 131072
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean hasNestedEval();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 169
            aload 0 /* this */
            bipush 64
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean hasScopeBlock();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 178
            aload 0 /* this */
            sipush 128
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public java.lang.String uniqueName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // java.lang.String base
         0: .line 188
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.namespace:Lcom/oracle/js/parser/Namespace;
            aload 1 /* base */
            invokevirtual com.oracle.js.parser.Namespace.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String base
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    1     1  base  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      base  final

  public int getLineNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 195
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.line:I
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public java.util.List<com.oracle.js.parser.ir.IdentNode> getParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 204
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            ifnonnull 2
         1: .line 205
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;
    Signature: ()Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;

  void setParameters(java.util.List<com.oracle.js.parser.ir.IdentNode>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // java.util.List parameters
         0: .line 211
            aload 0 /* this */
            aload 1 /* parameters */
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
         1: .line 212
            return
        end local 1 // java.util.List parameters
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    2     1  parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
    Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;)V
    MethodParameters:
            Name  Flags
      parameters  

  public void setLastToken(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // long token
         0: .line 220
            aload 0 /* this */
            lload 1 /* token */
            putfield com.oracle.js.parser.ParserContextFunctionNode.lastToken:J
         1: .line 222
            return
        end local 1 // long token
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    2     1  token  J
    MethodParameters:
       Name  Flags
      token  final

  public long getLastToken();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 228
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.lastToken:J
            lreturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public java.lang.Object getEndParserState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 237
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.endParserState:Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void setEndParserState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // java.lang.Object endParserState
         0: .line 246
            aload 0 /* this */
            aload 1 /* endParserState */
            putfield com.oracle.js.parser.ParserContextFunctionNode.endParserState:Ljava/lang/Object;
         1: .line 247
            return
        end local 1 // java.lang.Object endParserState
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    2     1  endParserState  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      endParserState  final

  public int getId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 255
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isProgram:()Z
            ifeq 1
            iconst_m1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.token:J
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isMethod();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 259
            aload 0 /* this */
            ldc 1048576
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isClassConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 263
            aload 0 /* this */
            ldc 2097152
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isDerivedConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 267
            aload 0 /* this */
            ldc 4194304
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public int getLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 271
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.length:I
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public int getParameterCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 275
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterCount:I
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void addParameter(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.IdentNode param
         0: .line 282
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterBinding:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            pop
         1: .line 283
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifeq 4
         2: .line 284
            aload 0 /* this */
            aload 1 /* param */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterCount:()I
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterInit:(Lcom/oracle/js/parser/ir/IdentNode;I)V
         3: .line 285
            goto 7
         4: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            ifnonnull 6
         5: .line 287
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
         6: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            aload 1 /* param */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isRestParameter:()Z
            iconst_0
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.recordParameter:(ZZZ)V
         8: .line 292
            return
        end local 1 // com.oracle.js.parser.ir.IdentNode param
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    9     1  param  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
       Name  Flags
      param  

  public boolean hasParameterExpressions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 295
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:Z
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void recordParameter(boolean, boolean, boolean);
    descriptor: (ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // boolean isDefault
        start local 2 // boolean isRest
        start local 3 // boolean isPattern
         0: .line 302
            iload 1 /* isDefault */
            ifne 4
            iload 2 /* isRest */
            ifne 4
         1: .line 303
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.containsDefaultParameter:Z
            ifne 5
         2: .line 304
            aload 0 /* this */
            dup
            getfield com.oracle.js.parser.ParserContextFunctionNode.length:I
            iconst_1
            iadd
            putfield com.oracle.js.parser.ParserContextFunctionNode.length:I
         3: .line 306
            goto 5
         4: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.ParserContextFunctionNode.containsDefaultParameter:Z
         5: .line 309
      StackMap locals:
      StackMap stack:
            iload 1 /* isDefault */
            ifne 6
            iload 2 /* isRest */
            ifne 6
            iload 3 /* isPattern */
            ifeq 8
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.simpleParameterList:Z
            ifeq 8
         7: .line 310
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.recordNonSimpleParameterList:()V
         8: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterCount:I
            iconst_1
            iadd
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameterCount:I
         9: .line 313
            return
        end local 3 // boolean isPattern
        end local 2 // boolean isRest
        end local 1 // boolean isDefault
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   10     1  isDefault  Z
            0   10     2     isRest  Z
            0   10     3  isPattern  Z
    MethodParameters:
           Name  Flags
      isDefault  
      isRest     
      isPattern  

  private void recordNonSimpleParameterList();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 316
            aload 0 /* this */
            iconst_0
            putfield com.oracle.js.parser.ParserContextFunctionNode.simpleParameterList:Z
         1: .line 317
            aload 0 /* this */
            ldc 67108864
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         2: .line 318
            return
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isSimpleParameterList();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 321
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.simpleParameterList:Z
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private boolean addParameterBinding(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.IdentNode bindingIdentifier
         0: .line 325
            aload 1 /* bindingIdentifier */
            invokestatic com.oracle.js.parser.Parser.isArguments:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            ifeq 2
         1: .line 326
            aload 0 /* this */
            sipush 256
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.setFlag:(I)I
            pop
         2: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            istore 2 /* tdz */
        start local 2 // boolean tdz
         3: .line 331
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 1 /* bindingIdentifier */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            bipush 17
            iload 2 /* tdz */
            ifne 4
            sipush 1024
            goto 5
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.IdentNode int
      StackMap stack: new 3 new 3 java.lang.String int
         4: iconst_0
      StackMap locals: com.oracle.js.parser.ParserContextFunctionNode com.oracle.js.parser.ir.IdentNode int
      StackMap stack: new 3 new 3 java.lang.String int int
         5: ior
            invokespecial com.oracle.js.parser.ir.Symbol.<init>:(Ljava/lang/String;I)V
            astore 3 /* paramSymbol */
        start local 3 // com.oracle.js.parser.ir.Symbol paramSymbol
         6: .line 332
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 3 /* paramSymbol */
            invokevirtual com.oracle.js.parser.ir.Scope.putSymbol:(Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/js/parser/ir/Symbol;
            ifnonnull 8
         7: .line 333
            iconst_1
            ireturn
         8: .line 335
      StackMap locals: com.oracle.js.parser.ir.Symbol
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.duplicateParameterBinding:Lcom/oracle/js/parser/ir/IdentNode;
            ifnonnull 10
         9: .line 336
            aload 0 /* this */
            aload 1 /* bindingIdentifier */
            putfield com.oracle.js.parser.ParserContextFunctionNode.duplicateParameterBinding:Lcom/oracle/js/parser/ir/IdentNode;
        10: .line 338
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // com.oracle.js.parser.ir.Symbol paramSymbol
        end local 2 // boolean tdz
        end local 1 // com.oracle.js.parser.ir.IdentNode bindingIdentifier
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   11     1  bindingIdentifier  Lcom/oracle/js/parser/ir/IdentNode;
            3   11     2                tdz  Z
            6   11     3        paramSymbol  Lcom/oracle/js/parser/ir/Symbol;
    MethodParameters:
                   Name  Flags
      bindingIdentifier  

  public com.oracle.js.parser.ir.IdentNode getDuplicateParameterBinding();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 343
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.duplicateParameterBinding:Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public com.oracle.js.parser.ir.Module getModule();
    descriptor: ()Lcom/oracle/js/parser/ir/Module;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 347
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.module:Lcom/oracle/js/parser/ir/Module;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void setModule(com.oracle.js.parser.ir.Module);
    descriptor: (Lcom/oracle/js/parser/ir/Module;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.Module module
         0: .line 351
            aload 0 /* this */
            aload 1 /* module */
            putfield com.oracle.js.parser.ParserContextFunctionNode.module:Lcom/oracle/js/parser/ir/Module;
         1: .line 352
            return
        end local 1 // com.oracle.js.parser.ir.Module module
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    2     1  module  Lcom/oracle/js/parser/ir/Module;
    MethodParameters:
        Name  Flags
      module  

  public boolean isAsync();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 355
            aload 0 /* this */
            ldc 33554432
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isArrow();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 359
            aload 0 /* this */
            ldc 65536
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isGenerator();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 363
            aload 0 /* this */
            ldc 16777216
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public boolean isScriptOrModule();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 367
            aload 0 /* this */
            ldc 132096
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlag:(I)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public com.oracle.js.parser.ParserContextBlockNode getParameterBlock();
    descriptor: ()Lcom/oracle/js/parser/ParserContextBlockNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 371
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void addDefaultParameter(com.oracle.js.parser.ir.VarNode);
    descriptor: (Lcom/oracle/js/parser/ir/VarNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.VarNode varNode
         0: .line 375
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.ensureParameterBlock:()V
         1: .line 376
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         2: .line 377
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterBinding:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            pop
         3: .line 378
            aload 0 /* this */
            iconst_1
            iconst_0
            iconst_0
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.recordParameter:(ZZZ)V
         4: .line 379
            return
        end local 1 // com.oracle.js.parser.ir.VarNode varNode
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    5     1  varNode  Lcom/oracle/js/parser/ir/VarNode;
    MethodParameters:
         Name  Flags
      varNode  

  public void addParameterBindingDeclaration(com.oracle.js.parser.ir.VarNode);
    descriptor: (Lcom/oracle/js/parser/ir/VarNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.VarNode varNode
         0: .line 382
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.ensureParameterBlock:()V
         1: .line 383
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         2: .line 384
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterBinding:(Lcom/oracle/js/parser/ir/IdentNode;)Z
            pop
         3: .line 385
            return
        end local 1 // com.oracle.js.parser.ir.VarNode varNode
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    4     1  varNode  Lcom/oracle/js/parser/ir/VarNode;
    MethodParameters:
         Name  Flags
      varNode  

  public void addParameterInitialization(int, com.oracle.js.parser.ir.Expression, boolean, boolean);
    descriptor: (ILcom/oracle/js/parser/ir/Expression;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // int lineNumber
        start local 2 // com.oracle.js.parser.ir.Expression assignment
        start local 3 // boolean isDefault
        start local 4 // boolean isRest
         0: .line 388
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.ensureParameterBlock:()V
         1: .line 389
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            new com.oracle.js.parser.ir.ExpressionStatement
            dup
            iload 1 /* lineNumber */
            aload 2 /* assignment */
            invokevirtual com.oracle.js.parser.ir.Expression.getToken:()J
            aload 2 /* assignment */
            invokevirtual com.oracle.js.parser.ir.Expression.getFinish:()I
            aload 2 /* assignment */
            invokespecial com.oracle.js.parser.ir.ExpressionStatement.<init>:(IJILcom/oracle/js/parser/ir/Expression;)V
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         2: .line 390
            aload 0 /* this */
            iload 3 /* isDefault */
            iload 4 /* isRest */
            iconst_1
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.recordParameter:(ZZZ)V
         3: .line 391
            return
        end local 4 // boolean isRest
        end local 3 // boolean isDefault
        end local 2 // com.oracle.js.parser.ir.Expression assignment
        end local 1 // int lineNumber
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    4     1  lineNumber  I
            0    4     2  assignment  Lcom/oracle/js/parser/ir/Expression;
            0    4     3   isDefault  Z
            0    4     4      isRest  Z
    MethodParameters:
            Name  Flags
      lineNumber  
      assignment  
      isDefault   
      isRest      

  private void ensureParameterBlock();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 394
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifne 3
         1: .line 395
            aload 0 /* this */
            iconst_1
            putfield com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:Z
         2: .line 396
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.initParameterBlock:()V
         3: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void initParameterBlock();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 401
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            ifnonnull 2
         1: .line 402
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.createParameterBlock:()Lcom/oracle/js/parser/ParserContextBlockNode;
            pop
         2: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            ifnull 9
         3: .line 406
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 8
         5: .line 407
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 2 /* paramIdent */
        start local 2 // com.oracle.js.parser.ir.IdentNode paramIdent
         6: .line 408
            aload 0 /* this */
            aload 2 /* paramIdent */
            iload 1 /* i */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.addParameterInit:(Lcom/oracle/js/parser/ir/IdentNode;I)V
        end local 2 // com.oracle.js.parser.ir.IdentNode paramIdent
         7: .line 406
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 5
        end local 1 // int i
         9: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
        10: .line 412
            return
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            4    9     1           i  I
            6    7     2  paramIdent  Lcom/oracle/js/parser/ir/IdentNode;

  public com.oracle.js.parser.ParserContextBlockNode createParameterBlock();
    descriptor: ()Lcom/oracle/js/parser/ParserContextBlockNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 415
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
            ifnull 1
            new java.lang.AssertionError
            dup
            ldc "parameter block must be created before body block"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.oracle.js.parser.ParserContextBlockNode
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.token:J
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parentScope:Lcom/oracle/js/parser/ir/Scope;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlags:()I
            invokestatic com.oracle.js.parser.ir.Scope.createParameter:(Lcom/oracle/js/parser/ir/Scope;I)Lcom/oracle/js/parser/ir/Scope;
            invokespecial com.oracle.js.parser.ParserContextBlockNode.<init>:(JLcom/oracle/js/parser/ir/Scope;)V
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
         2: .line 417
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            bipush 80
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.setFlag:(I)I
            pop
         3: .line 418
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  private void addParameterInit(com.oracle.js.parser.ir.IdentNode, int);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=3
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.IdentNode param
        start local 2 // int index
         0: .line 422
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getToken:()J
            lstore 3 /* paramToken */
        start local 3 // long paramToken
         1: .line 423
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getFinish:()I
            istore 5 /* paramFinish */
        start local 5 // int paramFinish
         2: .line 425
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isRestParameter:()Z
            ifeq 5
         3: .line 426
            new com.oracle.js.parser.ir.ParameterNode
            dup
            lload 3 /* paramToken */
            iload 5 /* paramFinish */
            iload 2 /* index */
            iconst_1
            invokespecial com.oracle.js.parser.ir.ParameterNode.<init>:(JIIZ)V
            astore 6 /* paramValue */
        start local 6 // com.oracle.js.parser.ir.ParameterNode paramValue
         4: .line 427
            goto 6
        end local 6 // com.oracle.js.parser.ir.ParameterNode paramValue
         5: .line 428
      StackMap locals: long int
      StackMap stack:
            new com.oracle.js.parser.ir.ParameterNode
            dup
            lload 3 /* paramToken */
            iload 5 /* paramFinish */
            iload 2 /* index */
            invokespecial com.oracle.js.parser.ir.ParameterNode.<init>:(JII)V
            astore 6 /* paramValue */
        start local 6 // com.oracle.js.parser.ir.ParameterNode paramValue
         6: .line 430
      StackMap locals: com.oracle.js.parser.ir.ParameterNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            new com.oracle.js.parser.ir.VarNode
            dup
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.line:I
            lload 3 /* 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 5 /* paramFinish */
            aload 1 /* param */
            aload 6 /* paramValue */
            iconst_1
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.appendStatement:(Lcom/oracle/js/parser/ir/Statement;)V
         7: .line 431
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifeq 8
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterScope:()Lcom/oracle/js/parser/ir/Scope;
            aload 1 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.js.parser.ir.Scope.hasSymbol:(Ljava/lang/String;)Z
            ifne 9
      StackMap locals:
      StackMap stack:
         8: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 432
      StackMap locals:
      StackMap stack:
            return
        end local 6 // com.oracle.js.parser.ir.ParameterNode paramValue
        end local 5 // int paramFinish
        end local 3 // long paramToken
        end local 2 // int index
        end local 1 // com.oracle.js.parser.ir.IdentNode param
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0   10     1        param  Lcom/oracle/js/parser/ir/IdentNode;
            0   10     2        index  I
            1   10     3   paramToken  J
            2   10     5  paramFinish  I
            4    5     6   paramValue  Lcom/oracle/js/parser/ir/ParameterNode;
            6   10     6   paramValue  Lcom/oracle/js/parser/ir/ParameterNode;
    MethodParameters:
       Name  Flags
      param  
      index  

  public com.oracle.js.parser.ir.Scope createBodyScope();
    descriptor: ()Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 435
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.isScriptOrModule:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifeq 6
         2: .line 439
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getParameterScope:()Lcom/oracle/js/parser/ir/Scope;
            astore 1 /* parent */
        start local 1 // com.oracle.js.parser.ir.Scope parent
         3: .line 440
            aload 1 /* parent */
            invokevirtual com.oracle.js.parser.ir.Scope.close:()V
         4: .line 441
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
         5: .line 442
            goto 7
        end local 1 // com.oracle.js.parser.ir.Scope parent
         6: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parentScope:Lcom/oracle/js/parser/ir/Scope;
            astore 1 /* parent */
        start local 1 // com.oracle.js.parser.ir.Scope parent
         7: .line 446
      StackMap locals: com.oracle.js.parser.ir.Scope
      StackMap stack:
            aload 1 /* parent */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.getFlags:()I
            invokestatic com.oracle.js.parser.ir.Scope.createFunctionBody:(Lcom/oracle/js/parser/ir/Scope;I)Lcom/oracle/js/parser/ir/Scope;
            astore 2 /* scope */
        start local 2 // com.oracle.js.parser.ir.Scope scope
         8: .line 447
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.hasParameterExpressions:()Z
            ifne 16
         9: .line 449
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            ifnull 16
        10: .line 450
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        11: goto 15
        12: .line 451
      StackMap locals: com.oracle.js.parser.ir.Scope int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 4 /* parameter */
        start local 4 // com.oracle.js.parser.ir.IdentNode parameter
        13: .line 452
            aload 2 /* scope */
            new com.oracle.js.parser.ir.Symbol
            dup
            aload 4 /* parameter */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            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 4 // com.oracle.js.parser.ir.IdentNode parameter
        14: .line 450
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 12
        end local 3 // int i
        16: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual com.oracle.js.parser.ParserContextFunctionNode.initBodyScope:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
            areturn
        end local 2 // com.oracle.js.parser.ir.Scope scope
        end local 1 // com.oracle.js.parser.ir.Scope parent
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            3    6     1     parent  Lcom/oracle/js/parser/ir/Scope;
            7   17     1     parent  Lcom/oracle/js/parser/ir/Scope;
            8   17     2      scope  Lcom/oracle/js/parser/ir/Scope;
           11   16     3          i  I
           13   14     4  parameter  Lcom/oracle/js/parser/ir/IdentNode;

  private com.oracle.js.parser.ir.Scope initBodyScope(com.oracle.js.parser.ir.Scope);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.Scope scope
         0: .line 460
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
            ifnonnull 1
            aload 1 /* scope */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            putfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
         3: .line 462
            aload 1 /* scope */
            areturn
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    4     1  scope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
       Name  Flags
      scope  

  public com.oracle.js.parser.ir.Scope getBodyScope();
    descriptor: ()Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 466
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void replaceBodyScope(com.oracle.js.parser.ir.Scope);
    descriptor: (Lcom/oracle/js/parser/ir/Scope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // com.oracle.js.parser.ir.Scope scope
         0: .line 473
            getstatic com.oracle.js.parser.ParserContextFunctionNode.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
            ifnull 1
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
            invokevirtual com.oracle.js.parser.ir.Scope.getSymbolCount:()I
            ifne 1
            aload 1 /* scope */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            putfield com.oracle.js.parser.ParserContextFunctionNode.bodyScope:Lcom/oracle/js/parser/ir/Scope;
         3: .line 475
            return
        end local 1 // com.oracle.js.parser.ir.Scope scope
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    4     1  scope  Lcom/oracle/js/parser/ir/Scope;
    MethodParameters:
       Name  Flags
      scope  

  public com.oracle.js.parser.ir.Scope getParameterScope();
    descriptor: ()Lcom/oracle/js/parser/ir/Scope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 478
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.parameterBlock:Lcom/oracle/js/parser/ParserContextBlockNode;
            invokevirtual com.oracle.js.parser.ParserContextBlockNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public java.lang.String getInternalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
         0: .line 482
            aload 0 /* this */
            getfield com.oracle.js.parser.ParserContextFunctionNode.internalName:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ParserContextFunctionNode;

  public void setInternalName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ParserContextFunctionNode this
        start local 1 // java.lang.String internalName
         0: .line 486
            aload 0 /* this */
            aload 1 /* internalName */
            putfield com.oracle.js.parser.ParserContextFunctionNode.internalName:Ljava/lang/String;
         1: .line 487
            return
        end local 1 // java.lang.String internalName
        end local 0 // com.oracle.js.parser.ParserContextFunctionNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/js/parser/ParserContextFunctionNode;
            0    2     1  internalName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      internalName  

  private static int calculateLength(java.util.List<com.oracle.js.parser.ir.IdentNode>);
    descriptor: (Ljava/util/List;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // java.util.List parameters
         0: .line 490
            iconst_0
            istore 1 /* length */
        start local 1 // int length
         1: .line 491
            aload 0 /* parameters */
            ifnull 8
         2: .line 492
            aload 0 /* parameters */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.List int top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 2 /* param */
        start local 2 // com.oracle.js.parser.ir.IdentNode param
         4: .line 493
            aload 2 /* param */
            invokevirtual com.oracle.js.parser.ir.IdentNode.isRestParameter:()Z
            ifeq 6
         5: .line 494
            goto 8
         6: .line 496
      StackMap locals: java.util.List int com.oracle.js.parser.ir.IdentNode java.util.Iterator
      StackMap stack:
            iinc 1 /* length */ 1
        end local 2 // com.oracle.js.parser.ir.IdentNode param
         7: .line 492
      StackMap locals: java.util.List int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 499
      StackMap locals: java.util.List int
      StackMap stack:
            iload 1 /* length */
            ireturn
        end local 1 // int length
        end local 0 // java.util.List parameters
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            1    9     1      length  I
            4    7     2       param  Lcom/oracle/js/parser/ir/IdentNode;
    Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;)I
    MethodParameters:
            Name  Flags
      parameters  final
}
SourceFile: "ParserContextFunctionNode.java"