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

  void <init>(jdk.nashorn.internal.codegen.CodeGenerator$Store);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
         0: .line 4450
            aload 0 /* this */
            aload 1
            putfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$Store$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public boolean enterIdentNode(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
        start local 1 // jdk.nashorn.internal.ir.IdentNode node
         0: .line 4453
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifeq 4
         1: .line 4454
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4455
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            dup
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
            getstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            putfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
         3: .line 4456
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$Store.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
            iconst_1
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 4458
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IdentNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$Store$1;
            0    5     1  node  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
      Name  Flags
      node  final

  private void enterBaseNode();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
         0: .line 4462
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$Store.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.target:Ljdk/nashorn/internal/ir/Expression;
            instanceof jdk.nashorn.internal.ir.BaseNode
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "error - base node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.target:Ljdk/nashorn/internal/ir/Expression;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " must be instanceof BaseNode"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.target:Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.BaseNode
            astore 1 /* baseNode */
        start local 1 // jdk.nashorn.internal.ir.BaseNode baseNode
         2: .line 4464
            aload 1 /* baseNode */
            invokevirtual jdk.nashorn.internal.ir.BaseNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* base */
        start local 2 // jdk.nashorn.internal.ir.Expression base
         3: .line 4466
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 2 /* base */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 4467
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            dup
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            putfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
         5: .line 4468
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$Store.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
            iconst_1
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 4470
      StackMap locals: jdk.nashorn.internal.ir.BaseNode jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$Store.isSelfModifying:()Z
            ifeq 8
         7: .line 4471
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 4473
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.ir.Expression base
        end local 1 // jdk.nashorn.internal.ir.BaseNode baseNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljdk/nashorn/internal/codegen/CodeGenerator$Store$1;
            2    9     1  baseNode  Ljdk/nashorn/internal/ir/BaseNode;
            3    9     2      base  Ljdk/nashorn/internal/ir/Expression;

  public boolean enterAccessNode(jdk.nashorn.internal.ir.AccessNode);
    descriptor: (Ljdk/nashorn/internal/ir/AccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
        start local 1 // jdk.nashorn.internal.ir.AccessNode node
         0: .line 4477
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$Store$1.enterBaseNode:()V
         1: .line 4478
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.AccessNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator$Store$1;
            0    2     1  node  Ljdk/nashorn/internal/ir/AccessNode;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterIndexNode(jdk.nashorn.internal.ir.IndexNode);
    descriptor: (Ljdk/nashorn/internal/ir/IndexNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
        start local 1 // jdk.nashorn.internal.ir.IndexNode node
         0: .line 4483
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$Store$1.enterBaseNode:()V
         1: .line 4485
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.IndexNode.getIndex:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* index */
        start local 2 // jdk.nashorn.internal.ir.Expression index
         2: .line 4486
            aload 2 /* index */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
            ifne 5
         3: .line 4488
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 2 /* index */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 4489
            goto 6
         5: .line 4490
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            aload 2 /* index */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 4492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            dup
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
            aload 2 /* index */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            putfield jdk.nashorn.internal.codegen.CodeGenerator$Store.depth:I
         7: .line 4494
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$Store.isSelfModifying:()Z
            ifeq 9
         8: .line 4496
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$Store$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$Store;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator$Store.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$Store;)Ljdk/nashorn/internal/codegen/CodeGenerator;
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 4499
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Expression index
        end local 1 // jdk.nashorn.internal.ir.IndexNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator$Store$1 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator$Store$1;
            0   10     1   node  Ljdk/nashorn/internal/ir/IndexNode;
            2   10     2  index  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      node  final
}
SourceFile: "CodeGenerator.java"
EnclosingMethod: jdk.nashorn.internal.codegen.CodeGenerator$Store.prologue:()V
NestHost: jdk.nashorn.internal.codegen.CodeGenerator
InnerClasses:
  private abstract Store = jdk.nashorn.internal.codegen.CodeGenerator$Store of jdk.nashorn.internal.codegen.CodeGenerator
  jdk.nashorn.internal.codegen.CodeGenerator$Store$1