public final class com.oracle.js.parser.ir.FunctionNode extends com.oracle.js.parser.ir.LexicalContextExpression implements com.oracle.js.parser.ir.Flags<com.oracle.js.parser.ir.FunctionNode>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.js.parser.ir.FunctionNode
  super_class: com.oracle.js.parser.ir.LexicalContextExpression
{
  private final com.oracle.js.parser.Source source;
    descriptor: Lcom/oracle/js/parser/Source;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object endParserState;
    descriptor: Ljava/lang/Object;
    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.ir.Block body;
    descriptor: Lcom/oracle/js/parser/ir/Block;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

  public static final int IS_ANONYMOUS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int IS_DECLARED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int IS_STRICT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int USES_ARGUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int IS_STATEMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int HAS_EVAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int HAS_NESTED_EVAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int HAS_SCOPE_BLOCK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int DEFINES_ARGUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  public static final int USES_ANCESTOR_SCOPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int IS_SCRIPT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  public static final int IS_GETTER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  public static final int IS_SETTER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  public static final int IS_PROGRAM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  public static final int USES_SELF_SYMBOL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  public static final int USES_THIS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

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

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

  public static final int NEEDS_PARENT_SCOPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8800

  public static final int IS_ARROW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  public static final int IS_MODULE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 131072

  public static final int HAS_DIRECT_SUPER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 262144

  public static final int USES_SUPER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 524288

  public static final int IS_METHOD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  public static final int IS_CLASS_CONSTRUCTOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2097152

  public static final int IS_DERIVED_CONSTRUCTOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4194304

  public static final int USES_NEW_TARGET;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8388608

  public static final int IS_GENERATOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16777216

  public static final int IS_ASYNC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 33554432

  public static final int HAS_NON_SIMPLE_PARAMETER_LIST;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 67108864

  public static final int HAS_ARROW_EVAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 134217728

  public static final int HAS_FUNCTION_DECLARATIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 268435456

  public static final int HAS_APPLY_ARGUMENTS_CALL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 536870912

  public static final int IS_CLASS_FIELD_INITIALIZER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1073741824

  public void <init>(com.oracle.js.parser.Source, int, long, int, long, long, com.oracle.js.parser.ir.IdentNode, java.lang.String, int, int, java.util.List<com.oracle.js.parser.ir.IdentNode>, int, com.oracle.js.parser.ir.Block, , com.oracle.js.parser.ir.Module, java.lang.String);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=20, args_size=17
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.Source source
        start local 2 // int lineNumber
        start local 3 // long token
        start local 5 // int finish
        start local 6 // long firstToken
        start local 8 // long lastToken
        start local 10 // com.oracle.js.parser.ir.IdentNode ident
        start local 11 // java.lang.String name
        start local 12 // int length
        start local 13 // int numOfParams
        start local 14 // java.util.List parameters
        start local 15 // int flags
        start local 16 // com.oracle.js.parser.ir.Block body
        start local 17 // java.lang.Object endParserState
        start local 18 // com.oracle.js.parser.ir.Module module
        start local 19 // java.lang.String internalName
         0: .line 274
            aload 0 /* this */
            lload 3 /* token */
            lload 6 /* firstToken */
            invokestatic com.oracle.js.parser.Token.descPosition:(J)I
            iload 5 /* finish */
            invokespecial com.oracle.js.parser.ir.LexicalContextExpression.<init>:(JII)V
         1: .line 276
            aload 0 /* this */
            aload 1 /* source */
            putfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
         2: .line 277
            aload 0 /* this */
            iload 2 /* lineNumber */
            putfield com.oracle.js.parser.ir.FunctionNode.lineNumber:I
         3: .line 278
            aload 0 /* this */
            aload 10 /* ident */
            putfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
         4: .line 279
            aload 0 /* this */
            aload 11 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
         5: .line 280
            aload 0 /* this */
            iload 12 /* length */
            putfield com.oracle.js.parser.ir.FunctionNode.length:I
         6: .line 281
            aload 0 /* this */
            iload 13 /* numOfParams */
            putfield com.oracle.js.parser.ir.FunctionNode.numOfParams:I
         7: .line 282
            aload 0 /* this */
            aload 14 /* parameters */
            putfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
         8: .line 283
            aload 0 /* this */
            lload 6 /* firstToken */
            putfield com.oracle.js.parser.ir.FunctionNode.firstToken:J
         9: .line 284
            aload 0 /* this */
            lload 8 /* lastToken */
            putfield com.oracle.js.parser.ir.FunctionNode.lastToken:J
        10: .line 285
            aload 0 /* this */
            iload 15 /* flags */
            putfield com.oracle.js.parser.ir.FunctionNode.flags:I
        11: .line 286
            aload 0 /* this */
            aload 16 /* body */
            putfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
        12: .line 287
            aload 0 /* this */
            aload 17 /* endParserState */
            putfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
        13: .line 288
            aload 0 /* this */
            aload 18 /* module */
            putfield com.oracle.js.parser.ir.FunctionNode.module:Lcom/oracle/js/parser/ir/Module;
        14: .line 289
            aload 0 /* this */
            aload 19 /* internalName */
            putfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
        15: .line 290
            return
        end local 19 // java.lang.String internalName
        end local 18 // com.oracle.js.parser.ir.Module module
        end local 17 // java.lang.Object endParserState
        end local 16 // com.oracle.js.parser.ir.Block body
        end local 15 // int flags
        end local 14 // java.util.List parameters
        end local 13 // int numOfParams
        end local 12 // int length
        end local 11 // java.lang.String name
        end local 10 // com.oracle.js.parser.ir.IdentNode ident
        end local 8 // long lastToken
        end local 6 // long firstToken
        end local 5 // int finish
        end local 3 // long token
        end local 2 // int lineNumber
        end local 1 // com.oracle.js.parser.Source source
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   16     1          source  Lcom/oracle/js/parser/Source;
            0   16     2      lineNumber  I
            0   16     3           token  J
            0   16     5          finish  I
            0   16     6      firstToken  J
            0   16     8       lastToken  J
            0   16    10           ident  Lcom/oracle/js/parser/ir/IdentNode;
            0   16    11            name  Ljava/lang/String;
            0   16    12          length  I
            0   16    13     numOfParams  I
            0   16    14      parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            0   16    15           flags  I
            0   16    16            body  Lcom/oracle/js/parser/ir/Block;
            0   16    17  endParserState  Ljava/lang/Object;
            0   16    18          module  Lcom/oracle/js/parser/ir/Module;
            0   16    19    internalName  Ljava/lang/String;
    Signature: (Lcom/oracle/js/parser/Source;IJIJJLcom/oracle/js/parser/ir/IdentNode;Ljava/lang/String;IILjava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;ILcom/oracle/js/parser/ir/Block;Ljava/lang/Object;Lcom/oracle/js/parser/ir/Module;Ljava/lang/String;)V
    MethodParameters:
                Name  Flags
      source          final
      lineNumber      final
      token           final
      finish          final
      firstToken      final
      lastToken       final
      ident           final
      name            final
      length          final
      numOfParams     final
      parameters      final
      flags           final
      body            final
      endParserState  final
      module          final
      internalName    final

  private void <init>(com.oracle.js.parser.ir.FunctionNode, long, , int, java.lang.String, com.oracle.js.parser.ir.Block, java.util.List<com.oracle.js.parser.ir.IdentNode>, com.oracle.js.parser.Source);
    descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Lcom/oracle/js/parser/ir/Block;Ljava/util/List;Lcom/oracle/js/parser/Source;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=9
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
        start local 2 // long lastToken
        start local 4 // java.lang.Object endParserState
        start local 5 // int flags
        start local 6 // java.lang.String name
        start local 7 // com.oracle.js.parser.ir.Block body
        start local 8 // java.util.List parameters
        start local 9 // com.oracle.js.parser.Source source
         0: .line 301
            aload 0 /* this */
            aload 1 /* functionNode */
            invokespecial com.oracle.js.parser.ir.LexicalContextExpression.<init>:(Lcom/oracle/js/parser/ir/LexicalContextExpression;)V
         1: .line 303
            aload 0 /* this */
            aload 4 /* endParserState */
            putfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
         2: .line 304
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.lineNumber:I
            putfield com.oracle.js.parser.ir.FunctionNode.lineNumber:I
         3: .line 305
            aload 0 /* this */
            iload 5 /* flags */
            putfield com.oracle.js.parser.ir.FunctionNode.flags:I
         4: .line 306
            aload 0 /* this */
            aload 6 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
         5: .line 307
            aload 0 /* this */
            lload 2 /* lastToken */
            putfield com.oracle.js.parser.ir.FunctionNode.lastToken:J
         6: .line 308
            aload 0 /* this */
            aload 7 /* body */
            putfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
         7: .line 309
            aload 0 /* this */
            aload 8 /* parameters */
            putfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
         8: .line 310
            aload 0 /* this */
            aload 9 /* source */
            putfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
         9: .line 313
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
            putfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
        10: .line 314
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.firstToken:J
            putfield com.oracle.js.parser.ir.FunctionNode.firstToken:J
        11: .line 315
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.length:I
            putfield com.oracle.js.parser.ir.FunctionNode.length:I
        12: .line 316
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.numOfParams:I
            putfield com.oracle.js.parser.ir.FunctionNode.numOfParams:I
        13: .line 317
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.module:Lcom/oracle/js/parser/ir/Module;
            putfield com.oracle.js.parser.ir.FunctionNode.module:Lcom/oracle/js/parser/ir/Module;
        14: .line 318
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
            putfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
        15: .line 319
            return
        end local 9 // com.oracle.js.parser.Source source
        end local 8 // java.util.List parameters
        end local 7 // com.oracle.js.parser.ir.Block body
        end local 6 // java.lang.String name
        end local 5 // int flags
        end local 4 // java.lang.Object endParserState
        end local 2 // long lastToken
        end local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   16     1    functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
            0   16     2       lastToken  J
            0   16     4  endParserState  Ljava/lang/Object;
            0   16     5           flags  I
            0   16     6            name  Ljava/lang/String;
            0   16     7            body  Lcom/oracle/js/parser/ir/Block;
            0   16     8      parameters  Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
            0   16     9          source  Lcom/oracle/js/parser/Source;
    Signature: (Lcom/oracle/js/parser/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Lcom/oracle/js/parser/ir/Block;Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;Lcom/oracle/js/parser/Source;)V
    MethodParameters:
                Name  Flags
      functionNode    final
      lastToken       final
      endParserState  final
      flags           final
      name            final
      body            final
      parameters      final
      source          final

  public com.oracle.js.parser.ir.Node accept(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.visitor.NodeVisitor<? extends com.oracle.js.parser.ir.LexicalContext>);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
         0: .line 323
            aload 2 /* visitor */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.enterFunctionNode:(Lcom/oracle/js/parser/ir/FunctionNode;)Z
            ifeq 2
         1: .line 324
            aload 2 /* visitor */
            aload 0 /* this */
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 2 /* visitor */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.Block
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setBody:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.leaveFunctionNode:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/js/parser/ir/Node;
            areturn
         2: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/js/parser/ir/FunctionNode;
            0    3     1       lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  visitor  Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;
    Signature: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;)Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      lc       final
      visitor  final

  public <R> R accept(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor<? extends com.oracle.js.parser.ir.LexicalContext, R>);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor visitor
         0: .line 331
            aload 2 /* visitor */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor.enterFunctionNode:(Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor visitor
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/js/parser/ir/FunctionNode;
            0    1     1       lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    1     2  visitor  Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;TR;>;
    Signature: <R:Ljava/lang/Object;>(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;TR;>;)TR;
    MethodParameters:
         Name  Flags
      lc       
      visitor  

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

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

  public java.lang.String getSourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 358
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
            invokestatic com.oracle.js.parser.ir.FunctionNode.getSourceName:(Lcom/oracle/js/parser/Source;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public static java.lang.String getSourceName(com.oracle.js.parser.Source);
    descriptor: (Lcom/oracle/js/parser/Source;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.oracle.js.parser.Source source
         0: .line 368
            aload 0 /* source */
            invokevirtual com.oracle.js.parser.Source.getExplicitURL:()Ljava/lang/String;
            astore 1 /* explicitURL */
        start local 1 // java.lang.String explicitURL
         1: .line 369
            aload 1 /* explicitURL */
            ifnull 2
            aload 1 /* explicitURL */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* source */
            invokevirtual com.oracle.js.parser.Source.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String explicitURL
        end local 0 // com.oracle.js.parser.Source source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       source  Lcom/oracle/js/parser/Source;
            1    4     1  explicitURL  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  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.ir.FunctionNode this
         0: .line 378
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.lineNumber:I
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printTypes
         0: .line 383
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAsync:()Z
            ifeq 2
         1: .line 384
            aload 1 /* sb */
            ldc "async "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "function"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 387
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isGenerator:()Z
            ifeq 5
         4: .line 388
            aload 1 /* sb */
            bipush 42
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
            ifnull 9
         6: .line 392
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 393
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         8: .line 394
            goto 14
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 12
        10: .line 395
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 396
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 14
        13: .line 397
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.toStringTail:(Ljava/lang/StringBuilder;Z)V
        15: .line 401
            return
        end local 2 // boolean printTypes
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   16     1          sb  Ljava/lang/StringBuilder;
            0   16     2  printTypes  Z
    MethodParameters:
            Name  Flags
      sb          final
      printTypes  final

  void toStringTail(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printTypes
         0: .line 404
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 406
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: goto 7
         3: .line 407
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 4 /* parameter */
        start local 4 // com.oracle.js.parser.ir.IdentNode parameter
         4: .line 408
            aload 4 /* parameter */
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         5: .line 409
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 7
         6: .line 410
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // com.oracle.js.parser.ir.IdentNode parameter
         7: .line 406
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator iter
         8: .line 414
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 415
            return
        end local 2 // boolean printTypes
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   10     1          sb  Ljava/lang/StringBuilder;
            0   10     2  printTypes  Z
            2    8     3        iter  Ljava/util/Iterator<Lcom/oracle/js/parser/ir/IdentNode;>;
            4    7     4   parameter  Lcom/oracle/js/parser/ir/IdentNode;
    MethodParameters:
            Name  Flags
      sb          final
      printTypes  final

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

  public boolean getFlag(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // int flag
         0: .line 424
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.flags:I
            iload 1 /* flag */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int flag
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/FunctionNode;
            0    2     1  flag  I
    MethodParameters:
      Name  Flags
      flag  final

  public com.oracle.js.parser.ir.FunctionNode setFlags(com.oracle.js.parser.ir.LexicalContext, int);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // int flags
         0: .line 429
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.flags:I
            iload 2 /* flags */
            if_icmpne 2
         1: .line 430
            aload 0 /* this */
            areturn
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.FunctionNode
            dup
         3: .line 433
            aload 0 /* this */
         4: .line 434
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.lastToken:J
         5: .line 435
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
         6: .line 436
            iload 2 /* flags */
         7: .line 437
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
         8: .line 438
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
         9: .line 439
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
        10: .line 440
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
            invokespecial com.oracle.js.parser.ir.FunctionNode.<init>:(Lcom/oracle/js/parser/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Lcom/oracle/js/parser/ir/Block;Ljava/util/List;Lcom/oracle/js/parser/Source;)V
        11: .line 432
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.FunctionNode
            areturn
        end local 2 // int flags
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   12     1     lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0   12     2  flags  I
    MethodParameters:
       Name  Flags
      lc     final
      flags  final

  public com.oracle.js.parser.ir.FunctionNode setFlag(com.oracle.js.parser.ir.LexicalContext, int);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // int flag
         0: .line 445
            aload 0 /* this */
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.flags:I
            iload 2 /* flag */
            ior
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setFlags:(Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
        end local 2 // int flag
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;
            0    1     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    1     2  flag  I
    MethodParameters:
      Name  Flags
      lc    final
      flag  final

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

  public boolean hasEval();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 464
            aload 0 /* this */
            bipush 32
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

  public boolean usesThis();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 482
            aload 0 /* this */
            ldc 32768
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  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.ir.FunctionNode this
         0: .line 491
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.ident:Lcom/oracle/js/parser/ir/IdentNode;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

  public com.oracle.js.parser.ir.Block getVarDeclarationBlock();
    descriptor: ()Lcom/oracle/js/parser/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 508
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
            invokevirtual com.oracle.js.parser.ir.Block.isParameterBlock:()Z
            ifeq 2
         1: .line 509
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
            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;
            areturn
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public com.oracle.js.parser.ir.FunctionNode setBody(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.Block body
         0: .line 522
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 2 /* body */
            if_acmpne 2
         1: .line 523
            aload 0 /* this */
            areturn
         2: .line 525
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
         3: new com.oracle.js.parser.ir.FunctionNode
            dup
         4: .line 526
            aload 0 /* this */
         5: .line 527
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.lastToken:J
         6: .line 528
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
         7: .line 529
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.flags:I
            aload 2 /* body */
            invokevirtual com.oracle.js.parser.ir.Block.needsScope:()Z
            ifeq 8
            sipush 128
            goto 9
      StackMap locals: com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.Block
      StackMap stack: com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.FunctionNode new 3 new 3 com.oracle.js.parser.ir.FunctionNode long java.lang.Object int
         8: iconst_0
      StackMap locals: com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.Block
      StackMap stack: com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.FunctionNode new 3 new 3 com.oracle.js.parser.ir.FunctionNode long java.lang.Object int int
         9: ior
        10: .line 530
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
        11: .line 531
            aload 2 /* body */
        12: .line 532
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
        13: .line 533
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
            invokespecial com.oracle.js.parser.ir.FunctionNode.<init>:(Lcom/oracle/js/parser/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Lcom/oracle/js/parser/ir/Block;Ljava/util/List;Lcom/oracle/js/parser/Source;)V
        14: .line 525
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.FunctionNode
            areturn
        end local 2 // com.oracle.js.parser.ir.Block body
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   15     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0   15     2  body  Lcom/oracle/js/parser/ir/Block;
    MethodParameters:
      Name  Flags
      lc    final
      body  final

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

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

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

  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.ir.FunctionNode this
         0: .line 582
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  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.ir.FunctionNode this
         0: .line 591
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
            ifne 2
         1: .line 592
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            areturn
         2: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public com.oracle.js.parser.ir.FunctionNode setName(com.oracle.js.parser.ir.LexicalContext, java.lang.String);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Ljava/lang/String;)Lcom/oracle/js/parser/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // java.lang.String name
         0: .line 605
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.name:Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 606
            aload 0 /* this */
            areturn
         2: .line 608
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.FunctionNode
            dup
         3: .line 609
            aload 0 /* this */
         4: .line 610
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.lastToken:J
         5: .line 611
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.endParserState:Ljava/lang/Object;
         6: .line 612
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.flags:I
         7: .line 613
            aload 2 /* name */
         8: .line 614
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.body:Lcom/oracle/js/parser/ir/Block;
         9: .line 615
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
        10: .line 616
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.source:Lcom/oracle/js/parser/Source;
            invokespecial com.oracle.js.parser.ir.FunctionNode.<init>:(Lcom/oracle/js/parser/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Lcom/oracle/js/parser/ir/Block;Ljava/util/List;Lcom/oracle/js/parser/Source;)V
        11: .line 608
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.FunctionNode
            areturn
        end local 2 // java.lang.String name
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/js/parser/ir/FunctionNode;
            0   12     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0   12     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      lc    final
      name  final

  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.ir.FunctionNode this
         0: .line 620
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.internalName:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  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.ir.FunctionNode this
         0: .line 629
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.parameters:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;
    Signature: ()Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;

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

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

  public boolean isDeclared();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 656
            aload 0 /* this */
            iconst_2
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

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

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

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

  public boolean usesSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 692
            aload 0 /* this */
            ldc 524288
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean hasDirectSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 696
            aload 0 /* this */
            ldc 262144
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

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

  public boolean usesNewTarget();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 708
            aload 0 /* this */
            ldc 8388608
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean isScript();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 712
            aload 0 /* this */
            sipush 1024
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean isGetter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 716
            aload 0 /* this */
            sipush 2048
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean isSetter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 720
            aload 0 /* this */
            sipush 4096
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

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

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

  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.ir.FunctionNode this
         0: .line 736
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.FunctionNode.module:Lcom/oracle/js/parser/ir/Module;
            areturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean isStatement();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 740
            aload 0 /* this */
            bipush 16
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

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

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

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

  public void setUsesAncestorScope(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
        start local 1 // boolean usesAncestorScope
         0: .line 756
            aload 0 /* this */
            iload 1 /* usesAncestorScope */
            putfield com.oracle.js.parser.ir.FunctionNode.usesAncestorScope:Z
         1: .line 757
            return
        end local 1 // boolean usesAncestorScope
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/oracle/js/parser/ir/FunctionNode;
            0    2     1  usesAncestorScope  Z
    MethodParameters:
                   Name  Flags
      usesAncestorScope  

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

  boolean isFunctionDeclaration();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 764
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isDeclared:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isNormal:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean hasApplyArgumentsCall();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 768
            aload 0 /* this */
            ldc 536870912
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean hasArrowEval();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 772
            aload 0 /* this */
            ldc 134217728
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean needsThis();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 776
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.usesThis:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasDirectSuper:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasEval:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasArrowEval:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean needsNewTarget();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 780
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.usesNewTarget:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasDirectSuper:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isProgram:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasEval:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasArrowEval:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean needsSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 784
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.usesSuper:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isMethod:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasEval:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.hasArrowEval:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public boolean isClassFieldInitializer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.FunctionNode this
         0: .line 788
            aload 0 /* this */
            ldc 1073741824
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // com.oracle.js.parser.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/FunctionNode;

  public com.oracle.js.parser.ir.LexicalContextNode setFlag(com.oracle.js.parser.ir.LexicalContext, int);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/LexicalContextNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setFlag:(Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.js.parser.ir.LexicalContextNode setFlags(com.oracle.js.parser.ir.LexicalContext, int);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/LexicalContextNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual com.oracle.js.parser.ir.FunctionNode.setFlags:(Lcom/oracle/js/parser/ir/LexicalContext;I)Lcom/oracle/js/parser/ir/FunctionNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lcom/oracle/js/parser/ir/LexicalContextExpression;Lcom/oracle/js/parser/ir/Flags<Lcom/oracle/js/parser/ir/FunctionNode;>;
SourceFile: "FunctionNode.java"