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

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

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

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

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

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

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

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

  private final jdk.nashorn.internal.codegen.types.Type optimisticType;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.ir.CallNode$EvalArgs evalArgs;
    descriptor: Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Ignore()

  public void <init>(int, long, int, jdk.nashorn.internal.ir.Expression, java.util.List<jdk.nashorn.internal.ir.Expression>, );
    descriptor: (IJILjdk/nashorn/internal/ir/Expression;Ljava/util/List;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int finish
        start local 5 // jdk.nashorn.internal.ir.Expression function
        start local 6 // java.util.List args
        start local 7 // boolean isNew
         0: .line 125
            aload 0 /* this */
            lload 2 /* token */
            iload 4 /* finish */
            invokespecial jdk.nashorn.internal.ir.LexicalContextExpression.<init>:(JI)V
         1: .line 127
            aload 0 /* this */
            aload 5 /* function */
            putfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
         2: .line 128
            aload 0 /* this */
            aload 6 /* args */
            putfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
         3: .line 129
            aload 0 /* this */
            iload 7 /* isNew */
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: jdk.nashorn.internal.ir.CallNode int long int jdk.nashorn.internal.ir.Expression java.util.List int
      StackMap stack: jdk.nashorn.internal.ir.CallNode
         4: iconst_0
      StackMap locals: jdk.nashorn.internal.ir.CallNode int long int jdk.nashorn.internal.ir.Expression java.util.List int
      StackMap stack: jdk.nashorn.internal.ir.CallNode int
         5: putfield jdk.nashorn.internal.ir.CallNode.flags:I
         6: .line 130
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
         7: .line 131
            aload 0 /* this */
            iload 1 /* lineNumber */
            putfield jdk.nashorn.internal.ir.CallNode.lineNumber:I
         8: .line 132
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.ir.CallNode.programPoint:I
         9: .line 133
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
        10: .line 134
            return
        end local 7 // boolean isNew
        end local 6 // java.util.List args
        end local 5 // jdk.nashorn.internal.ir.Expression function
        end local 4 // int finish
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/ir/CallNode;
            0   11     1  lineNumber  I
            0   11     2       token  J
            0   11     4      finish  I
            0   11     5    function  Ljdk/nashorn/internal/ir/Expression;
            0   11     6        args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            0   11     7       isNew  Z
    Signature: (IJILjdk/nashorn/internal/ir/Expression;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;Z)V
    MethodParameters:
            Name  Flags
      lineNumber  final
      token       final
      finish      final
      function    final
      args        final
      isNew       final

  private void <init>(jdk.nashorn.internal.ir.CallNode, jdk.nashorn.internal.ir.Expression, java.util.List<jdk.nashorn.internal.ir.Expression>, int, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.ir.CallNode$EvalArgs, );
    descriptor: (Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // jdk.nashorn.internal.ir.CallNode callNode
        start local 2 // jdk.nashorn.internal.ir.Expression function
        start local 3 // java.util.List args
        start local 4 // int flags
        start local 5 // jdk.nashorn.internal.codegen.types.Type optimisticType
        start local 6 // jdk.nashorn.internal.ir.CallNode$EvalArgs evalArgs
        start local 7 // int programPoint
         0: .line 137
            aload 0 /* this */
            aload 1 /* callNode */
            invokespecial jdk.nashorn.internal.ir.LexicalContextExpression.<init>:(Ljdk/nashorn/internal/ir/LexicalContextExpression;)V
         1: .line 138
            aload 0 /* this */
            aload 1 /* callNode */
            getfield jdk.nashorn.internal.ir.CallNode.lineNumber:I
            putfield jdk.nashorn.internal.ir.CallNode.lineNumber:I
         2: .line 139
            aload 0 /* this */
            aload 2 /* function */
            putfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
         3: .line 140
            aload 0 /* this */
            aload 3 /* args */
            putfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
         4: .line 141
            aload 0 /* this */
            iload 4 /* flags */
            putfield jdk.nashorn.internal.ir.CallNode.flags:I
         5: .line 142
            aload 0 /* this */
            aload 6 /* evalArgs */
            putfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
         6: .line 143
            aload 0 /* this */
            iload 7 /* programPoint */
            putfield jdk.nashorn.internal.ir.CallNode.programPoint:I
         7: .line 144
            aload 0 /* this */
            aload 5 /* optimisticType */
            putfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
         8: .line 145
            return
        end local 7 // int programPoint
        end local 6 // jdk.nashorn.internal.ir.CallNode$EvalArgs evalArgs
        end local 5 // jdk.nashorn.internal.codegen.types.Type optimisticType
        end local 4 // int flags
        end local 3 // java.util.List args
        end local 2 // jdk.nashorn.internal.ir.Expression function
        end local 1 // jdk.nashorn.internal.ir.CallNode callNode
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Ljdk/nashorn/internal/ir/CallNode;
            0    9     1        callNode  Ljdk/nashorn/internal/ir/CallNode;
            0    9     2        function  Ljdk/nashorn/internal/ir/Expression;
            0    9     3            args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            0    9     4           flags  I
            0    9     5  optimisticType  Ljdk/nashorn/internal/codegen/types/Type;
            0    9     6        evalArgs  Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            0    9     7    programPoint  I
    Signature: (Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
    MethodParameters:
                Name  Flags
      callNode        final
      function        final
      args            final
      flags           final
      optimisticType  final
      evalArgs        final
      programPoint    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.CallNode this
         0: .line 152
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.lineNumber:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  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.CallNode this
         0: .line 157
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            ifnonnull 1
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: areturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.ir.Optimistic setType(jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/ir/Optimistic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // jdk.nashorn.internal.codegen.types.Type optimisticType
         0: .line 162
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 1 /* optimisticType */
            if_acmpne 2
         1: .line 163
            aload 0 /* this */
            areturn
         2: .line 165
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            aload 1 /* optimisticType */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // jdk.nashorn.internal.codegen.types.Type optimisticType
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  optimisticType  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
                Name  Flags
      optimisticType  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=4, args_size=3
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // jdk.nashorn.internal.ir.LexicalContext lc
        start local 2 // jdk.nashorn.internal.ir.visitor.NodeVisitor visitor
         0: .line 177
            aload 2 /* visitor */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.visitor.NodeVisitor.enterCallNode:(Ljdk/nashorn/internal/ir/CallNode;)Z
            ifeq 11
         1: .line 178
            aload 2 /* visitor */
         2: .line 179
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 2 /* visitor */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            checkcast jdk.nashorn.internal.ir.Expression
            invokevirtual jdk.nashorn.internal.ir.CallNode.setFunction:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/CallNode;
         3: .line 180
            aload 2 /* visitor */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            invokestatic jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;Ljava/util/List;)Ljava/util/List;
            invokevirtual jdk.nashorn.internal.ir.CallNode.setArgs:(Ljava/util/List;)Ljdk/nashorn/internal/ir/CallNode;
         4: .line 181
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            ifnonnull 6
         5: .line 182
            aconst_null
            goto 7
         6: .line 183
      StackMap locals: jdk.nashorn.internal.ir.CallNode jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.visitor.NodeVisitor
      StackMap stack: jdk.nashorn.internal.ir.visitor.NodeVisitor jdk.nashorn.internal.ir.CallNode
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 2 /* visitor */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            invokevirtual jdk.nashorn.internal.ir.CallNode$EvalArgs.getArgs:()Ljava/util/List;
            invokestatic jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;Ljava/util/List;)Ljava/util/List;
            invokevirtual jdk.nashorn.internal.ir.CallNode$EvalArgs.setArgs:(Ljava/util/List;)Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
         7: .line 181
      StackMap locals: jdk.nashorn.internal.ir.CallNode jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.visitor.NodeVisitor
      StackMap stack: jdk.nashorn.internal.ir.visitor.NodeVisitor jdk.nashorn.internal.ir.CallNode jdk.nashorn.internal.ir.CallNode$EvalArgs
            invokevirtual jdk.nashorn.internal.ir.CallNode.setEvalArgs:(Ljdk/nashorn/internal/ir/CallNode$EvalArgs;)Ljdk/nashorn/internal/ir/CallNode;
         8: .line 178
            invokevirtual jdk.nashorn.internal.ir.visitor.NodeVisitor.leaveCallNode:(Ljdk/nashorn/internal/ir/CallNode;)Ljdk/nashorn/internal/ir/Node;
            checkcast jdk.nashorn.internal.ir.CallNode
            astore 3 /* newCallNode */
        start local 3 // jdk.nashorn.internal.ir.CallNode newCallNode
         9: .line 186
            aload 0 /* this */
            aload 3 /* newCallNode */
            if_acmpeq 11
        10: .line 187
            aload 1 /* lc */
            aload 0 /* this */
            aload 3 /* newCallNode */
            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.Node
            areturn
        end local 3 // jdk.nashorn.internal.ir.CallNode newCallNode
        11: .line 191
      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.CallNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Ljdk/nashorn/internal/ir/CallNode;
            0   12     1           lc  Ljdk/nashorn/internal/ir/LexicalContext;
            0   12     2      visitor  Ljdk/nashorn/internal/ir/visitor/NodeVisitor<+Ljdk/nashorn/internal/ir/LexicalContext;>;
            9   11     3  newCallNode  Ljdk/nashorn/internal/ir/CallNode;
    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 void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printType
         0: .line 196
            iload 2 /* printType */
            ifeq 2
         1: .line 197
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual jdk.nashorn.internal.ir.CallNode.optimisticTypeToString:(Ljava/lang/StringBuilder;)V
         2: .line 200
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* fsb */
        start local 3 // java.lang.StringBuilder fsb
         3: .line 201
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 3 /* fsb */
            iload 2 /* printType */
            invokevirtual jdk.nashorn.internal.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
         4: .line 203
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.CallNode.isApplyToCall:()Z
            ifeq 7
         5: .line 204
            aload 1 /* sb */
            aload 3 /* fsb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "apply"
            ldc "[apply => call]"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 205
            goto 8
         7: .line 206
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            aload 3 /* fsb */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
         8: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 211
            iconst_1
            istore 4 /* first */
        start local 4 // boolean first
        10: .line 213
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: jdk.nashorn.internal.ir.CallNode java.lang.StringBuilder int java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Node
            astore 5 /* arg */
        start local 5 // jdk.nashorn.internal.ir.Node arg
        12: .line 214
            iload 4 /* first */
            ifne 15
        13: .line 215
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 216
            goto 16
        15: .line 217
      StackMap locals: jdk.nashorn.internal.ir.CallNode java.lang.StringBuilder int java.lang.StringBuilder int jdk.nashorn.internal.ir.Node java.util.Iterator
      StackMap stack:
            iconst_0
            istore 4 /* first */
        16: .line 220
      StackMap locals:
      StackMap stack:
            aload 5 /* arg */
            aload 1 /* sb */
            iload 2 /* printType */
            invokevirtual jdk.nashorn.internal.ir.Node.toString:(Ljava/lang/StringBuilder;Z)V
        end local 5 // jdk.nashorn.internal.ir.Node arg
        17: .line 213
      StackMap locals: jdk.nashorn.internal.ir.CallNode java.lang.StringBuilder int java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 223
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 224
            return
        end local 4 // boolean first
        end local 3 // java.lang.StringBuilder fsb
        end local 2 // boolean printType
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Ljdk/nashorn/internal/ir/CallNode;
            0   20     1         sb  Ljava/lang/StringBuilder;
            0   20     2  printType  Z
            3   20     3        fsb  Ljava/lang/StringBuilder;
           10   20     4      first  Z
           12   17     5        arg  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
           Name  Flags
      sb         final
      printType  final

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

  public jdk.nashorn.internal.ir.CallNode setArgs(java.util.List<jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljava/util/List;)Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // java.util.List args
         0: .line 240
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            aload 1 /* args */
            if_acmpne 2
         1: .line 241
            aload 0 /* this */
            areturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* args */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // java.util.List args
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Ljdk/nashorn/internal/ir/CallNode;
    MethodParameters:
      Name  Flags
      args  final

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

  public jdk.nashorn.internal.ir.CallNode setEvalArgs(jdk.nashorn.internal.ir.CallNode$EvalArgs);
    descriptor: (Ljdk/nashorn/internal/ir/CallNode$EvalArgs;)Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // jdk.nashorn.internal.ir.CallNode$EvalArgs evalArgs
         0: .line 262
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 1 /* evalArgs */
            if_acmpne 2
         1: .line 263
            aload 0 /* this */
            areturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 1 /* evalArgs */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.CallNode$EvalArgs evalArgs
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  evalArgs  Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
    MethodParameters:
          Name  Flags
      evalArgs  final

  public boolean isEval();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 273
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public boolean isApplyToCall();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 282
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.ir.CallNode setIsApplyToCall();
    descriptor: ()Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 290
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            iconst_2
            ior
            invokevirtual jdk.nashorn.internal.ir.CallNode.setFlags:(I)Ljdk/nashorn/internal/ir/CallNode;
            areturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.ir.Expression getFunction();
    descriptor: ()Ljdk/nashorn/internal/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 298
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            areturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.ir.CallNode setFunction(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // jdk.nashorn.internal.ir.Expression function
         0: .line 307
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* function */
            if_acmpne 2
         1: .line 308
            aload 0 /* this */
            areturn
         2: .line 310
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 1 /* function */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression function
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  function  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
          Name  Flags
      function  final

  public boolean isNew();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 318
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/CallNode;

  private jdk.nashorn.internal.ir.CallNode setFlags(int);
    descriptor: (I)Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // int flags
         0: .line 322
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            iload 1 /* flags */
            if_icmpne 2
         1: .line 323
            aload 0 /* this */
            areturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            iload 1 /* flags */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // int flags
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  flags  I
    MethodParameters:
       Name  Flags
      flags  final

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

  public jdk.nashorn.internal.ir.CallNode setProgramPoint(int);
    descriptor: (I)Ljdk/nashorn/internal/ir/CallNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.CallNode this
        start local 1 // int programPoint
         0: .line 335
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.programPoint:I
            iload 1 /* programPoint */
            if_icmpne 2
         1: .line 336
            aload 0 /* this */
            areturn
         2: .line 338
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.CallNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.function:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.args:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.flags:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.optimisticType:Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.CallNode.evalArgs:Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
            iload 1 /* programPoint */
            invokespecial jdk.nashorn.internal.ir.CallNode.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;ILjdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/CallNode$EvalArgs;I)V
            areturn
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/ir/CallNode;
            0    3     1  programPoint  I
    MethodParameters:
              Name  Flags
      programPoint  final

  public jdk.nashorn.internal.codegen.types.Type getMostOptimisticType();
    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.CallNode this
         0: .line 343
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            areturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.codegen.types.Type getMostPessimisticType();
    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.CallNode this
         0: .line 348
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public boolean canBeOptimistic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.CallNode this
         0: .line 353
            iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.ir.CallNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/CallNode;

  public jdk.nashorn.internal.ir.Optimistic setProgramPoint(int);
    descriptor: (I)Ljdk/nashorn/internal/ir/Optimistic;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual jdk.nashorn.internal.ir.CallNode.setProgramPoint:(I)Ljdk/nashorn/internal/ir/CallNode;
            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
}
SourceFile: "CallNode.java"
NestMembers:
  jdk.nashorn.internal.ir.CallNode$EvalArgs
InnerClasses:
  public EvalArgs = jdk.nashorn.internal.ir.CallNode$EvalArgs of jdk.nashorn.internal.ir.CallNode
    RuntimeInvisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Immutable()