public final class jdk.nashorn.internal.ir.FunctionNode extends jdk.nashorn.internal.ir.LexicalContextExpression implements jdk.nashorn.internal.ir.Flags<jdk.nashorn.internal.ir.FunctionNode>, jdk.nashorn.internal.ir.CompileUnitHolder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.ir.FunctionNode
  super_class: jdk.nashorn.internal.ir.LexicalContextExpression
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final jdk.nashorn.internal.codegen.types.Type FUNCTION_TYPE;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final transient jdk.nashorn.internal.runtime.Source source;
    descriptor: Ljdk/nashorn/internal/runtime/Source;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

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

  private final jdk.nashorn.internal.ir.IdentNode ident;
    descriptor: Ljdk/nashorn/internal/ir/IdentNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Ignore()

  private final jdk.nashorn.internal.ir.Block body;
    descriptor: Ljdk/nashorn/internal/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 jdk.nashorn.internal.codegen.CompileUnit compileUnit;
    descriptor: Ljdk/nashorn/internal/codegen/CompileUnit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.ir.FunctionNode$Kind kind;
    descriptor: Ljdk/nashorn/internal/ir/FunctionNode$Kind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<jdk.nashorn.internal.ir.IdentNode> parameters;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;

  private final java.util.Map<jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression> parameterExpressions;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;>;

  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 transient jdk.nashorn.internal.codegen.Namespace namespace;
    descriptor: Ljdk/nashorn/internal/codegen/Namespace;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final int thisProperties;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Ignore()

  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 java.lang.Class<?> rootClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final jdk.nashorn.internal.ir.Module module;
    descriptor: Ljdk/nashorn/internal/ir/Module;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  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_SPLIT;
    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 HAS_FUNCTION_DECLARATIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

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

  public static final int HAS_APPLY_TO_CALL_SPECIALIZATION;
    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

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

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

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

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

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

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

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

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

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

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

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

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

  public static final int HAS_ALL_VARS_IN_SCOPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, 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 DEBUG_PRINT_PARSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

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

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

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

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

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

  public jdk.nashorn.internal.codegen.types.Type returnType;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            putstatic jdk.nashorn.internal.ir.FunctionNode.FUNCTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
         1: .line 298
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.nashorn.internal.runtime.Source, int, long, int, long, long, jdk.nashorn.internal.codegen.Namespace, jdk.nashorn.internal.ir.IdentNode, java.lang.String, java.util.List<jdk.nashorn.internal.ir.IdentNode>, java.util.Map<jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression>, jdk.nashorn.internal.ir.FunctionNode$Kind, int, jdk.nashorn.internal.ir.Block, , jdk.nashorn.internal.ir.Module, );
    descriptor: (Ljdk/nashorn/internal/runtime/Source;IJIJJLjdk/nashorn/internal/codegen/Namespace;Ljdk/nashorn/internal/ir/IdentNode;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljdk/nashorn/internal/ir/FunctionNode$Kind;ILjdk/nashorn/internal/ir/Block;Ljava/lang/Object;Ljdk/nashorn/internal/ir/Module;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=21, args_size=18
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.runtime.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 // jdk.nashorn.internal.codegen.Namespace namespace
        start local 11 // jdk.nashorn.internal.ir.IdentNode ident
        start local 12 // java.lang.String name
        start local 13 // java.util.List parameters
        start local 14 // java.util.Map paramExprs
        start local 15 // jdk.nashorn.internal.ir.FunctionNode$Kind kind
        start local 16 // int flags
        start local 17 // jdk.nashorn.internal.ir.Block body
        start local 18 // java.lang.Object endParserState
        start local 19 // jdk.nashorn.internal.ir.Module module
        start local 20 // int debugFlags
         0: .line 342
            aload 0 /* this */
            lload 3 /* token */
            iload 5 /* finish */
            invokespecial jdk.nashorn.internal.ir.LexicalContextExpression.<init>:(JI)V
         1: .line 301
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            putfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
         2: .line 344
            aload 0 /* this */
            aload 1 /* source */
            putfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
         3: .line 345
            aload 0 /* this */
            iload 2 /* lineNumber */
            putfield jdk.nashorn.internal.ir.FunctionNode.lineNumber:I
         4: .line 346
            aload 0 /* this */
            aload 11 /* ident */
            putfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
         5: .line 347
            aload 0 /* this */
            aload 12 /* name */
            putfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
         6: .line 348
            aload 0 /* this */
            aload 15 /* kind */
            putfield jdk.nashorn.internal.ir.FunctionNode.kind:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
         7: .line 349
            aload 0 /* this */
            aload 13 /* parameters */
            putfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
         8: .line 350
            aload 0 /* this */
            aload 14 /* paramExprs */
            putfield jdk.nashorn.internal.ir.FunctionNode.parameterExpressions:Ljava/util/Map;
         9: .line 351
            aload 0 /* this */
            lload 6 /* firstToken */
            putfield jdk.nashorn.internal.ir.FunctionNode.firstToken:J
        10: .line 352
            aload 0 /* this */
            lload 8 /* lastToken */
            putfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
        11: .line 353
            aload 0 /* this */
            aload 10 /* namespace */
            putfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        12: .line 354
            aload 0 /* this */
            iload 16 /* flags */
            putfield jdk.nashorn.internal.ir.FunctionNode.flags:I
        13: .line 355
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        14: .line 356
            aload 0 /* this */
            aload 17 /* body */
            putfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        15: .line 357
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        16: .line 358
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
        17: .line 359
            aload 0 /* this */
            aload 18 /* endParserState */
            putfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
        18: .line 360
            aload 0 /* this */
            aload 19 /* module */
            putfield jdk.nashorn.internal.ir.FunctionNode.module:Ljdk/nashorn/internal/ir/Module;
        19: .line 361
            aload 0 /* this */
            iload 20 /* debugFlags */
            putfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
        20: .line 362
            return
        end local 20 // int debugFlags
        end local 19 // jdk.nashorn.internal.ir.Module module
        end local 18 // java.lang.Object endParserState
        end local 17 // jdk.nashorn.internal.ir.Block body
        end local 16 // int flags
        end local 15 // jdk.nashorn.internal.ir.FunctionNode$Kind kind
        end local 14 // java.util.Map paramExprs
        end local 13 // java.util.List parameters
        end local 12 // java.lang.String name
        end local 11 // jdk.nashorn.internal.ir.IdentNode ident
        end local 10 // jdk.nashorn.internal.codegen.Namespace namespace
        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 // jdk.nashorn.internal.runtime.Source source
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   21     1          source  Ljdk/nashorn/internal/runtime/Source;
            0   21     2      lineNumber  I
            0   21     3           token  J
            0   21     5          finish  I
            0   21     6      firstToken  J
            0   21     8       lastToken  J
            0   21    10       namespace  Ljdk/nashorn/internal/codegen/Namespace;
            0   21    11           ident  Ljdk/nashorn/internal/ir/IdentNode;
            0   21    12            name  Ljava/lang/String;
            0   21    13      parameters  Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
            0   21    14      paramExprs  Ljava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;>;
            0   21    15            kind  Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            0   21    16           flags  I
            0   21    17            body  Ljdk/nashorn/internal/ir/Block;
            0   21    18  endParserState  Ljava/lang/Object;
            0   21    19          module  Ljdk/nashorn/internal/ir/Module;
            0   21    20      debugFlags  I
    Signature: (Ljdk/nashorn/internal/runtime/Source;IJIJJLjdk/nashorn/internal/codegen/Namespace;Ljdk/nashorn/internal/ir/IdentNode;Ljava/lang/String;Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;Ljava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;>;Ljdk/nashorn/internal/ir/FunctionNode$Kind;ILjdk/nashorn/internal/ir/Block;Ljava/lang/Object;Ljdk/nashorn/internal/ir/Module;I)V
    MethodParameters:
                Name  Flags
      source          final
      lineNumber      final
      token           final
      finish          final
      firstToken      final
      lastToken       final
      namespace       final
      ident           final
      name            final
      parameters      final
      paramExprs      final
      kind            final
      flags           final
      body            final
      endParserState  final
      module          final
      debugFlags      final

  private void <init>(jdk.nashorn.internal.ir.FunctionNode, long, , int, java.lang.String, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.CompileUnit, jdk.nashorn.internal.ir.Block, java.util.List<jdk.nashorn.internal.ir.IdentNode>, int, java.lang.Class<?>, jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.codegen.Namespace);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=15, args_size=14
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.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 // jdk.nashorn.internal.codegen.types.Type returnType
        start local 8 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        start local 9 // jdk.nashorn.internal.ir.Block body
        start local 10 // java.util.List parameters
        start local 11 // int thisProperties
        start local 12 // java.lang.Class rootClass
        start local 13 // jdk.nashorn.internal.runtime.Source source
        start local 14 // jdk.nashorn.internal.codegen.Namespace namespace
         0: .line 377
            aload 0 /* this */
            aload 1 /* functionNode */
            invokespecial jdk.nashorn.internal.ir.LexicalContextExpression.<init>:(Ljdk/nashorn/internal/ir/LexicalContextExpression;)V
         1: .line 301
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            putfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
         2: .line 379
            aload 0 /* this */
            aload 4 /* endParserState */
            putfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         3: .line 380
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.lineNumber:I
            putfield jdk.nashorn.internal.ir.FunctionNode.lineNumber:I
         4: .line 381
            aload 0 /* this */
            iload 5 /* flags */
            putfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         5: .line 382
            aload 0 /* this */
            aload 6 /* name */
            putfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
         6: .line 383
            aload 0 /* this */
            aload 7 /* returnType */
            putfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
         7: .line 384
            aload 0 /* this */
            aload 8 /* compileUnit */
            putfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
         8: .line 385
            aload 0 /* this */
            lload 2 /* lastToken */
            putfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         9: .line 386
            aload 0 /* this */
            aload 9 /* body */
            putfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        10: .line 387
            aload 0 /* this */
            aload 10 /* parameters */
            putfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        11: .line 388
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameterExpressions:Ljava/util/Map;
            putfield jdk.nashorn.internal.ir.FunctionNode.parameterExpressions:Ljava/util/Map;
        12: .line 389
            aload 0 /* this */
            iload 11 /* thisProperties */
            putfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        13: .line 390
            aload 0 /* this */
            aload 12 /* rootClass */
            putfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
        14: .line 391
            aload 0 /* this */
            aload 13 /* source */
            putfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
        15: .line 392
            aload 0 /* this */
            aload 14 /* namespace */
            putfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 395
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
            putfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
        17: .line 396
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.kind:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            putfield jdk.nashorn.internal.ir.FunctionNode.kind:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
        18: .line 397
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.firstToken:J
            putfield jdk.nashorn.internal.ir.FunctionNode.firstToken:J
        19: .line 398
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.module:Ljdk/nashorn/internal/ir/Module;
            putfield jdk.nashorn.internal.ir.FunctionNode.module:Ljdk/nashorn/internal/ir/Module;
        20: .line 399
            aload 0 /* this */
            aload 1 /* functionNode */
            getfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
            putfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
        21: .line 400
            return
        end local 14 // jdk.nashorn.internal.codegen.Namespace namespace
        end local 13 // jdk.nashorn.internal.runtime.Source source
        end local 12 // java.lang.Class rootClass
        end local 11 // int thisProperties
        end local 10 // java.util.List parameters
        end local 9 // jdk.nashorn.internal.ir.Block body
        end local 8 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        end local 7 // jdk.nashorn.internal.codegen.types.Type returnType
        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 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   22     1    functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0   22     2       lastToken  J
            0   22     4  endParserState  Ljava/lang/Object;
            0   22     5           flags  I
            0   22     6            name  Ljava/lang/String;
            0   22     7      returnType  Ljdk/nashorn/internal/codegen/types/Type;
            0   22     8     compileUnit  Ljdk/nashorn/internal/codegen/CompileUnit;
            0   22     9            body  Ljdk/nashorn/internal/ir/Block;
            0   22    10      parameters  Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
            0   22    11  thisProperties  I
            0   22    12       rootClass  Ljava/lang/Class<*>;
            0   22    13          source  Ljdk/nashorn/internal/runtime/Source;
            0   22    14       namespace  Ljdk/nashorn/internal/codegen/Namespace;
    Signature: (Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;ILjava/lang/Class<*>;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
    MethodParameters:
                Name  Flags
      functionNode    final
      lastToken       final
      endParserState  final
      flags           final
      name            final
      returnType      final
      compileUnit     final
      body            final
      parameters      final
      thisProperties  final
      rootClass       final
      source          final
      namespace       final

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

  public java.util.List<jdk.nashorn.internal.ir.IdentNode> visitParameters(jdk.nashorn.internal.ir.visitor.NodeVisitor<? extends jdk.nashorn.internal.ir.LexicalContext>);
    descriptor: (Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.visitor.NodeVisitor visitor
         0: .line 416
            aload 1 /* visitor */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            invokestatic jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;Ljava/util/List;)Ljava/util/List;
            areturn
        end local 1 // jdk.nashorn.internal.ir.visitor.NodeVisitor visitor
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1  visitor  Ljdk/nashorn/internal/ir/visitor/NodeVisitor<+Ljdk/nashorn/internal/ir/LexicalContext;>;
    Signature: (Ljdk/nashorn/internal/ir/visitor/NodeVisitor<+Ljdk/nashorn/internal/ir/LexicalContext;>;)Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
    MethodParameters:
         Name  Flags
      visitor  final

  public int getCallSiteFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 425
            iconst_0
            istore 1 /* callsiteFlags */
        start local 1 // int callsiteFlags
         1: .line 426
            aload 0 /* this */
            iconst_4
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ifeq 3
         2: .line 427
            iload 1 /* callsiteFlags */
            bipush 16
            ior
            istore 1 /* callsiteFlags */
         3: .line 431
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
            sipush 511
            iand
            ifne 5
         4: .line 432
            iload 1 /* callsiteFlags */
            ireturn
         5: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 32
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
            ifeq 7
         6: .line 436
            iload 1 /* callsiteFlags */
            sipush 512
            ior
            istore 1 /* callsiteFlags */
         7: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 128
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
            ifeq 9
         8: .line 440
            iload 1 /* callsiteFlags */
            sipush 3072
            ior
            istore 1 /* callsiteFlags */
         9: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 256
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
            ifeq 11
        10: .line 444
            iload 1 /* callsiteFlags */
            sipush 13312
            ior
            istore 1 /* callsiteFlags */
        11: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
            ifeq 13
        12: .line 448
            iload 1 /* callsiteFlags */
            sipush 5120
            ior
            istore 1 /* callsiteFlags */
        13: .line 451
      StackMap locals:
      StackMap stack:
            iload 1 /* callsiteFlags */
            ireturn
        end local 1 // int callsiteFlags
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljdk/nashorn/internal/ir/FunctionNode;
            1   14     1  callsiteFlags  I

  public jdk.nashorn.internal.runtime.Source getSource();
    descriptor: ()Ljdk/nashorn/internal/runtime/Source;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 459
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode initializeDeserialized(jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.codegen.Namespace);
    descriptor: (Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=16, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.runtime.Source source
        start local 2 // jdk.nashorn.internal.codegen.Namespace namespace
         0: .line 473
            aload 1 /* source */
            ifnull 1
            aload 2 /* namespace */
            ifnonnull 2
         1: .line 474
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 1 /* source */
            if_acmpne 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
            aload 2 /* namespace */
            if_acmpne 4
         3: .line 476
            aload 0 /* this */
            areturn
         4: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            ifnonnull 5
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
            ifnull 6
         5: .line 478
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         6: .line 480
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         7: .line 481
            aload 0 /* this */
         8: .line 482
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         9: .line 483
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
        10: .line 484
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
        11: .line 485
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        12: .line 486
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        13: .line 487
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        14: .line 488
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        15: .line 489
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        16: .line 490
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        17: .line 491
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 1 /* source */
            aload 2 /* namespace */
        18: .line 480
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
            areturn
        end local 2 // jdk.nashorn.internal.codegen.Namespace namespace
        end local 1 // jdk.nashorn.internal.runtime.Source source
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   19     1     source  Ljdk/nashorn/internal/runtime/Source;
            0   19     2  namespace  Ljdk/nashorn/internal/codegen/Namespace;
    MethodParameters:
           Name  Flags
      source     final
      namespace  final

  public int getId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 499
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
            ifeq 1
            iconst_m1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.firstToken:J
            invokestatic jdk.nashorn.internal.parser.Token.descPosition:(J)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/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 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 508
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            invokestatic jdk.nashorn.internal.ir.FunctionNode.getSourceName:(Ljdk/nashorn/internal/runtime/Source;)Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public static java.lang.String getSourceName(jdk.nashorn.internal.runtime.Source);
    descriptor: (Ljdk/nashorn/internal/runtime/Source;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source source
         0: .line 518
            aload 0 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Source.getExplicitURL:()Ljava/lang/String;
            astore 1 /* explicitURL */
        start local 1 // java.lang.String explicitURL
         1: .line 519
            aload 1 /* explicitURL */
            ifnull 2
            aload 1 /* explicitURL */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String explicitURL
        end local 0 // jdk.nashorn.internal.runtime.Source source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       source  Ljdk/nashorn/internal/runtime/Source;
            1    4     1  explicitURL  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  final

  public static int getDirectiveFlag(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String directive
         0: .line 529
            aload 0 /* directive */
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 9
          -1523015107: 1
          -1374308069: 2
           -262002780: 3
            375132083: 4
            823663954: 5
           1149106347: 6
           1280395651: 7
           1402803979: 8
           2121912771: 9
              default: 19
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 1
            ldc "nashorn callsite trace enterexit"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 19
      StackMap locals:
      StackMap stack:
         2: aload 1
            ldc "nashorn callsite trace objects"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 19
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "nashorn print lower parse"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 19
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "nashorn print lower ast"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 19
      StackMap locals:
      StackMap stack:
         5: aload 1
            ldc "nashorn print ast"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 19
      StackMap locals:
      StackMap stack:
         6: aload 1
            ldc "nashorn print symbols"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 19
      StackMap locals:
      StackMap stack:
         7: aload 1
            ldc "nashorn print parse"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 19
      StackMap locals:
      StackMap stack:
         8: aload 1
            ldc "nashorn callsite profile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 19
      StackMap locals:
      StackMap stack:
         9: aload 1
            ldc "nashorn callsite trace misses"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 19
        10: .line 531
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
        11: .line 533
      StackMap locals:
      StackMap stack:
            sipush 128
            ireturn
        12: .line 535
      StackMap locals:
      StackMap stack:
            sipush 256
            ireturn
        13: .line 537
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
        14: .line 539
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        15: .line 541
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        16: .line 543
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
        17: .line 545
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
        18: .line 547
      StackMap locals:
      StackMap stack:
            bipush 16
            ireturn
        19: .line 550
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String directive
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0  directive  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      directive  final

  public int getLineNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 559
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lineNumber:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  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 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // java.lang.String base
         0: .line 568
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
            aload 1 /* base */
            invokevirtual jdk.nashorn.internal.codegen.Namespace.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String base
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1  base  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      base  final

  public void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printTypes
         0: .line 573
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         1: .line 574
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 575
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 576
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 578
            aload 1 /* sb */
            ldc "function"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 580
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
            ifnull 8
         6: .line 581
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 582
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         8: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 587
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
        10: goto 17
        11: .line 588
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 4 /* parameter */
        start local 4 // jdk.nashorn.internal.ir.IdentNode parameter
        12: .line 589
            aload 4 /* parameter */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            ifnull 14
        13: .line 590
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* parameter */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 592
      StackMap locals: jdk.nashorn.internal.ir.IdentNode
      StackMap stack:
            aload 4 /* parameter */
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
        15: .line 593
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 17
        16: .line 594
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // jdk.nashorn.internal.ir.IdentNode parameter
        17: .line 587
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator iter
        18: .line 598
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 599
            return
        end local 2 // boolean printTypes
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   20     1          sb  Ljava/lang/StringBuilder;
            0   20     2  printTypes  Z
           10   18     3        iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/IdentNode;>;
           12   17     4   parameter  Ljdk/nashorn/internal/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 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 603
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean getFlag(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // int flag
         0: .line 608
            aload 0 /* this */
            getfield jdk.nashorn.internal.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 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    2     1  flag  I
    MethodParameters:
      Name  Flags
      flag  final

  public jdk.nashorn.internal.ir.FunctionNode setFlags(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // int flags
         0: .line 613
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
            iload 2 /* flags */
            if_icmpne 2
         1: .line 614
            aload 0 /* this */
            areturn
         2: .line 617
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 618
            aload 0 /* this */
         4: .line 619
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 620
            aload 0 /* this */
         6: .line 621
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 622
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 623
            iload 2 /* flags */
         9: .line 624
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        10: .line 625
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 626
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        12: .line 627
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 628
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        14: .line 629
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        15: .line 630
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 619
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 616
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1     lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  flags  I
    MethodParameters:
       Name  Flags
      lc     final
      flags  final

  public jdk.nashorn.internal.ir.FunctionNode clearFlag(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // int flag
         0: .line 635
            aload 0 /* this */
            aload 1 /* lc */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
            iload 2 /* flag */
            iconst_m1
            ixor
            iand
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlags:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 2 // int flag
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1    lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0    1     2  flag  I
    MethodParameters:
      Name  Flags
      lc    final
      flag  final

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

  public int getDebugFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 649
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean getDebugFlag(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // int debugFlag
         0: .line 659
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.debugFlags:I
            iload 1 /* debugFlag */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int debugFlag
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    2     1  debugFlag  I
    MethodParameters:
           Name  Flags
      debugFlag  final

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

  public boolean canBeDeoptimized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 675
            aload 0 /* this */
            sipush 2048
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

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

  public boolean hasNestedEval();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 693
            aload 0 /* this */
            bipush 64
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public long getFirstToken();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 701
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.firstToken:J
            lreturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean hasDeclaredFunctions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 709
            aload 0 /* this */
            sipush 1024
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean needsCallee();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 725
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.usesSelfSymbol:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isSplit:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasApplyToCallSpecialization:()Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

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

  public boolean hasApplyToCallSpecialization();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 743
            aload 0 /* this */
            sipush 4096
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.IdentNode getIdent();
    descriptor: ()Ljdk/nashorn/internal/ir/IdentNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 751
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.ident:Ljdk/nashorn/internal/ir/IdentNode;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.Block getBody();
    descriptor: ()Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 759
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setBody(jdk.nashorn.internal.ir.LexicalContext, jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // jdk.nashorn.internal.ir.Block body
         0: .line 769
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
            aload 2 /* body */
            if_acmpne 2
         1: .line 770
            aload 0 /* this */
            areturn
         2: .line 773
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 774
            aload 0 /* this */
         4: .line 775
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 776
            aload 0 /* this */
         6: .line 777
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 778
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 779
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 780
            aload 2 /* body */
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifeq 11
        10: .line 781
            sipush 128
            goto 12
        11: .line 782
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.Block
      StackMap stack: jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.FunctionNode new 4 new 4 jdk.nashorn.internal.ir.FunctionNode long java.lang.Object int
            iconst_0
        12: .line 779
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.Block
      StackMap stack: jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.FunctionNode new 4 new 4 jdk.nashorn.internal.ir.FunctionNode long java.lang.Object int int
            ior
        13: .line 783
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        14: .line 784
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        15: .line 785
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        16: .line 786
            aload 2 /* body */
        17: .line 787
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        18: .line 788
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        19: .line 789
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        20: .line 775
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        21: .line 772
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // jdk.nashorn.internal.ir.Block body
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   22     1    lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   22     2  body  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
      Name  Flags
      lc    final
      body  final

  public boolean isVarArg();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 801
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            sipush 250
            if_icmpgt 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean inDynamicContext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 810
            aload 0 /* this */
            ldc 65536
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

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

  public jdk.nashorn.internal.ir.FunctionNode setInDynamicContext(jdk.nashorn.internal.ir.LexicalContext);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
         0: .line 831
            aload 0 /* this */
            aload 1 /* lc */
            ldc 65536
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1    lc  Ljdk/nashorn/internal/ir/LexicalContext;
    MethodParameters:
      Name  Flags
      lc    final

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

  public boolean needsParentScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 857
            aload 0 /* this */
            sipush 8800
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setThisProperties(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // int thisProperties
         0: .line 867
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
            iload 2 /* thisProperties */
            if_icmpne 2
         1: .line 868
            aload 0 /* this */
            areturn
         2: .line 871
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 872
            aload 0 /* this */
         4: .line 873
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 874
            aload 0 /* this */
         6: .line 875
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 876
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 877
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 878
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        10: .line 879
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 880
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        12: .line 881
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 882
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        14: .line 883
            iload 2 /* thisProperties */
        15: .line 884
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 873
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 870
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // int thisProperties
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1              lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  thisProperties  I
    MethodParameters:
                Name  Flags
      lc              final
      thisProperties  final

  public int getThisProperties();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 892
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean hasScopeBlock();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 900
            aload 0 /* this */
            sipush 128
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode$Kind getKind();
    descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 909
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.kind:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public long getLastToken();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 917
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
            lreturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/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 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 925
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/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 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 933
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setName(jdk.nashorn.internal.ir.LexicalContext, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/String;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // java.lang.String name
         0: .line 943
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 944
            aload 0 /* this */
            areturn
         2: .line 947
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 948
            aload 0 /* this */
         4: .line 949
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 950
            aload 0 /* this */
         6: .line 951
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 952
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 953
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 954
            aload 2 /* name */
        10: .line 955
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 956
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        12: .line 957
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 958
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        14: .line 959
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        15: .line 960
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 949
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 946
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // java.lang.String name
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1    lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      lc    final
      name  final

  public boolean allVarsInScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 970
            aload 0 /* this */
            bipush 96
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isSplit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 979
            aload 0 /* this */
            bipush 16
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public java.util.List<jdk.nashorn.internal.ir.IdentNode> getParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 987
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
    Signature: ()Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;

  public java.util.Map<jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression> getParameterExpressions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 996
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameterExpressions:Ljava/util/Map;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
    Signature: ()Ljava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;>;

  public int getNumOfParams();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1004
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.IdentNode getParameter(int);
    descriptor: (I)Ljdk/nashorn/internal/ir/IdentNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // int index
         0: .line 1014
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            areturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public jdk.nashorn.internal.ir.FunctionNode setParameters(jdk.nashorn.internal.ir.LexicalContext, java.util.List<jdk.nashorn.internal.ir.IdentNode>);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // java.util.List parameters
         0: .line 1025
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
            aload 2 /* parameters */
            if_acmpne 2
         1: .line 1026
            aload 0 /* this */
            areturn
         2: .line 1029
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 1030
            aload 0 /* this */
         4: .line 1031
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 1032
            aload 0 /* this */
         6: .line 1033
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 1034
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 1035
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 1036
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        10: .line 1037
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 1038
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        12: .line 1039
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 1040
            aload 2 /* parameters */
        14: .line 1041
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        15: .line 1042
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 1031
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 1028
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // java.util.List parameters
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1          lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  parameters  Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
    Signature: (Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;)Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
            Name  Flags
      lc          final
      parameters  final

  public boolean isDeclared();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1050
            aload 0 /* this */
            iconst_2
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isAnonymous();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1058
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean usesSelfSymbol();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1068
            aload 0 /* this */
            sipush 16384
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isNamedFunctionExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1077
            aload 0 /* this */
            sipush 8195
            invokevirtual jdk.nashorn.internal.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 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.codegen.types.Type getType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1082
            getstatic jdk.nashorn.internal.ir.FunctionNode.FUNCTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.codegen.types.Type getWidestOperationType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1087
            getstatic jdk.nashorn.internal.ir.FunctionNode.FUNCTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.codegen.types.Type getReturnType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1098
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setReturnType(jdk.nashorn.internal.ir.LexicalContext, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // jdk.nashorn.internal.codegen.types.Type returnType
         0: .line 1111
            aload 2 /* returnType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 1
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* returnType */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: astore 3 /* type */
        start local 3 // jdk.nashorn.internal.codegen.types.Type type
         3: .line 1112
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 3 /* type */
            if_acmpne 5
         4: .line 1113
            aload 0 /* this */
            areturn
         5: .line 1116
      StackMap locals: jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 1 /* lc */
         6: .line 1117
            aload 0 /* this */
         7: .line 1118
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         8: .line 1119
            aload 0 /* this */
         9: .line 1120
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
        10: .line 1121
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
        11: .line 1122
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
        12: .line 1123
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        13: .line 1124
            aload 3 /* type */
        14: .line 1125
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        15: .line 1126
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        16: .line 1127
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        17: .line 1128
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        18: .line 1129
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        19: .line 1118
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        20: .line 1115
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 3 // jdk.nashorn.internal.codegen.types.Type type
        end local 2 // jdk.nashorn.internal.codegen.types.Type returnType
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   21     1          lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   21     2  returnType  Ljdk/nashorn/internal/codegen/types/Type;
            3   21     3        type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
            Name  Flags
      lc          final
      returnType  final

  public boolean isStrict();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1138
            aload 0 /* this */
            iconst_4
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isCached();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1146
            aload 0 /* this */
            ldc 262144
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setCached(jdk.nashorn.internal.ir.LexicalContext);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
         0: .line 1155
            aload 0 /* this */
            aload 1 /* lc */
            ldc 262144
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1    lc  Ljdk/nashorn/internal/ir/LexicalContext;
    MethodParameters:
      Name  Flags
      lc    final

  public boolean isStrong();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1164
            aload 0 /* this */
            ldc 16777216
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isMethod();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1173
            aload 0 /* this */
            ldc 2097152
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean usesSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1182
            aload 0 /* this */
            ldc 1048576
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean hasDirectSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1191
            aload 0 /* this */
            ldc 524288
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isClassConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1200
            aload 0 /* this */
            ldc 4194304
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isSubclassConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1209
            aload 0 /* this */
            ldc 8388608
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean usesNewTarget();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1218
            aload 0 /* this */
            ldc 33554432
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFlag:(I)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public boolean isModule();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1227
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.kind:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.MODULE:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.Module getModule();
    descriptor: ()Ljdk/nashorn/internal/ir/Module;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1236
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.module:Ljdk/nashorn/internal/ir/Module;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.codegen.CompileUnit getCompileUnit();
    descriptor: ()Ljdk/nashorn/internal/codegen/CompileUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1246
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;

  public jdk.nashorn.internal.ir.FunctionNode setCompileUnit(jdk.nashorn.internal.ir.LexicalContext, jdk.nashorn.internal.codegen.CompileUnit);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
         0: .line 1257
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
            aload 2 /* compileUnit */
            if_acmpne 2
         1: .line 1258
            aload 0 /* this */
            areturn
         2: .line 1261
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 1262
            aload 0 /* this */
         4: .line 1263
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 1264
            aload 0 /* this */
         6: .line 1265
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 1266
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 1267
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 1268
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        10: .line 1269
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 1270
            aload 2 /* compileUnit */
        12: .line 1271
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 1272
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        14: .line 1273
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        15: .line 1274
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 1263
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 1260
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1           lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  compileUnit  Ljdk/nashorn/internal/codegen/CompileUnit;
    MethodParameters:
             Name  Flags
      lc           final
      compileUnit  final

  public jdk.nashorn.internal.ir.Symbol compilerConstant(jdk.nashorn.internal.codegen.CompilerConstants);
    descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
         0: .line 1293
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            areturn
        end local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
            0    1     1    cc  Ljdk/nashorn/internal/codegen/CompilerConstants;
    MethodParameters:
      Name  Flags
      cc    final

  public java.lang.Class<?> getRootClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
         0: .line 1301
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            areturn
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/FunctionNode;
    Signature: ()Ljava/lang/Class<*>;

  public jdk.nashorn.internal.ir.FunctionNode setRootClass(jdk.nashorn.internal.ir.LexicalContext, java.lang.Class<?>);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.FunctionNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // java.lang.Class rootClass
         0: .line 1312
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.rootClass:Ljava/lang/Class;
            aload 2 /* rootClass */
            if_acmpne 2
         1: .line 1313
            aload 0 /* this */
            areturn
         2: .line 1316
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
         3: .line 1317
            aload 0 /* this */
         4: .line 1318
            new jdk.nashorn.internal.ir.FunctionNode
            dup
         5: .line 1319
            aload 0 /* this */
         6: .line 1320
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.lastToken:J
         7: .line 1321
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.endParserState:Ljava/lang/Object;
         8: .line 1322
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.flags:I
         9: .line 1323
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.name:Ljava/lang/String;
        10: .line 1324
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.returnType:Ljdk/nashorn/internal/codegen/types/Type;
        11: .line 1325
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
        12: .line 1326
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.body:Ljdk/nashorn/internal/ir/Block;
        13: .line 1327
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.parameters:Ljava/util/List;
        14: .line 1328
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.thisProperties:I
        15: .line 1329
            aload 2 /* rootClass */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.source:Ljdk/nashorn/internal/runtime/Source;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.FunctionNode.namespace:Ljdk/nashorn/internal/codegen/Namespace;
        16: .line 1318
            invokespecial jdk.nashorn.internal.ir.FunctionNode.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;JLjava/lang/Object;ILjava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;ILjava/lang/Class;Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/codegen/Namespace;)V
        17: .line 1315
            invokestatic jdk.nashorn.internal.ir.Node.replaceInLexicalContext:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 2 // java.lang.Class rootClass
        end local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        end local 0 // jdk.nashorn.internal.ir.FunctionNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljdk/nashorn/internal/ir/FunctionNode;
            0   18     1         lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   18     2  rootClass  Ljava/lang/Class<*>;
    Signature: (Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class<*>;)Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
           Name  Flags
      lc         final
      rootClass  final

  public jdk.nashorn.internal.ir.LexicalContextNode setFlag(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/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 jdk.nashorn.internal.ir.FunctionNode.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.nashorn.internal.ir.LexicalContextNode setFlags(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/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 jdk.nashorn.internal.ir.FunctionNode.setFlags:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.nashorn.internal.ir.LexicalContextNode clearFlag(jdk.nashorn.internal.ir.LexicalContext, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/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 jdk.nashorn.internal.ir.FunctionNode.clearFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.nashorn.internal.ir.Node accept(jdk.nashorn.internal.ir.visitor.NodeVisitor);
    descriptor: (Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial jdk.nashorn.internal.ir.LexicalContextExpression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljdk/nashorn/internal/ir/LexicalContextExpression;Ljdk/nashorn/internal/ir/Flags<Ljdk/nashorn/internal/ir/FunctionNode;>;Ljdk/nashorn/internal/ir/CompileUnitHolder;
SourceFile: "FunctionNode.java"
NestMembers:
  jdk.nashorn.internal.ir.FunctionNode$Kind
InnerClasses:
  public final Kind = jdk.nashorn.internal.ir.FunctionNode$Kind of jdk.nashorn.internal.ir.FunctionNode
    RuntimeInvisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Immutable()