class jdk.nashorn.internal.codegen.CodeGenerator$3 extends jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.codegen.CodeGenerator$3
  super_class: jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
{
  final jdk.nashorn.internal.codegen.CodeGenerator this$0;
    descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final jdk.nashorn.internal.ir.CallNode val$callNode;
    descriptor: Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds val$resultBounds;
    descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final jdk.nashorn.internal.ir.Block val$currentBlock;
    descriptor: Ljdk/nashorn/internal/ir/Block;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.List val$args;
    descriptor: Ljava/util/List;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext val$codegenLexicalContext;
    descriptor: Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final jdk.nashorn.internal.ir.Expression val$function;
    descriptor: Ljdk/nashorn/internal/ir/Expression;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.nashorn.internal.codegen.CodeGenerator, jdk.nashorn.internal.ir.CallNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, jdk.nashorn.internal.ir.Block, java.util.List, jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext, jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/Expression;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
         0: .line 1443
            aload 0 /* this */
            aload 1
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            aload 2
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            aload 3
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 0 /* this */
            aload 4
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$currentBlock:Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            aload 5
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            aload 0 /* this */
            aload 6
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$codegenLexicalContext:Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
            aload 0 /* this */
            aload 7
            putfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
    MethodParameters:
                           Name  Flags
      this$0                     final
      val$callNode               final
      val$resultBounds           final
      val$currentBlock           final
      val$args                   final
      val$codegenLexicalContext  final
      val$function               final

  private jdk.nashorn.internal.codegen.MethodEmitter sharedScopeCall(jdk.nashorn.internal.ir.IdentNode, int);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        start local 2 // int flags
         0: .line 1446
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 3 /* symbol */
        start local 3 // jdk.nashorn.internal.ir.Symbol symbol
         1: .line 1447
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1449
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$3$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$currentBlock:Ljdk/nashorn/internal/ir/Block;
            aload 3 /* symbol */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$codegenLexicalContext:Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
            aload 1 /* identNode */
            iload 2 /* flags */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$1.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/IdentNode;I)V
         3: .line 1474
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$1.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 1476
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 3 // jdk.nashorn.internal.ir.Symbol symbol
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    5     1  identNode  Ljdk/nashorn/internal/ir/IdentNode;
            0    5     2      flags  I
            1    5     3     symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
           Name  Flags
      identNode  final
      flags      final

  private void scopeCall(jdk.nashorn.internal.ir.IdentNode, int);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.IdentNode ident
        start local 2 // int flags
         0: .line 1480
            new jdk.nashorn.internal.codegen.CodeGenerator$3$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* ident */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            iload 2 /* flags */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$2.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/IdentNode;Ljava/util/List;I)V
         1: .line 1493
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$2.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 1494
            return
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.IdentNode ident
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    3     1  ident  Ljdk/nashorn/internal/ir/IdentNode;
            0    3     2  flags  I
    MethodParameters:
       Name  Flags
      ident  final
      flags  final

  private void evalCall(jdk.nashorn.internal.ir.IdentNode, int);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.IdentNode ident
        start local 2 // int flags
         0: .line 1497
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "invoke_direct_eval"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 3 /* invoke_direct_eval */
        start local 3 // jdk.nashorn.internal.codegen.Label invoke_direct_eval
         1: .line 1498
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "is_not_eval"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* is_not_eval */
        start local 4 // jdk.nashorn.internal.codegen.Label is_not_eval
         2: .line 1499
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "eval_done"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 5 /* eval_done */
        start local 5 // jdk.nashorn.internal.codegen.Label eval_done
         3: .line 1501
            new jdk.nashorn.internal.codegen.CodeGenerator$3$3
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* ident */
            aload 4 /* is_not_eval */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 3 /* invoke_direct_eval */
            iload 2 /* flags */
            aload 5 /* eval_done */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$3.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/Label;ILjdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         4: .line 1563
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$3.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 1565
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* eval_done */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         6: .line 1566
            return
        end local 5 // jdk.nashorn.internal.codegen.Label eval_done
        end local 4 // jdk.nashorn.internal.codegen.Label is_not_eval
        end local 3 // jdk.nashorn.internal.codegen.Label invoke_direct_eval
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.IdentNode ident
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    7     1               ident  Ljdk/nashorn/internal/ir/IdentNode;
            0    7     2               flags  I
            1    7     3  invoke_direct_eval  Ljdk/nashorn/internal/codegen/Label;
            2    7     4         is_not_eval  Ljdk/nashorn/internal/codegen/Label;
            3    7     5           eval_done  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
       Name  Flags
      ident  final
      flags  final

  public boolean enterIdentNode(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.IdentNode node
         0: .line 1570
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 2 /* symbol */
        start local 2 // jdk.nashorn.internal.ir.Symbol symbol
         1: .line 1572
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifeq 12
         2: .line 1573
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
            istore 3 /* flags */
        start local 3 // int flags
         3: .line 1574
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getUseCount:()I
            pop
         4: .line 1577
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            invokevirtual jdk.nashorn.internal.ir.CallNode.isEval:()Z
            ifeq 7
         5: .line 1578
            aload 0 /* this */
            aload 1 /* node */
            iload 3 /* flags */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3.evalCall:(Ljdk/nashorn/internal/ir/IdentNode;I)V
         6: .line 1579
            goto 11
      StackMap locals: jdk.nashorn.internal.ir.Symbol int
      StackMap stack:
         7: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifeq 8
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getUseCount:()I
            getstatic jdk.nashorn.internal.codegen.SharedScopeCall.SHARED_CALL_THRESHOLD:I
            if_icmpge 10
         8: .line 1580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            iload 3 /* flags */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3.scopeCall:(Ljdk/nashorn/internal/ir/IdentNode;I)V
         9: .line 1581
            goto 11
        10: .line 1582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            iload 3 /* flags */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3.sharedScopeCall:(Ljdk/nashorn/internal/ir/IdentNode;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 1584
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            invokevirtual jdk.nashorn.internal.ir.CallNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            invokevirtual jdk.nashorn.internal.ir.CallNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // int flags
        12: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3.enterDefault:(Ljdk/nashorn/internal/ir/Node;)Z
            pop
        13: .line 1589
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Symbol symbol
        end local 1 // jdk.nashorn.internal.ir.IdentNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0   14     1    node  Ljdk/nashorn/internal/ir/IdentNode;
            1   14     2  symbol  Ljdk/nashorn/internal/ir/Symbol;
            3   12     3   flags  I
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterAccessNode(jdk.nashorn.internal.ir.AccessNode);
    descriptor: (Ljdk/nashorn/internal/ir/AccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.AccessNode node
         0: .line 1599
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            invokevirtual jdk.nashorn.internal.ir.CallNode.isApplyToCall:()Z
            ifeq 1
            sipush 256
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_0
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$3 jdk.nashorn.internal.ir.AccessNode
      StackMap stack: int int
         2: ior
            istore 2 /* flags */
        start local 2 // int flags
         3: .line 1601
            new jdk.nashorn.internal.codegen.CodeGenerator$3$4
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* node */
            iload 2 /* flags */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$4.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/AccessNode;ILjava/util/List;)V
         4: .line 1618
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$4.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 1620
            iconst_0
            ireturn
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.AccessNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    6     1   node  Ljdk/nashorn/internal/ir/AccessNode;
            3    6     2  flags  I
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode origCallee
         0: .line 1625
            new jdk.nashorn.internal.codegen.CodeGenerator$3$5
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* origCallee */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$5.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;)V
         1: .line 1643
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$5.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 1644
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.FunctionNode origCallee
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    3     1  origCallee  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
            Name  Flags
      origCallee  final

  public boolean enterIndexNode(jdk.nashorn.internal.ir.IndexNode);
    descriptor: (Ljdk/nashorn/internal/ir/IndexNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.IndexNode node
         0: .line 1649
            new jdk.nashorn.internal.codegen.CodeGenerator$3$6
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* node */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$6.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/IndexNode;Ljava/util/List;)V
         1: .line 1672
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$6.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 1673
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IndexNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    3     1  node  Ljdk/nashorn/internal/ir/IndexNode;
    MethodParameters:
      Name  Flags
      node  final

  protected boolean enterDefault(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
        start local 1 // jdk.nashorn.internal.ir.Node node
         0: .line 1678
            new jdk.nashorn.internal.codegen.CodeGenerator$3$7
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.val$args:Ljava/util/List;
            aload 1 /* node */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3$7.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;Ljdk/nashorn/internal/ir/Node;)V
         1: .line 1692
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$7.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 1693
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Node node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$3;
            0    3     1  node  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  static jdk.nashorn.internal.codegen.CodeGenerator access$0(jdk.nashorn.internal.codegen.CodeGenerator$3);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1443
            aload 0
            getfield jdk.nashorn.internal.codegen.CodeGenerator$3.this$0:Ljdk/nashorn/internal/codegen/CodeGenerator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "CodeGenerator.java"
EnclosingMethod: jdk.nashorn.internal.codegen.CodeGenerator.loadCallNode:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Z
NestHost: jdk.nashorn.internal.codegen.CodeGenerator
InnerClasses:
  jdk.nashorn.internal.codegen.CodeGenerator$3
  jdk.nashorn.internal.codegen.CodeGenerator$3$1
  jdk.nashorn.internal.codegen.CodeGenerator$3$2
  jdk.nashorn.internal.codegen.CodeGenerator$3$3
  jdk.nashorn.internal.codegen.CodeGenerator$3$4
  jdk.nashorn.internal.codegen.CodeGenerator$3$5
  jdk.nashorn.internal.codegen.CodeGenerator$3$6
  jdk.nashorn.internal.codegen.CodeGenerator$3$7
  private final TypeBounds = jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds of jdk.nashorn.internal.codegen.CodeGenerator