public class sun.tools.tree.AddExpression extends sun.tools.tree.BinaryArithmeticExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.tree.AddExpression
  super_class: sun.tools.tree.BinaryArithmeticExpression
{
  public void <init>(long, sun.tools.tree.Expression, sun.tools.tree.Expression);
    descriptor: (JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // long where
        start local 3 // sun.tools.tree.Expression left
        start local 4 // sun.tools.tree.Expression right
         0: .line 42
            aload 0 /* this */
            bipush 29
            lload 1 /* where */
            aload 3 /* left */
            aload 4 /* right */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.<init>:(IJLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
         1: .line 43
            return
        end local 4 // sun.tools.tree.Expression right
        end local 3 // sun.tools.tree.Expression left
        end local 1 // long where
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/tree/AddExpression;
            0    2     1  where  J
            0    2     3   left  Lsun/tools/tree/Expression;
            0    2     4  right  Lsun/tools/tree/Expression;
    MethodParameters:
       Name  Flags
      where  
      left   
      right  

  void selectType(sun.tools.java.Environment, sun.tools.tree.Context, int);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // int tm
         0: .line 49
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpne 3
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            bipush 11
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifne 3
         1: .line 50
            aload 0 /* this */
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            putfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
         2: .line 51
            return
         3: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpne 6
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            bipush 11
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifne 6
         4: .line 53
            aload 0 /* this */
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            putfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
         5: .line 54
            return
         6: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            iload 3 /* tm */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.selectType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;I)V
         7: .line 57
            return
        end local 3 // int tm
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/tools/tree/AddExpression;
            0    8     1   env  Lsun/tools/java/Environment;
            0    8     2   ctx  Lsun/tools/tree/Context;
            0    8     3    tm  I
    MethodParameters:
      Name  Flags
      env   
      ctx   
      tm    

  public boolean isNonNull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.AddExpression this
         0: .line 61
            iconst_1
            ireturn
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;

  sun.tools.tree.Expression eval(int, int);
    descriptor: (II)Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // int a
        start local 2 // int b
         0: .line 68
            new sun.tools.tree.IntExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            iload 1 /* a */
            iload 2 /* b */
            iadd
            invokespecial sun.tools.tree.IntExpression.<init>:(JI)V
            areturn
        end local 2 // int b
        end local 1 // int a
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;
            0    1     1     a  I
            0    1     2     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  sun.tools.tree.Expression eval(long, long);
    descriptor: (JJ)Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // long a
        start local 3 // long b
         0: .line 71
            new sun.tools.tree.LongExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            lload 1 /* a */
            lload 3 /* b */
            ladd
            invokespecial sun.tools.tree.LongExpression.<init>:(JJ)V
            areturn
        end local 3 // long b
        end local 1 // long a
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;
            0    1     1     a  J
            0    1     3     b  J
    MethodParameters:
      Name  Flags
      a     
      b     

  sun.tools.tree.Expression eval(float, float);
    descriptor: (FF)Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // float a
        start local 2 // float b
         0: .line 74
            new sun.tools.tree.FloatExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            fload 1 /* a */
            fload 2 /* b */
            fadd
            invokespecial sun.tools.tree.FloatExpression.<init>:(JF)V
            areturn
        end local 2 // float b
        end local 1 // float a
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;
            0    1     1     a  F
            0    1     2     b  F
    MethodParameters:
      Name  Flags
      a     
      b     

  sun.tools.tree.Expression eval(double, double);
    descriptor: (DD)Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // double a
        start local 3 // double b
         0: .line 77
            new sun.tools.tree.DoubleExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            dload 1 /* a */
            dload 3 /* b */
            dadd
            invokespecial sun.tools.tree.DoubleExpression.<init>:(JD)V
            areturn
        end local 3 // double b
        end local 1 // double a
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;
            0    1     1     a  D
            0    1     3     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  sun.tools.tree.Expression eval(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // java.lang.String a
        start local 2 // java.lang.String b
         0: .line 80
            new sun.tools.tree.StringExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            new java.lang.StringBuilder
            dup
            aload 1 /* a */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.tools.tree.StringExpression.<init>:(JLjava/lang/String;)V
            areturn
        end local 2 // java.lang.String b
        end local 1 // java.lang.String a
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/AddExpression;
            0    1     1     a  Ljava/lang/String;
            0    1     2     b  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      b     

  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=5, locals=4, args_size=3
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 90
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpne 4
            aload 0 /* this */
            invokevirtual sun.tools.tree.AddExpression.isConstant:()Z
            ifeq 4
         1: .line 91
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            invokevirtual sun.tools.tree.AddExpression.inlineValueSB:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuffer buffer
         2: .line 92
            aload 3 /* buffer */
            ifnull 4
         3: .line 94
            new sun.tools.tree.StringExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial sun.tools.tree.StringExpression.<init>:(JLjava/lang/String;)V
            areturn
        end local 3 // java.lang.StringBuffer buffer
         4: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.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.AddExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/tools/tree/AddExpression;
            0    5     1     env  Lsun/tools/java/Environment;
            0    5     2     ctx  Lsun/tools/tree/Context;
            2    4     3  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  protected java.lang.StringBuffer inlineValueSB(sun.tools.java.Environment, sun.tools.tree.Context, java.lang.StringBuffer);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.tools.tree.AddExpression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // java.lang.StringBuffer buffer
         0: .line 150
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpeq 2
         1: .line 153
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* buffer */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.inlineValueSB:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* buffer */
            invokevirtual sun.tools.tree.Expression.inlineValueSB:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            astore 3 /* buffer */
         3: .line 157
            aload 3 /* buffer */
            ifnull 5
         4: .line 158
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* buffer */
            invokevirtual sun.tools.tree.Expression.inlineValueSB:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            astore 3 /* buffer */
         5: .line 160
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            areturn
        end local 3 // java.lang.StringBuffer buffer
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/tools/tree/AddExpression;
            0    6     1     env  Lsun/tools/java/Environment;
            0    6     2     ctx  Lsun/tools/tree/Context;
            0    6     3  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      env     
      ctx     
      buffer  

  sun.tools.tree.Expression simplify();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // sun.tools.tree.AddExpression this
         0: .line 167
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            bipush 10
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifne 6
         1: .line 169
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            bipush 62
            invokevirtual sun.tools.java.Type.inMask:(I)Z
            ifeq 11
         2: .line 170
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            iconst_0
            invokevirtual sun.tools.tree.Expression.equals:(I)Z
            ifeq 4
         3: .line 171
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            areturn
         4: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            iconst_0
            invokevirtual sun.tools.tree.Expression.equals:(I)Z
            ifeq 11
         5: .line 174
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            areturn
         6: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            bipush 8
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 9
         7: .line 178
            aload 0 /* this */
            new sun.tools.tree.StringExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.where:J
            ldc "null"
            invokespecial sun.tools.tree.StringExpression.<init>:(JLjava/lang/String;)V
            putfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
         8: .line 179
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            bipush 8
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 11
        10: .line 180
            aload 0 /* this */
            new sun.tools.tree.StringExpression
            dup
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            getfield sun.tools.tree.Expression.where:J
            ldc "null"
            invokespecial sun.tools.tree.StringExpression.<init>:(JLjava/lang/String;)V
            putfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
        11: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // sun.tools.tree.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/tools/tree/AddExpression;

  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.AddExpression this
        start local 1 // int thresh
        start local 2 // sun.tools.java.Environment env
        start local 3 // sun.tools.tree.Context ctx
         0: .line 189
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            bipush 10
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 1
            bipush 12
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
         2: .line 190
      StackMap locals:
      StackMap stack: int
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left: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
         3: .line 189
            iadd
         4: .line 191
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.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
         5: .line 189
            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.AddExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/tools/tree/AddExpression;
            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     

  void codeOperation(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.tools.tree.AddExpression 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
         0: .line 198
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            bipush 96
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.getTypeCodeOffset:()I
            iadd
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         1: .line 199
            return
        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.AddExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/AddExpression;
            0    2     1   env  Lsun/tools/java/Environment;
            0    2     2   ctx  Lsun/tools/tree/Context;
            0    2     3   asm  Lsun/tools/asm/Assembler;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   

  void codeAppend(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, sun.tools.java.ClassDeclaration, boolean);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/ClassDeclaration;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // sun.tools.tree.AddExpression 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 // sun.tools.java.ClassDeclaration sbClass
        start local 5 // boolean needBuffer
         0: .line 210
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            bipush 10
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 4
         1: .line 211
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* sbClass */
            iload 5 /* needBuffer */
            invokevirtual sun.tools.tree.Expression.codeAppend:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/ClassDeclaration;Z)V
         2: .line 212
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* sbClass */
            iconst_0
            invokevirtual sun.tools.tree.Expression.codeAppend:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/ClassDeclaration;Z)V
         3: .line 213
            goto 5
         4: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* sbClass */
            iload 5 /* needBuffer */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.codeAppend:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/ClassDeclaration;Z)V
         5: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean needBuffer
        end local 4 // sun.tools.java.ClassDeclaration sbClass
        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.AddExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lsun/tools/tree/AddExpression;
            0    6     1         env  Lsun/tools/java/Environment;
            0    6     2         ctx  Lsun/tools/tree/Context;
            0    6     3         asm  Lsun/tools/asm/Assembler;
            0    6     4     sbClass  Lsun/tools/java/ClassDeclaration;
            0    6     5  needBuffer  Z
    Exceptions:
      throws sun.tools.java.ClassNotFound, sun.tools.java.AmbiguousMember
    MethodParameters:
            Name  Flags
      env         
      ctx         
      asm         
      sbClass     
      needBuffer  

  public void codeValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // sun.tools.tree.AddExpression 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
         0: .line 219
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.type:Lsun/tools/java/Type;
            bipush 10
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 24
         1: .line 222
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            ldc ""
            invokevirtual sun.tools.tree.Expression.equals:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 223
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
         3: .line 224
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.ensureString:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
         4: .line 225
            return
         5: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.right:Lsun/tools/tree/Expression;
            ldc ""
            invokevirtual sun.tools.tree.Expression.equals:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 228
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
         7: .line 229
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.left:Lsun/tools/tree/Expression;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.ensureString:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
         8: .line 230
            return
         9: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            getstatic sun.tools.tree.AddExpression.idJavaLangStringBuffer:Lsun/tools/java/Identifier;
            invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
        10: .line 233
            astore 4 /* sbClass */
        start local 4 // sun.tools.java.ClassDeclaration sbClass
        11: .line 235
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            astore 5 /* sourceClass */
        start local 5 // sun.tools.java.ClassDefinition sourceClass
        12: .line 237
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* sbClass */
            iconst_1
            invokevirtual sun.tools.tree.AddExpression.codeAppend:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/ClassDeclaration;Z)V
        13: .line 240
            aload 4 /* sbClass */
            aload 1 /* env */
            invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
            aload 1 /* env */
        14: .line 241
            aload 5 /* sourceClass */
        15: .line 242
            getstatic sun.tools.tree.AddExpression.idToString:Lsun/tools/java/Identifier;
        16: .line 240
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
        17: .line 239
            astore 6 /* f */
        start local 6 // sun.tools.java.MemberDefinition f
        18: .line 243
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.AddExpression.where:J
            sipush 182
            aload 6 /* f */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        end local 6 // sun.tools.java.MemberDefinition f
        end local 5 // sun.tools.java.ClassDefinition sourceClass
        end local 4 // sun.tools.java.ClassDeclaration sbClass
        19: .line 244
            goto 25
      StackMap locals:
      StackMap stack: sun.tools.java.ClassNotFound
        20: astore 4 /* e */
        start local 4 // sun.tools.java.ClassNotFound e
        21: .line 245
            new sun.tools.java.CompilerError
            dup
            aload 4 /* e */
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 4 // sun.tools.java.ClassNotFound e
        22: .line 246
      StackMap locals:
      StackMap stack: sun.tools.java.AmbiguousMember
            astore 4 /* e */
        start local 4 // sun.tools.java.AmbiguousMember e
        23: .line 247
            new sun.tools.java.CompilerError
            dup
            aload 4 /* e */
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 4 // sun.tools.java.AmbiguousMember e
        24: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokespecial sun.tools.tree.BinaryArithmeticExpression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        25: .line 252
      StackMap locals:
      StackMap stack:
            return
        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.AddExpression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lsun/tools/tree/AddExpression;
            0   26     1          env  Lsun/tools/java/Environment;
            0   26     2          ctx  Lsun/tools/tree/Context;
            0   26     3          asm  Lsun/tools/asm/Assembler;
           11   19     4      sbClass  Lsun/tools/java/ClassDeclaration;
           12   19     5  sourceClass  Lsun/tools/java/ClassDefinition;
           18   19     6            f  Lsun/tools/java/MemberDefinition;
           21   22     4            e  Lsun/tools/java/ClassNotFound;
           23   24     4            e  Lsun/tools/java/AmbiguousMember;
      Exception table:
        from    to  target  type
           1     4      20  Class sun.tools.java.ClassNotFound
           5     8      20  Class sun.tools.java.ClassNotFound
           9    19      20  Class sun.tools.java.ClassNotFound
           1     4      22  Class sun.tools.java.AmbiguousMember
           5     8      22  Class sun.tools.java.AmbiguousMember
           9    19      22  Class sun.tools.java.AmbiguousMember
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   
}
SourceFile: "AddExpression.java"