public final class com.oracle.js.parser.ir.VarNode extends com.oracle.js.parser.ir.Statement implements com.oracle.js.parser.ir.Assignment<com.oracle.js.parser.ir.IdentNode>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.js.parser.ir.VarNode
  super_class: com.oracle.js.parser.ir.Statement
{
  private final com.oracle.js.parser.ir.IdentNode name;
    descriptor: Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.js.parser.ir.Expression init;
    descriptor: Lcom/oracle/js/parser/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 static final int IS_EXPORT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

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

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

  private void <init>(com.oracle.js.parser.ir.VarNode, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, int);
    descriptor: (Lcom/oracle/js/parser/ir/VarNode;Lcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // com.oracle.js.parser.ir.VarNode varNode
        start local 2 // com.oracle.js.parser.ir.IdentNode name
        start local 3 // com.oracle.js.parser.ir.Expression init
        start local 4 // int flags
         0: .line 98
            aload 0 /* this */
            aload 1 /* varNode */
            invokespecial com.oracle.js.parser.ir.Statement.<init>:(Lcom/oracle/js/parser/ir/Statement;)V
         1: .line 99
            aload 0 /* this */
            iconst_m1
            putfield com.oracle.js.parser.ir.VarNode.sourceOrder:I
         2: .line 100
            aload 0 /* this */
            aload 3 /* init */
            ifnonnull 3
            aload 2 /* name */
            goto 4
      StackMap locals: com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode
         3: aload 2 /* name */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsInitializedHere:()Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals: com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.IdentNode
         4: putfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
         5: .line 101
            aload 0 /* this */
            aload 3 /* init */
            putfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
         6: .line 102
            aload 0 /* this */
            iload 4 /* flags */
            putfield com.oracle.js.parser.ir.VarNode.flags:I
         7: .line 103
            return
        end local 4 // int flags
        end local 3 // com.oracle.js.parser.ir.Expression init
        end local 2 // com.oracle.js.parser.ir.IdentNode name
        end local 1 // com.oracle.js.parser.ir.VarNode varNode
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/oracle/js/parser/ir/VarNode;
            0    8     1  varNode  Lcom/oracle/js/parser/ir/VarNode;
            0    8     2     name  Lcom/oracle/js/parser/ir/IdentNode;
            0    8     3     init  Lcom/oracle/js/parser/ir/Expression;
            0    8     4    flags  I
    MethodParameters:
         Name  Flags
      varNode  final
      name     final
      init     final
      flags    final

  public void <init>(int, long, int, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, int);
    descriptor: (IJILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int finish
        start local 5 // com.oracle.js.parser.ir.IdentNode name
        start local 6 // com.oracle.js.parser.ir.Expression init
        start local 7 // int flags
         0: .line 116
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iconst_m1
            iload 4 /* finish */
            aload 5 /* name */
            aload 6 /* init */
            iload 7 /* flags */
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(IJIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
         1: .line 117
            return
        end local 7 // int flags
        end local 6 // com.oracle.js.parser.ir.Expression init
        end local 5 // com.oracle.js.parser.ir.IdentNode name
        end local 4 // int finish
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/js/parser/ir/VarNode;
            0    2     1  lineNumber  I
            0    2     2       token  J
            0    2     4      finish  I
            0    2     5        name  Lcom/oracle/js/parser/ir/IdentNode;
            0    2     6        init  Lcom/oracle/js/parser/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, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, int);
    descriptor: (IJIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=8
        start local 0 // com.oracle.js.parser.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 // com.oracle.js.parser.ir.IdentNode name
        start local 7 // com.oracle.js.parser.ir.Expression init
        start local 8 // int flags
         0: .line 131
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iload 5 /* finish */
            invokespecial com.oracle.js.parser.ir.Statement.<init>:(IJI)V
         1: .line 132
            aload 0 /* this */
            iload 4 /* sourceOrder */
            putfield com.oracle.js.parser.ir.VarNode.sourceOrder:I
         2: .line 133
            aload 0 /* this */
            aload 7 /* init */
            ifnonnull 3
            aload 6 /* name */
            goto 4
      StackMap locals: com.oracle.js.parser.ir.VarNode int long int int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode
         3: aload 6 /* name */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsInitializedHere:()Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals: com.oracle.js.parser.ir.VarNode int long int int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.IdentNode
         4: putfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
         5: .line 134
            aload 0 /* this */
            aload 7 /* init */
            putfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
         6: .line 135
            aload 0 /* this */
            iload 8 /* flags */
            putfield com.oracle.js.parser.ir.VarNode.flags:I
         7: .line 136
            return
        end local 8 // int flags
        end local 7 // com.oracle.js.parser.ir.Expression init
        end local 6 // com.oracle.js.parser.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 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/oracle/js/parser/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  Lcom/oracle/js/parser/ir/IdentNode;
            0    8     7         init  Lcom/oracle/js/parser/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 void <init>(int, long, int, int, int, com.oracle.js.parser.ir.IdentNode, com.oracle.js.parser.ir.Expression, int);
    descriptor: (IJIIILcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=9
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int sourceOrder
        start local 5 // int start
        start local 6 // int finish
        start local 7 // com.oracle.js.parser.ir.IdentNode name
        start local 8 // com.oracle.js.parser.ir.Expression init
        start local 9 // int flags
         0: .line 151
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iload 5 /* start */
            iload 6 /* finish */
            invokespecial com.oracle.js.parser.ir.Statement.<init>:(IJII)V
         1: .line 152
            aload 0 /* this */
            iload 4 /* sourceOrder */
            putfield com.oracle.js.parser.ir.VarNode.sourceOrder:I
         2: .line 153
            aload 0 /* this */
            aload 8 /* init */
            ifnonnull 3
            aload 7 /* name */
            goto 4
      StackMap locals: com.oracle.js.parser.ir.VarNode int long int int int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode
         3: aload 7 /* name */
            invokevirtual com.oracle.js.parser.ir.IdentNode.setIsInitializedHere:()Lcom/oracle/js/parser/ir/IdentNode;
      StackMap locals: com.oracle.js.parser.ir.VarNode int long int int int com.oracle.js.parser.ir.IdentNode com.oracle.js.parser.ir.Expression int
      StackMap stack: com.oracle.js.parser.ir.VarNode com.oracle.js.parser.ir.IdentNode
         4: putfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
         5: .line 154
            aload 0 /* this */
            aload 8 /* init */
            putfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
         6: .line 155
            aload 0 /* this */
            iload 9 /* flags */
            putfield com.oracle.js.parser.ir.VarNode.flags:I
         7: .line 156
            return
        end local 9 // int flags
        end local 8 // com.oracle.js.parser.ir.Expression init
        end local 7 // com.oracle.js.parser.ir.IdentNode name
        end local 6 // int finish
        end local 5 // int start
        end local 4 // int sourceOrder
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/oracle/js/parser/ir/VarNode;
            0    8     1   lineNumber  I
            0    8     2        token  J
            0    8     4  sourceOrder  I
            0    8     5        start  I
            0    8     6       finish  I
            0    8     7         name  Lcom/oracle/js/parser/ir/IdentNode;
            0    8     8         init  Lcom/oracle/js/parser/ir/Expression;
            0    8     9        flags  I
    MethodParameters:
             Name  Flags
      lineNumber   final
      token        final
      sourceOrder  final
      start        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 // com.oracle.js.parser.ir.VarNode this
         0: .line 160
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.sourceOrder:I
            iconst_m1
            if_icmpne 1
            aload 0 /* this */
            invokespecial com.oracle.js.parser.ir.Statement.getSourceOrder:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.sourceOrder:I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/VarNode;

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

  public com.oracle.js.parser.ir.IdentNode getAssignmentDest();
    descriptor: ()Lcom/oracle/js/parser/ir/IdentNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.VarNode this
         0: .line 170
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.isAssignment:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.IdentNode
         2: areturn
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/VarNode;

  public com.oracle.js.parser.ir.Expression getAssignmentSource();
    descriptor: ()Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.VarNode this
         0: .line 175
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.isAssignment:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.Expression
         2: areturn
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/VarNode;

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

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

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

  public int getSymbolFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.VarNode this
         0: .line 211
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.isLet:()Z
            ifeq 4
         1: .line 212
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.js.parser.ir.IdentNode.isCatchParameter:()Z
            ifeq 3
         2: .line 213
            ldc 33793
            ireturn
         3: .line 215
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.isConst:()Z
            ifeq 6
         5: .line 217
            iconst_2
            ireturn
         6: .line 219
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/js/parser/ir/VarNode;

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

  public com.oracle.js.parser.ir.Node accept(com.oracle.js.parser.ir.visitor.NodeVisitor<? extends com.oracle.js.parser.ir.LexicalContext>);
    descriptor: (Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
         0: .line 238
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.enterVarNode:(Lcom/oracle/js/parser/ir/VarNode;)Z
            ifeq 10
         1: .line 240
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 1 /* visitor */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.Expression
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ir.Expression
         3: astore 2 /* newInit */
        start local 2 // com.oracle.js.parser.ir.Expression newInit
         4: .line 241
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
            aload 1 /* visitor */
            invokevirtual com.oracle.js.parser.ir.IdentNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.IdentNode
            astore 3 /* newName */
        start local 3 // com.oracle.js.parser.ir.IdentNode newName
         5: .line 243
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
            aload 3 /* newName */
            if_acmpne 6
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 2 /* newInit */
            if_acmpeq 8
         6: .line 244
      StackMap locals: com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.IdentNode
      StackMap stack:
            new com.oracle.js.parser.ir.VarNode
            dup
            aload 0 /* this */
            aload 3 /* newName */
            aload 2 /* newInit */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.flags:I
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(Lcom/oracle/js/parser/ir/VarNode;Lcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            astore 4 /* newThis */
        start local 4 // com.oracle.js.parser.ir.VarNode newThis
         7: .line 245
            goto 9
        end local 4 // com.oracle.js.parser.ir.VarNode newThis
         8: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 4 /* newThis */
        start local 4 // com.oracle.js.parser.ir.VarNode newThis
         9: .line 248
      StackMap locals: com.oracle.js.parser.ir.VarNode
      StackMap stack:
            aload 1 /* visitor */
            aload 4 /* newThis */
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.leaveVarNode:(Lcom/oracle/js/parser/ir/VarNode;)Lcom/oracle/js/parser/ir/Node;
            areturn
        end local 4 // com.oracle.js.parser.ir.VarNode newThis
        end local 3 // com.oracle.js.parser.ir.IdentNode newName
        end local 2 // com.oracle.js.parser.ir.Expression newInit
        10: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/oracle/js/parser/ir/VarNode;
            0   11     1  visitor  Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;
            4   10     2  newInit  Lcom/oracle/js/parser/ir/Expression;
            5   10     3  newName  Lcom/oracle/js/parser/ir/IdentNode;
            7    8     4  newThis  Lcom/oracle/js/parser/ir/VarNode;
            9   10     4  newThis  Lcom/oracle/js/parser/ir/VarNode;
    Signature: (Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;)Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      visitor  final

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

  public void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printType
         0: .line 260
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.VarNode.tokenType:()Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.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 261
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
            aload 1 /* sb */
            iload 2 /* printType */
            invokevirtual com.oracle.js.parser.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         2: .line 263
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            ifnull 5
         3: .line 264
            aload 1 /* sb */
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 265
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 1 /* sb */
            iload 2 /* printType */
            invokevirtual com.oracle.js.parser.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
         5: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean printType
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/oracle/js/parser/ir/VarNode;
            0    6     1         sb  Ljava/lang/StringBuilder;
            0    6     2  printType  Z
    MethodParameters:
           Name  Flags
      sb         final
      printType  final

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

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

  private com.oracle.js.parser.ir.VarNode setFlags(int);
    descriptor: (I)Lcom/oracle/js/parser/ir/VarNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ir.VarNode this
        start local 1 // int flags
         0: .line 288
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.flags:I
            iload 1 /* flags */
            if_icmpne 2
         1: .line 289
            aload 0 /* this */
            areturn
         2: .line 291
      StackMap locals:
      StackMap stack:
            new com.oracle.js.parser.ir.VarNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.name:Lcom/oracle/js/parser/ir/IdentNode;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            iload 1 /* flags */
            invokespecial com.oracle.js.parser.ir.VarNode.<init>:(Lcom/oracle/js/parser/ir/VarNode;Lcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/js/parser/ir/Expression;I)V
            areturn
        end local 1 // int flags
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/js/parser/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 // com.oracle.js.parser.ir.VarNode this
        start local 1 // int flag
         0: .line 301
            aload 0 /* this */
            getfield com.oracle.js.parser.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 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/VarNode;
            0    2     1  flag  I
    MethodParameters:
      Name  Flags
      flag  final

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

  public boolean isHoistableDeclaration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.VarNode this
         0: .line 321
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            instanceof com.oracle.js.parser.ir.FunctionNode
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.VarNode.init:Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.FunctionNode
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isDeclared:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.VarNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/VarNode;

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

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

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

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

  public com.oracle.js.parser.ir.Expression getAssignmentDest();
    descriptor: ()Lcom/oracle/js/parser/ir/Expression;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.js.parser.ir.VarNode.getAssignmentDest:()Lcom/oracle/js/parser/ir/IdentNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lcom/oracle/js/parser/ir/Statement;Lcom/oracle/js/parser/ir/Assignment<Lcom/oracle/js/parser/ir/IdentNode;>;
SourceFile: "VarNode.java"