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

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

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

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

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

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

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

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

  public void <init>(int, long, int, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression);
    descriptor: (IJILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int finish
        start local 5 // jdk.nashorn.internal.ir.IdentNode name
        start local 6 // jdk.nashorn.internal.ir.Expression init
         0: .line 75
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iload 4 /* finish */
            aload 5 /* name */
            aload 6 /* init */
            iconst_0
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(IJILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
         1: .line 76
            return
        end local 6 // jdk.nashorn.internal.ir.Expression init
        end local 5 // jdk.nashorn.internal.ir.IdentNode name
        end local 4 // int finish
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/nashorn/internal/ir/VarNode;
            0    2     1  lineNumber  I
            0    2     2       token  J
            0    2     4      finish  I
            0    2     5        name  Ljdk/nashorn/internal/ir/IdentNode;
            0    2     6        init  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
            Name  Flags
      lineNumber  final
      token       final
      finish      final
      name        final
      init        final

  private void <init>(jdk.nashorn.internal.ir.VarNode, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression, int);
    descriptor: (Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // jdk.nashorn.internal.ir.VarNode varNode
        start local 2 // jdk.nashorn.internal.ir.IdentNode name
        start local 3 // jdk.nashorn.internal.ir.Expression init
        start local 4 // int flags
         0: .line 79
            aload 0 /* this */
            aload 1 /* varNode */
            invokespecial jdk.nashorn.internal.ir.Statement.<init>:(Ljdk/nashorn/internal/ir/Statement;)V
         1: .line 80
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.ir.VarNode.sourceOrder:I
         2: .line 81
            aload 0 /* this */
            aload 3 /* init */
            ifnonnull 3
            aload 2 /* name */
            goto 4
      StackMap locals: jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression int
      StackMap stack: jdk.nashorn.internal.ir.VarNode
         3: aload 2 /* name */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.setIsInitializedHere:()Ljdk/nashorn/internal/ir/IdentNode;
      StackMap locals: jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression int
      StackMap stack: jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.IdentNode
         4: putfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
         5: .line 82
            aload 0 /* this */
            aload 3 /* init */
            putfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
         6: .line 83
            aload 0 /* this */
            iload 4 /* flags */
            putfield jdk.nashorn.internal.ir.VarNode.flags:I
         7: .line 84
            return
        end local 4 // int flags
        end local 3 // jdk.nashorn.internal.ir.Expression init
        end local 2 // jdk.nashorn.internal.ir.IdentNode name
        end local 1 // jdk.nashorn.internal.ir.VarNode varNode
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Ljdk/nashorn/internal/ir/VarNode;
            0    8     1  varNode  Ljdk/nashorn/internal/ir/VarNode;
            0    8     2     name  Ljdk/nashorn/internal/ir/IdentNode;
            0    8     3     init  Ljdk/nashorn/internal/ir/Expression;
            0    8     4    flags  I
    MethodParameters:
         Name  Flags
      varNode  final
      name     final
      init     final
      flags    final

  public void <init>(int, long, int, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression, int);
    descriptor: (IJILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int finish
        start local 5 // jdk.nashorn.internal.ir.IdentNode name
        start local 6 // jdk.nashorn.internal.ir.Expression init
        start local 7 // int flags
         0: .line 97
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iconst_m1
            iload 4 /* finish */
            aload 5 /* name */
            aload 6 /* init */
            iload 7 /* flags */
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(IJIILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
         1: .line 98
            return
        end local 7 // int flags
        end local 6 // jdk.nashorn.internal.ir.Expression init
        end local 5 // jdk.nashorn.internal.ir.IdentNode name
        end local 4 // int finish
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/nashorn/internal/ir/VarNode;
            0    2     1  lineNumber  I
            0    2     2       token  J
            0    2     4      finish  I
            0    2     5        name  Ljdk/nashorn/internal/ir/IdentNode;
            0    2     6        init  Ljdk/nashorn/internal/ir/Expression;
            0    2     7       flags  I
    MethodParameters:
            Name  Flags
      lineNumber  final
      token       final
      finish      final
      name        final
      init        final
      flags       final

  public void <init>(int, long, int, int, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.ir.Expression, int);
    descriptor: (IJIILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=8
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int sourceOrder
        start local 5 // int finish
        start local 6 // jdk.nashorn.internal.ir.IdentNode name
        start local 7 // jdk.nashorn.internal.ir.Expression init
        start local 8 // int flags
         0: .line 112
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iload 5 /* finish */
            invokespecial jdk.nashorn.internal.ir.Statement.<init>:(IJI)V
         1: .line 113
            aload 0 /* this */
            iload 4 /* sourceOrder */
            putfield jdk.nashorn.internal.ir.VarNode.sourceOrder:I
         2: .line 114
            aload 0 /* this */
            aload 7 /* init */
            ifnonnull 3
            aload 6 /* name */
            goto 4
      StackMap locals: jdk.nashorn.internal.ir.VarNode int long int int jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression int
      StackMap stack: jdk.nashorn.internal.ir.VarNode
         3: aload 6 /* name */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.setIsInitializedHere:()Ljdk/nashorn/internal/ir/IdentNode;
      StackMap locals: jdk.nashorn.internal.ir.VarNode int long int int jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression int
      StackMap stack: jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.IdentNode
         4: putfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
         5: .line 115
            aload 0 /* this */
            aload 7 /* init */
            putfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
         6: .line 116
            aload 0 /* this */
            iload 8 /* flags */
            putfield jdk.nashorn.internal.ir.VarNode.flags:I
         7: .line 117
            return
        end local 8 // int flags
        end local 7 // jdk.nashorn.internal.ir.Expression init
        end local 6 // jdk.nashorn.internal.ir.IdentNode name
        end local 5 // int finish
        end local 4 // int sourceOrder
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/nashorn/internal/ir/VarNode;
            0    8     1   lineNumber  I
            0    8     2        token  J
            0    8     4  sourceOrder  I
            0    8     5       finish  I
            0    8     6         name  Ljdk/nashorn/internal/ir/IdentNode;
            0    8     7         init  Ljdk/nashorn/internal/ir/Expression;
            0    8     8        flags  I
    MethodParameters:
             Name  Flags
      lineNumber   final
      token        final
      sourceOrder  final
      finish       final
      name         final
      init         final
      flags        final

  public int getSourceOrder();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.VarNode this
         0: .line 121
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.sourceOrder:I
            iconst_m1
            if_icmpne 1
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.ir.Statement.getSourceOrder:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.sourceOrder:I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public boolean isAssignment();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.VarNode this
         0: .line 126
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.hasInit:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public jdk.nashorn.internal.ir.IdentNode getAssignmentDest();
    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.VarNode this
         0: .line 131
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isAssignment:()Z
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.IdentNode
         2: areturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public jdk.nashorn.internal.ir.VarNode setAssignmentDest(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // jdk.nashorn.internal.ir.IdentNode n
         0: .line 136
            aload 0 /* this */
            aload 1 /* n */
            invokevirtual jdk.nashorn.internal.ir.VarNode.setName:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode;
            areturn
        end local 1 // jdk.nashorn.internal.ir.IdentNode n
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/VarNode;
            0    1     1     n  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
      Name  Flags
      n     final

  public jdk.nashorn.internal.ir.Expression getAssignmentSource();
    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.VarNode this
         0: .line 141
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isAssignment:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Expression
         2: areturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/VarNode;

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

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

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

  public int getSymbolFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.VarNode this
         0: .line 173
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isLet:()Z
            ifeq 2
         1: .line 174
            bipush 18
            ireturn
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isConst:()Z
            ifeq 4
         3: .line 176
            bipush 34
            ireturn
         4: .line 178
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/ir/VarNode;

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

  public jdk.nashorn.internal.ir.Node accept(jdk.nashorn.internal.ir.visitor.NodeVisitor<? extends jdk.nashorn.internal.ir.LexicalContext>);
    descriptor: (Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // jdk.nashorn.internal.ir.visitor.NodeVisitor visitor
         0: .line 195
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.visitor.NodeVisitor.enterVarNode:(Ljdk/nashorn/internal/ir/VarNode;)Z
            ifeq 10
         1: .line 197
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* 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
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Expression
         3: astore 2 /* newInit */
        start local 2 // jdk.nashorn.internal.ir.Expression newInit
         4: .line 198
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 1 /* visitor */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 3 /* newName */
        start local 3 // jdk.nashorn.internal.ir.IdentNode newName
         5: .line 200
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 3 /* newName */
            if_acmpne 6
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            aload 2 /* newInit */
            if_acmpeq 8
         6: .line 201
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode
      StackMap stack:
            new jdk.nashorn.internal.ir.VarNode
            dup
            aload 0 /* this */
            aload 3 /* newName */
            aload 2 /* newInit */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.flags:I
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
            astore 4 /* newThis */
        start local 4 // jdk.nashorn.internal.ir.VarNode newThis
         7: .line 202
            goto 9
        end local 4 // jdk.nashorn.internal.ir.VarNode newThis
         8: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 4 /* newThis */
        start local 4 // jdk.nashorn.internal.ir.VarNode newThis
         9: .line 205
      StackMap locals: jdk.nashorn.internal.ir.VarNode
      StackMap stack:
            aload 1 /* visitor */
            aload 4 /* newThis */
            invokevirtual jdk.nashorn.internal.ir.visitor.NodeVisitor.leaveVarNode:(Ljdk/nashorn/internal/ir/VarNode;)Ljdk/nashorn/internal/ir/Node;
            areturn
        end local 4 // jdk.nashorn.internal.ir.VarNode newThis
        end local 3 // jdk.nashorn.internal.ir.IdentNode newName
        end local 2 // jdk.nashorn.internal.ir.Expression newInit
        10: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // jdk.nashorn.internal.ir.visitor.NodeVisitor visitor
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/nashorn/internal/ir/VarNode;
            0   11     1  visitor  Ljdk/nashorn/internal/ir/visitor/NodeVisitor<+Ljdk/nashorn/internal/ir/LexicalContext;>;
            4   10     2  newInit  Ljdk/nashorn/internal/ir/Expression;
            5   10     3  newName  Ljdk/nashorn/internal/ir/IdentNode;
            7    8     4  newThis  Ljdk/nashorn/internal/ir/VarNode;
            9   10     4  newThis  Ljdk/nashorn/internal/ir/VarNode;
    Signature: (Ljdk/nashorn/internal/ir/visitor/NodeVisitor<+Ljdk/nashorn/internal/ir/LexicalContext;>;)Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
         Name  Flags
      visitor  final

  public void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printType
         0: .line 212
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.VarNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 213
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 1 /* sb */
            iload 2 /* printType */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         2: .line 215
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            ifnull 5
         3: .line 216
            aload 1 /* sb */
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 217
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* sb */
            iload 2 /* printType */
            invokevirtual jdk.nashorn.internal.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
         5: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean printType
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/nashorn/internal/ir/VarNode;
            0    6     1         sb  Ljava/lang/StringBuilder;
            0    6     2  printType  Z
    MethodParameters:
           Name  Flags
      sb         final
      printType  final

  public jdk.nashorn.internal.ir.Expression getInit();
    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.VarNode this
         0: .line 226
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            areturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public jdk.nashorn.internal.ir.VarNode setInit(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/VarNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // jdk.nashorn.internal.ir.Expression init
         0: .line 235
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* init */
            if_acmpne 2
         1: .line 236
            aload 0 /* this */
            areturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.VarNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 1 /* init */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.flags:I
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression init
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/VarNode;
            0    3     1  init  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      init  final

  public jdk.nashorn.internal.ir.IdentNode getName();
    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.VarNode this
         0: .line 246
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            areturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public jdk.nashorn.internal.ir.VarNode setName(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // jdk.nashorn.internal.ir.IdentNode name
         0: .line 255
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 1 /* name */
            if_acmpne 2
         1: .line 256
            aload 0 /* this */
            areturn
         2: .line 258
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.VarNode
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.flags:I
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.IdentNode name
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/VarNode;
            0    3     1  name  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
      Name  Flags
      name  final

  private jdk.nashorn.internal.ir.VarNode setFlags(int);
    descriptor: (I)Ljdk/nashorn/internal/ir/VarNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.VarNode this
        start local 1 // int flags
         0: .line 262
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.flags:I
            iload 1 /* flags */
            if_icmpne 2
         1: .line 263
            aload 0 /* this */
            areturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.ir.VarNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.name:Ljdk/nashorn/internal/ir/IdentNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            iload 1 /* flags */
            invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;I)V
            areturn
        end local 1 // int flags
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/ir/VarNode;
            0    3     1  flags  I
    MethodParameters:
       Name  Flags
      flags  final

  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.VarNode this
        start local 1 // int flag
         0: .line 274
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.flags:I
            iload 1 /* flag */
            iand
            iload 1 /* flag */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int flag
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/VarNode;
            0    2     1  flag  I
    MethodParameters:
      Name  Flags
      flag  final

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

  public boolean isFunctionDeclaration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.VarNode this
         0: .line 291
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.VarNode.init:Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isDeclared:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/VarNode;

  public jdk.nashorn.internal.ir.Node setAssignmentDest(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)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
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.VarNode.setAssignmentDest:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.nashorn.internal.ir.Expression getAssignmentDest();
    descriptor: ()Ljdk/nashorn/internal/ir/Expression;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual jdk.nashorn.internal.ir.VarNode.getAssignmentDest:()Ljdk/nashorn/internal/ir/IdentNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljdk/nashorn/internal/ir/Statement;Ljdk/nashorn/internal/ir/Assignment<Ljdk/nashorn/internal/ir/IdentNode;>;
SourceFile: "VarNode.java"
    RuntimeInvisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Immutable()