public class sun.tools.tree.IncDecExpression extends sun.tools.tree.UnaryExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.tree.IncDecExpression
  super_class: sun.tools.tree.UnaryExpression
{
  private sun.tools.tree.FieldUpdater updater;
    descriptor: Lsun/tools/tree/FieldUpdater;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int, long, sun.tools.tree.Expression);
    descriptor: (IJLsun/tools/tree/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // int op
        start local 2 // long where
        start local 4 // sun.tools.tree.Expression right
         0: .line 46
            aload 0 /* this */
            iload 1 /* op */
            lload 2 /* where */
            aload 4 /* right */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            aload 4 /* right */
            invokespecial sun.tools.tree.UnaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;)V
         1: .line 40
            aload 0 /* this */
            aconst_null
            putfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
         2: .line 47
            return
        end local 4 // sun.tools.tree.Expression right
        end local 2 // long where
        end local 1 // int op
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/tree/IncDecExpression;
            0    3     1     op  I
            0    3     2  where  J
            0    3     4  right  Lsun/tools/tree/Expression;
    MethodParameters:
       Name  Flags
      op     
      where  
      right  

  public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable<java.lang.Object, java.lang.Object>);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.tree.Vset vset
        start local 4 // java.util.Hashtable exp
         0: .line 53
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 4 /* exp */
            aload 0 /* this */
            invokevirtual sun.tools.tree.Expression.checkAssignOp:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/Expression;)Lsun/tools/tree/Vset;
            astore 3 /* vset */
         1: .line 54
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            sipush 254
            invokevirtual sun.tools.java.Type.inMask:(I)Z
            ifeq 4
         2: .line 55
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            putfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
         3: .line 56
            goto 7
         4: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            bipush 13
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifne 6
         5: .line 58
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            ldc "invalid.arg.type"
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.tree.IncDecExpression.opNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.op:I
            aaload
            invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
            putfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
         7: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Expression.getUpdater:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
            putfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
         8: .line 63
            aload 3 /* vset */
            areturn
        end local 4 // java.util.Hashtable exp
        end local 3 // sun.tools.tree.Vset vset
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/tools/tree/IncDecExpression;
            0    9     1   env  Lsun/tools/java/Environment;
            0    9     2   ctx  Lsun/tools/tree/Context;
            0    9     3  vset  Lsun/tools/tree/Vset;
            0    9     4   exp  Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
    Signature: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;)Lsun/tools/tree/Vset;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.Vset check(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable<java.lang.Object, java.lang.Object>);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.tree.Vset vset
        start local 4 // java.util.Hashtable exp
         0: .line 70
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 4 /* exp */
            invokevirtual sun.tools.tree.IncDecExpression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
            areturn
        end local 4 // java.util.Hashtable exp
        end local 3 // sun.tools.tree.Vset vset
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/IncDecExpression;
            0    1     1   env  Lsun/tools/java/Environment;
            0    1     2   ctx  Lsun/tools/tree/Context;
            0    1     3  vset  Lsun/tools/tree/Vset;
            0    1     4   exp  Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
    Signature: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;)Lsun/tools/tree/Vset;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.Expression inline(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 77
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.IncDecExpression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/IncDecExpression;
            0    1     1   env  Lsun/tools/java/Environment;
            0    1     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public sun.tools.tree.Expression inlineValue(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 81
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            putfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
         1: .line 82
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            ifnull 3
         2: .line 83
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.FieldUpdater.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
            putfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
         3: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/tools/tree/IncDecExpression;
            0    4     1   env  Lsun/tools/java/Environment;
            0    4     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public int costInline(int, sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // int thresh
        start local 2 // sun.tools.java.Environment env
        start local 3 // sun.tools.tree.Context ctx
         0: .line 89
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            ifnonnull 5
         1: .line 90
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.op:I
            bipush 60
            if_icmpne 4
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
            iconst_4
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 4
         2: .line 91
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            checkcast sun.tools.tree.IdentifierExpression
            getfield sun.tools.tree.IdentifierExpression.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.isLocal:()Z
            ifeq 4
         3: .line 93
            iconst_3
            ireturn
         4: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            iload 1 /* thresh */
            aload 2 /* env */
            aload 3 /* ctx */
            invokevirtual sun.tools.tree.Expression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
            iconst_4
            iadd
            ireturn
         5: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            iload 1 /* thresh */
            aload 2 /* env */
            aload 3 /* ctx */
            iconst_1
            invokevirtual sun.tools.tree.FieldUpdater.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;Z)I
            iconst_1
            iadd
            ireturn
        end local 3 // sun.tools.tree.Context ctx
        end local 2 // sun.tools.java.Environment env
        end local 1 // int thresh
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/tools/tree/IncDecExpression;
            0    6     1  thresh  I
            0    6     2     env  Lsun/tools/java/Environment;
            0    6     3     ctx  Lsun/tools/tree/Context;
    MethodParameters:
        Name  Flags
      thresh  
      env     
      ctx     

  private void codeIncDecOp(sun.tools.asm.Assembler, boolean);
    descriptor: (Lsun/tools/asm/Assembler;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.asm.Assembler asm
        start local 2 // boolean inc
         0: .line 113
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.getTypeCode:()I
            tableswitch { // 1 - 7
                    1: 1
                    2: 13
                    3: 7
                    4: 19
                    5: 24
                    6: 29
                    7: 34
              default: 39
          }
         1: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 18
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
         2: .line 116
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 3
            bipush 96
            goto 4
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
         3: bipush 100
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
         4: invokevirtual sun.tools.asm.Assembler.add:(JI)V
         5: .line 117
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            sipush 145
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         6: .line 118
            goto 40
         7: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 18
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
         8: .line 121
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 9
            bipush 96
            goto 10
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
         9: bipush 100
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        10: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        11: .line 122
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            sipush 147
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        12: .line 123
            goto 40
        13: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 18
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        14: .line 126
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 15
            bipush 96
            goto 16
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
        15: bipush 100
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        16: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        17: .line 127
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            sipush 146
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        18: .line 128
            goto 40
        19: .line 130
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 18
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        20: .line 131
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 21
            bipush 96
            goto 22
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
        21: bipush 100
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        22: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        23: .line 132
            goto 40
        24: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 20
            lconst_1
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        25: .line 135
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 26
            bipush 97
            goto 27
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
        26: bipush 101
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        27: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        28: .line 136
            goto 40
        29: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 18
            new java.lang.Float
            dup
            fconst_1
            invokespecial java.lang.Float.<init>:(F)V
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        30: .line 139
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 31
            bipush 98
            goto 32
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
        31: bipush 102
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        32: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        33: .line 140
            goto 40
        34: .line 142
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            bipush 20
            new java.lang.Double
            dup
            dconst_1
            invokespecial java.lang.Double.<init>:(D)V
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        35: .line 143
            aload 1 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            iload 2 /* inc */
            ifeq 36
            bipush 99
            goto 37
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long
        36: bipush 103
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.asm.Assembler int
      StackMap stack: sun.tools.asm.Assembler long int
        37: invokevirtual sun.tools.asm.Assembler.add:(JI)V
        38: .line 144
            goto 40
        39: .line 146
      StackMap locals:
      StackMap stack:
            new sun.tools.java.CompilerError
            dup
            ldc "invalid type"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean inc
        end local 1 // sun.tools.asm.Assembler asm
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  this  Lsun/tools/tree/IncDecExpression;
            0   41     1   asm  Lsun/tools/asm/Assembler;
            0   41     2   inc  Z
    MethodParameters:
      Name  Flags
      asm   
      inc   

  void codeIncDec(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, boolean, boolean, boolean);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;ZZZ)V
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // sun.tools.tree.IncDecExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.asm.Assembler asm
        start local 4 // boolean inc
        start local 5 // boolean prefix
        start local 6 // boolean valNeeded
         0: .line 153
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.op:I
            bipush 60
            if_icmpne 12
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
            iconst_4
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 12
         1: .line 154
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            checkcast sun.tools.tree.IdentifierExpression
            getfield sun.tools.tree.IdentifierExpression.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.isLocal:()Z
            ifeq 12
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            ifnonnull 12
         2: .line 155
            iload 6 /* valNeeded */
            ifeq 4
            iload 5 /* prefix */
            ifne 4
         3: .line 156
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeLoad:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
         4: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            checkcast sun.tools.tree.IdentifierExpression
            getfield sun.tools.tree.IdentifierExpression.field:Lsun/tools/java/MemberDefinition;
            checkcast sun.tools.tree.LocalMember
            getfield sun.tools.tree.LocalMember.number:I
            istore 7 /* v */
        start local 7 // int v
         5: .line 159
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 7 /* v */
            iastore
            dup
            iconst_1
            iload 4 /* inc */
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int int
      StackMap stack: int[] int[] int
         6: iconst_m1
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int int
      StackMap stack: int[] int[] int int
         7: iastore
            astore 8 /* operands */
        start local 8 // int[] operands
         8: .line 160
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.where:J
            sipush 132
            aload 8 /* operands */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
         9: .line 161
            iload 6 /* valNeeded */
            ifeq 11
            iload 5 /* prefix */
            ifeq 11
        10: .line 162
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeLoad:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        11: .line 164
      StackMap locals: int[]
      StackMap stack:
            return
        end local 8 // int[] operands
        end local 7 // int v
        12: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            ifnonnull 23
        13: .line 170
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeLValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)I
            istore 7 /* depth */
        start local 7 // int depth
        14: .line 171
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            iload 7 /* depth */
            iconst_0
            invokevirtual sun.tools.tree.IncDecExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
        15: .line 172
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeLoad:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        16: .line 173
            iload 6 /* valNeeded */
            ifeq 18
            iload 5 /* prefix */
            ifne 18
        17: .line 174
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.stackSize:()I
            iload 7 /* depth */
            invokevirtual sun.tools.tree.IncDecExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
        18: .line 176
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* asm */
            iload 4 /* inc */
            invokevirtual sun.tools.tree.IncDecExpression.codeIncDecOp:(Lsun/tools/asm/Assembler;Z)V
        19: .line 177
            iload 6 /* valNeeded */
            ifeq 21
            iload 5 /* prefix */
            ifeq 21
        20: .line 178
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.type:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.stackSize:()I
            iload 7 /* depth */
            invokevirtual sun.tools.tree.IncDecExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
        21: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeStore:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        end local 7 // int depth
        22: .line 181
            goto 30
        23: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            iload 6 /* valNeeded */
            ifeq 24
            iload 5 /* prefix */
            ifne 24
            iconst_1
            goto 25
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int
      StackMap stack: sun.tools.tree.FieldUpdater sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler
        24: iconst_0
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int
      StackMap stack: sun.tools.tree.FieldUpdater sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int
        25: invokevirtual sun.tools.tree.FieldUpdater.startUpdate:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
        26: .line 184
            aload 0 /* this */
            aload 3 /* asm */
            iload 4 /* inc */
            invokevirtual sun.tools.tree.IncDecExpression.codeIncDecOp:(Lsun/tools/asm/Assembler;Z)V
        27: .line 185
            aload 0 /* this */
            getfield sun.tools.tree.IncDecExpression.updater:Lsun/tools/tree/FieldUpdater;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            iload 6 /* valNeeded */
            ifeq 28
            iload 5 /* prefix */
            ifeq 28
            iconst_1
            goto 29
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int
      StackMap stack: sun.tools.tree.FieldUpdater sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler
        28: iconst_0
      StackMap locals: sun.tools.tree.IncDecExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int int int
      StackMap stack: sun.tools.tree.FieldUpdater sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int
        29: invokevirtual sun.tools.tree.FieldUpdater.finishUpdate:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
        30: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean valNeeded
        end local 5 // boolean prefix
        end local 4 // boolean inc
        end local 3 // sun.tools.asm.Assembler asm
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.IncDecExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lsun/tools/tree/IncDecExpression;
            0   31     1        env  Lsun/tools/java/Environment;
            0   31     2        ctx  Lsun/tools/tree/Context;
            0   31     3        asm  Lsun/tools/asm/Assembler;
            0   31     4        inc  Z
            0   31     5     prefix  Z
            0   31     6  valNeeded  Z
            5   12     7          v  I
            8   12     8   operands  [I
           14   22     7      depth  I
    MethodParameters:
           Name  Flags
      env        
      ctx        
      asm        
      inc        
      prefix     
      valNeeded  
}
SourceFile: "IncDecExpression.java"