class com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef extends com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef
  super_class: com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
{
  protected final com.oracle.truffle.api.frame.FrameSlot frameSlot;
    descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  final com.oracle.truffle.js.parser.env.Environment this$0;
    descriptor: Lcom/oracle/truffle/js/parser/env/Environment;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.js.parser.env.Environment, com.oracle.truffle.api.frame.FrameSlot, int, int, java.lang.String, com.oracle.truffle.js.parser.env.Environment);
    descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/frame/FrameSlot;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
        start local 2 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 3 // int scopeLevel
        start local 4 // int frameLevel
        start local 5 // java.lang.String name
        start local 6 // com.oracle.truffle.js.parser.env.Environment current
         0: .line 1015
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
         1: .line 1016
            aload 0 /* this */
            aload 1
            iload 3 /* scopeLevel */
            iload 4 /* frameLevel */
            aload 5 /* name */
            aload 6 /* current */
            invokespecial com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;IILjava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment;)V
         2: .line 1017
            aload 0 /* this */
            aload 2 /* frameSlot */
            putfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
         3: .line 1018
            return
        end local 6 // com.oracle.truffle.js.parser.env.Environment current
        end local 5 // java.lang.String name
        end local 4 // int frameLevel
        end local 3 // int scopeLevel
        end local 2 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/js/parser/env/Environment$LazyFrameSlotVarRef;
            0    4     2   frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    4     3  scopeLevel  I
            0    4     4  frameLevel  I
            0    4     5        name  Ljava/lang/String;
            0    4     6     current  Lcom/oracle/truffle/js/parser/env/Environment;
    MethodParameters:
            Name  Flags
      this$0      final
      frameSlot   
      scopeLevel  
      frameLevel  
      name        
      current     

  public com.oracle.truffle.api.frame.FrameSlot getFrameSlot();
    descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
         0: .line 1022
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/env/Environment$LazyFrameSlotVarRef;

  public com.oracle.truffle.js.nodes.JavaScriptNode createReadNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
         0: .line 1027
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
            getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
            invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyReadFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
            areturn
        end local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/env/Environment$LazyFrameSlotVarRef;

  public com.oracle.truffle.js.nodes.JavaScriptNode createWriteNode(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
         0: .line 1032
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.this$0:Lcom/oracle/truffle/js/parser/env/Environment;
            getfield com.oracle.truffle.js.parser.env.Environment.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef.frameSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
            invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
            aload 1 /* rhs */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyWriteFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 0 // com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/env/Environment$LazyFrameSlotVarRef;
            0    1     1   rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
      Name  Flags
      rhs   
}
SourceFile: "Environment.java"
NestHost: com.oracle.truffle.js.parser.env.Environment
InnerClasses:
  public abstract AbstractFrameVarRef = com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef of com.oracle.truffle.js.parser.env.Environment
  LazyFrameSlotVarRef = com.oracle.truffle.js.parser.env.Environment$LazyFrameSlotVarRef of com.oracle.truffle.js.parser.env.Environment