class com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst extends com.oracle.truffle.js.snapshot.Recording$Inst implements com.oracle.truffle.js.snapshot.Recording$FixUpInst
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst
  super_class: com.oracle.truffle.js.snapshot.Recording$Inst
{
  private final com.oracle.truffle.js.snapshot.Recording$Inst node;
    descriptor: Lcom/oracle/truffle/js/snapshot/Recording$Inst;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasStatementTag;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasCallTag;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasExpressionTag;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasRootBodyTag;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(com.oracle.truffle.js.snapshot.Recording$Inst, boolean, boolean, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst;ZZZZ)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
        start local 1 // com.oracle.truffle.js.snapshot.Recording$Inst node
        start local 2 // boolean hasStatementTag
        start local 3 // boolean hasCallTag
        start local 4 // boolean hasExpressionTag
        start local 5 // boolean hasRootBodyTag
         0: .line 898
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.snapshot.Recording$Inst.<init>:()V
         1: .line 899
            aload 0 /* this */
            aload 1 /* node */
            putfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
         2: .line 900
            aload 0 /* this */
            iload 2 /* hasStatementTag */
            putfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasStatementTag:Z
         3: .line 901
            aload 0 /* this */
            iload 3 /* hasCallTag */
            putfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasCallTag:Z
         4: .line 902
            aload 0 /* this */
            iload 4 /* hasExpressionTag */
            putfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasExpressionTag:Z
         5: .line 903
            aload 0 /* this */
            iload 5 /* hasRootBodyTag */
            putfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasRootBodyTag:Z
         6: .line 904
            return
        end local 5 // boolean hasRootBodyTag
        end local 4 // boolean hasExpressionTag
        end local 3 // boolean hasCallTag
        end local 2 // boolean hasStatementTag
        end local 1 // com.oracle.truffle.js.snapshot.Recording$Inst node
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;
            0    7     1              node  Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            0    7     2   hasStatementTag  Z
            0    7     3        hasCallTag  Z
            0    7     4  hasExpressionTag  Z
            0    7     5    hasRootBodyTag  Z
    MethodParameters:
                  Name  Flags
      node              
      hasStatementTag   
      hasCallTag        
      hasExpressionTag  
      hasRootBodyTag    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
         0: .line 908
            new java.util.StringJoiner
            dup
            ldc ";\n"
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 1 /* joiner */
        start local 1 // java.util.StringJoiner joiner
         1: .line 909
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasStatementTag:Z
            ifeq 3
         2: .line 910
            aload 1 /* joiner */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "addStatementTag"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         3: .line 912
      StackMap locals: java.util.StringJoiner
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasCallTag:Z
            ifeq 5
         4: .line 913
            aload 1 /* joiner */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "addCallTag"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         5: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasExpressionTag:Z
            ifeq 7
         6: .line 916
            aload 1 /* joiner */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "addExpressionTag"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         7: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasRootBodyTag:Z
            ifeq 9
         8: .line 919
            aload 1 /* joiner */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "addRootBodyTag"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         9: .line 921
      StackMap locals:
      StackMap stack:
            aload 1 /* joiner */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.util.StringJoiner joiner
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;
            1   10     1  joiner  Ljava/util/StringJoiner;

  public java.lang.String rhs();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
         0: .line 926
            ldc "null"
            areturn
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;

  public void accept(com.oracle.truffle.js.snapshot.Recording$Inst$Visitor);
    descriptor: (Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
        start local 1 // com.oracle.truffle.js.snapshot.Recording$Inst$Visitor v
         0: .line 931
            aload 1 /* v */
            aload 0 /* this */
            invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.enterInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
         1: .line 932
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            aload 1 /* v */
            invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.accept:(Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;)V
         2: .line 933
            aload 1 /* v */
            aload 0 /* this */
            invokeinterface com.oracle.truffle.js.snapshot.Recording$Inst$Visitor.leaveInst:(Lcom/oracle/truffle/js/snapshot/Recording$Inst;)V
         3: .line 934
            return
        end local 1 // com.oracle.truffle.js.snapshot.Recording$Inst$Visitor v
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;
            0    4     1     v  Lcom/oracle/truffle/js/snapshot/Recording$Inst$Visitor;
    MethodParameters:
      Name  Flags
      v     

  public void encodeTo(com.oracle.truffle.js.snapshot.JSNodeEncoder);
    descriptor: (Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
        start local 1 // com.oracle.truffle.js.snapshot.JSNodeEncoder encoder
         0: .line 938
            aload 1 /* encoder */
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            invokevirtual com.oracle.truffle.js.snapshot.Recording$Inst.getId:()I
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasStatementTag:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasCallTag:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasExpressionTag:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.hasRootBodyTag:Z
            invokevirtual com.oracle.truffle.js.snapshot.JSNodeEncoder.encodeNodeTagsFixup:(IZZZZ)V
         1: .line 939
            return
        end local 1 // com.oracle.truffle.js.snapshot.JSNodeEncoder encoder
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;
            0    2     1  encoder  Lcom/oracle/truffle/js/snapshot/JSNodeEncoder;
    MethodParameters:
         Name  Flags
      encoder  

  public com.oracle.truffle.js.snapshot.Recording$Inst getFixUpTarget();
    descriptor: ()Lcom/oracle/truffle/js/snapshot/Recording$Inst;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
         0: .line 943
            aload 0 /* this */
            getfield com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst.node:Lcom/oracle/truffle/js/snapshot/Recording$Inst;
            areturn
        end local 0 // com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/snapshot/Recording$FixUpNodeTagsInst;
}
SourceFile: "Recording.java"
NestHost: com.oracle.truffle.js.snapshot.Recording
InnerClasses:
  private abstract FixUpInst = com.oracle.truffle.js.snapshot.Recording$FixUpInst of com.oracle.truffle.js.snapshot.Recording
  private FixUpNodeTagsInst = com.oracle.truffle.js.snapshot.Recording$FixUpNodeTagsInst of com.oracle.truffle.js.snapshot.Recording
  private abstract Inst = com.oracle.truffle.js.snapshot.Recording$Inst of com.oracle.truffle.js.snapshot.Recording
  abstract Visitor = com.oracle.truffle.js.snapshot.Recording$Inst$Visitor of com.oracle.truffle.js.snapshot.Recording$Inst