public class sun.tools.tree.Expression extends sun.tools.tree.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.tree.Expression
  super_class: sun.tools.tree.Node
{
  sun.tools.java.Type type;
    descriptor: Lsun/tools/java/Type;
    flags: (0x0000) 

  void <init>(int, long, sun.tools.java.Type);
    descriptor: (IJLsun/tools/java/Type;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.tools.tree.Expression this
        start local 1 // int op
        start local 2 // long where
        start local 4 // sun.tools.java.Type type
         0: .line 47
            aload 0 /* this */
            iload 1 /* op */
            lload 2 /* where */
            invokespecial sun.tools.tree.Node.<init>:(IJ)V
         1: .line 48
            aload 0 /* this */
            aload 4 /* type */
            putfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
         2: .line 49
            return
        end local 4 // sun.tools.java.Type type
        end local 2 // long where
        end local 1 // int op
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/tree/Expression;
            0    3     1     op  I
            0    3     2  where  J
            0    3     4   type  Lsun/tools/java/Type;
    MethodParameters:
       Name  Flags
      op     
      where  
      type   

  public sun.tools.tree.Expression getImplementation();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 63
            aload 0 /* this */
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  public sun.tools.java.Type getType();
    descriptor: ()Lsun/tools/java/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 67
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  int precedence();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 74
            aload 0 /* this */
            getfield sun.tools.tree.Expression.op:I
            getstatic sun.tools.tree.Expression.opPrecedence:[I
            arraylength
            if_icmpge 1
            getstatic sun.tools.tree.Expression.opPrecedence:[I
            aload 0 /* this */
            getfield sun.tools.tree.Expression.op:I
            iaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: bipush 100
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/tree/Expression;

  public sun.tools.tree.Expression order();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 81
            aload 0 /* this */
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

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

  public java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 96
            aconst_null
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  public boolean equals(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // int i
         0: .line 106
            iconst_0
            ireturn
        end local 1 // int i
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public boolean equals(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // boolean b
         0: .line 109
            iconst_0
            ireturn
        end local 1 // boolean b
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean equals(sun.tools.java.Identifier);
    descriptor: (Lsun/tools/java/Identifier;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Identifier id
         0: .line 112
            iconst_0
            ireturn
        end local 1 // sun.tools.java.Identifier id
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1    id  Lsun/tools/java/Identifier;
    MethodParameters:
      Name  Flags
      id    

  public boolean equals(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // java.lang.String s
         0: .line 115
            iconst_0
            ireturn
        end local 1 // java.lang.String s
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

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

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

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

  sun.tools.java.Type toType(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/java/Type;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 144
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            ldc "invalid.type.expr"
            invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
         1: .line 145
            getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/Expression;
            0    2     1   env  Lsun/tools/java/Environment;
            0    2     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public boolean fitsType(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.java.Type);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.java.Type t
         0: .line 170
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            aload 3 /* t */
            invokevirtual sun.tools.java.Environment.isMoreSpecific:(Lsun/tools/java/Type;Lsun/tools/java/Type;)Z
            ifeq 2
         1: .line 171
            iconst_1
            ireturn
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            iconst_4
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 7
            aload 0 /* this */
            invokevirtual sun.tools.tree.Expression.isConstant:()Z
            ifeq 7
            aload 2 /* ctx */
            ifnull 7
         3: .line 175
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            astore 4 /* n */
        start local 4 // sun.tools.tree.Expression n
         4: .line 176
            aload 4 /* n */
            aload 0 /* this */
            if_acmpeq 7
            aload 4 /* n */
            instanceof sun.tools.tree.ConstantExpression
            ifeq 7
         5: .line 177
            aload 4 /* n */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* t */
            invokevirtual sun.tools.tree.Expression.fitsType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;)Z
         6: ireturn
        end local 4 // sun.tools.tree.Expression n
         7: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 181
      StackMap locals:
      StackMap stack: sun.tools.java.ClassNotFound
            pop
         9: .line 182
            iconst_0
            ireturn
        end local 3 // sun.tools.java.Type t
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/tools/tree/Expression;
            0   10     1   env  Lsun/tools/java/Environment;
            0   10     2   ctx  Lsun/tools/tree/Context;
            0   10     3     t  Lsun/tools/java/Type;
            4    7     4     n  Lsun/tools/tree/Expression;
      Exception table:
        from    to  target  type
           0     1       8  Class sun.tools.java.ClassNotFound
           2     6       8  Class sun.tools.java.ClassNotFound
    MethodParameters:
      Name  Flags
      env   
      ctx   
      t     

  public boolean fitsType(sun.tools.java.Environment, sun.tools.java.Type);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/java/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.java.Type t
         0: .line 189
            aload 0 /* this */
            aload 1 /* env */
            aconst_null
            aload 2 /* t */
            invokevirtual sun.tools.tree.Expression.fitsType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;)Z
            ireturn
        end local 2 // sun.tools.java.Type t
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1   env  Lsun/tools/java/Environment;
            0    1     2     t  Lsun/tools/java/Type;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      env   
      t     

  public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
    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=1, locals=5, args_size=5
        start local 0 // sun.tools.tree.Expression 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 196
            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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.Vset checkInitializer(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, sun.tools.java.Type, java.util.Hashtable);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Lsun/tools/java/Type;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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 // sun.tools.java.Type t
        start local 5 // java.util.Hashtable exp
         0: .line 199
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 5 /* exp */
            invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
            areturn
        end local 5 // java.util.Hashtable exp
        end local 4 // sun.tools.java.Type t
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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     t  Lsun/tools/java/Type;
            0    1     5   exp  Ljava/util/Hashtable;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      t     
      exp   

  public sun.tools.tree.Vset check(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
    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=3, locals=5, args_size=5
        start local 0 // sun.tools.tree.Expression 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 202
            new sun.tools.java.CompilerError
            dup
            ldc "check failed"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.Vset checkLHS(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
    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=4, locals=5, args_size=5
        start local 0 // sun.tools.tree.Expression 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 207
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            ldc "invalid.lhs.assignment"
            invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
         1: .line 208
            aload 0 /* this */
            getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
            putfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
         2: .line 209
            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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/tree/Expression;
            0    3     1   env  Lsun/tools/java/Environment;
            0    3     2   ctx  Lsun/tools/tree/Context;
            0    3     3  vset  Lsun/tools/tree/Vset;
            0    3     4   exp  Ljava/util/Hashtable;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.FieldUpdater getAssigner(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 227
            new sun.tools.java.CompilerError
            dup
            ldc "getAssigner lhs"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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.FieldUpdater getUpdater(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 242
            new sun.tools.java.CompilerError
            dup
            ldc "getUpdater lhs"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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.Vset checkAssignOp(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable, sun.tools.tree.Expression);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/Expression;)Lsun/tools/tree/Vset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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
        start local 5 // sun.tools.tree.Expression outside
         0: .line 247
            aload 5 /* outside */
            instanceof sun.tools.tree.IncDecExpression
            ifeq 2
         1: .line 248
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            ldc "invalid.arg"
            getstatic sun.tools.tree.Expression.opNames:[Ljava/lang/String;
            aload 5 /* outside */
            getfield sun.tools.tree.Expression.op:I
            aaload
            invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
            goto 3
         2: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            ldc "invalid.lhs.assignment"
            invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
         3: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
            putfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
         4: .line 252
            aload 3 /* vset */
            areturn
        end local 5 // sun.tools.tree.Expression outside
        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.Expression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/tools/tree/Expression;
            0    5     1      env  Lsun/tools/java/Environment;
            0    5     2      ctx  Lsun/tools/tree/Context;
            0    5     3     vset  Lsun/tools/tree/Vset;
            0    5     4      exp  Ljava/util/Hashtable;
            0    5     5  outside  Lsun/tools/tree/Expression;
    MethodParameters:
         Name  Flags
      env      
      ctx      
      vset     
      exp      
      outside  

  public sun.tools.tree.Vset checkAmbigName(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable, sun.tools.tree.UnaryExpression);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/UnaryExpression;)Lsun/tools/tree/Vset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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
        start local 5 // sun.tools.tree.UnaryExpression loc
         0: .line 271
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 4 /* exp */
            invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
            areturn
        end local 5 // sun.tools.tree.UnaryExpression loc
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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;
            0    1     5   loc  Lsun/tools/tree/UnaryExpression;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   
      loc   

  public sun.tools.tree.ConditionVars checkCondition(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/ConditionVars;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // sun.tools.tree.Expression 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 281
            new sun.tools.tree.ConditionVars
            dup
            invokespecial sun.tools.tree.ConditionVars.<init>:()V
            astore 5 /* cvars */
        start local 5 // sun.tools.tree.ConditionVars cvars
         1: .line 282
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 4 /* exp */
            aload 5 /* cvars */
            invokevirtual sun.tools.tree.Expression.checkCondition:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/ConditionVars;)V
         2: .line 283
            aload 5 /* cvars */
            areturn
        end local 5 // sun.tools.tree.ConditionVars cvars
        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.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/tree/Expression;
            0    3     1    env  Lsun/tools/java/Environment;
            0    3     2    ctx  Lsun/tools/tree/Context;
            0    3     3   vset  Lsun/tools/tree/Vset;
            0    3     4    exp  Ljava/util/Hashtable;
            1    3     5  cvars  Lsun/tools/tree/ConditionVars;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public void checkCondition(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable, sun.tools.tree.ConditionVars);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/ConditionVars;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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
        start local 5 // sun.tools.tree.ConditionVars cvars
         0: .line 299
            aload 5 /* cvars */
            aload 5 /* cvars */
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* vset */
            aload 4 /* exp */
            invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
            dup_x1
            putfield sun.tools.tree.ConditionVars.vsFalse:Lsun/tools/tree/Vset;
            putfield sun.tools.tree.ConditionVars.vsTrue:Lsun/tools/tree/Vset;
         1: .line 301
            aload 5 /* cvars */
            aload 5 /* cvars */
            getfield sun.tools.tree.ConditionVars.vsFalse:Lsun/tools/tree/Vset;
            invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
            putfield sun.tools.tree.ConditionVars.vsFalse:Lsun/tools/tree/Vset;
         2: .line 302
            return
        end local 5 // sun.tools.tree.ConditionVars cvars
        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.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/tree/Expression;
            0    3     1    env  Lsun/tools/java/Environment;
            0    3     2    ctx  Lsun/tools/tree/Context;
            0    3     3   vset  Lsun/tools/tree/Vset;
            0    3     4    exp  Ljava/util/Hashtable;
            0    3     5  cvars  Lsun/tools/tree/ConditionVars;
    MethodParameters:
       Name  Flags
      env    
      ctx    
      vset   
      exp    
      cvars  

  sun.tools.tree.Expression eval();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 314
            aload 0 /* this */
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  sun.tools.tree.Expression simplify();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 332
            aload 0 /* this */
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  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=1, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 349
            aconst_null
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            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=1, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 352
            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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1   env  Lsun/tools/java/Environment;
            0    1     2   ctx  Lsun/tools/tree/Context;
    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=3, locals=6, args_size=4
        start local 0 // sun.tools.tree.Expression 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 372
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            astore 4 /* inlined */
        start local 4 // sun.tools.tree.Expression inlined
         1: .line 373
            aload 4 /* inlined */
            invokevirtual sun.tools.tree.Expression.getValue:()Ljava/lang/Object;
            astore 5 /* val */
        start local 5 // java.lang.Object val
         2: .line 375
            aload 5 /* val */
            ifnonnull 4
            aload 4 /* inlined */
            invokevirtual sun.tools.tree.Expression.isNull:()Z
            ifne 4
         3: .line 387
            aconst_null
            areturn
         4: .line 394
      StackMap locals: sun.tools.tree.Expression java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tChar:Lsun/tools/java/Type;
            if_acmpne 7
         5: .line 395
            aload 3 /* buffer */
            aload 5 /* val */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 396
            goto 13
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tBoolean:Lsun/tools/java/Type;
            if_acmpne 12
         8: .line 397
            aload 3 /* buffer */
            aload 5 /* val */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack: java.lang.StringBuffer
         9: iconst_0
      StackMap locals: sun.tools.tree.Expression sun.tools.java.Environment sun.tools.tree.Context java.lang.StringBuffer sun.tools.tree.Expression java.lang.Object
      StackMap stack: java.lang.StringBuffer int
        10: invokevirtual java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;
            pop
        11: .line 398
            goto 13
        12: .line 399
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            aload 5 /* val */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        13: .line 402
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            areturn
        end local 5 // java.lang.Object val
        end local 4 // sun.tools.tree.Expression inlined
        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.Expression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lsun/tools/tree/Expression;
            0   14     1      env  Lsun/tools/java/Environment;
            0   14     2      ctx  Lsun/tools/tree/Context;
            0   14     3   buffer  Ljava/lang/StringBuffer;
            1   14     4  inlined  Lsun/tools/tree/Expression;
            2   14     5      val  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      env     
      ctx     
      buffer  

  public sun.tools.tree.Expression inlineLHS(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=1, locals=3, args_size=3
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 406
            aconst_null
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1   env  Lsun/tools/java/Environment;
            0    1     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=1, locals=4, args_size=4
        start local 0 // sun.tools.tree.Expression this
        start local 1 // int thresh
        start local 2 // sun.tools.java.Environment env
        start local 3 // sun.tools.tree.Context ctx
         0: .line 415
            iconst_1
            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.Expression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/tools/tree/Expression;
            0    1     1  thresh  I
            0    1     2     env  Lsun/tools/java/Environment;
            0    1     3     ctx  Lsun/tools/tree/Context;
    MethodParameters:
        Name  Flags
      thresh  
      env     
      ctx     

  void codeBranch(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, sun.tools.asm.Label, boolean);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/asm/Label;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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.asm.Label lbl
        start local 5 // boolean whenTrue
         0: .line 422
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            iconst_0
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 6
         1: .line 423
            aload 0 /* this */
            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
         2: .line 424
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            iload 5 /* whenTrue */
            ifeq 3
            sipush 154
            goto 4
      StackMap locals: sun.tools.tree.Expression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.asm.Label int
      StackMap stack: sun.tools.asm.Assembler long
         3: sipush 153
      StackMap locals: sun.tools.tree.Expression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.asm.Label int
      StackMap stack: sun.tools.asm.Assembler long int
         4: aload 4 /* lbl */
            iload 5 /* whenTrue */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;Z)V
         5: .line 425
            goto 7
         6: .line 426
      StackMap locals:
      StackMap stack:
            new sun.tools.java.CompilerError
            dup
            new java.lang.StringBuilder
            dup
            ldc "codeBranch "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic sun.tools.tree.Expression.opNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.tree.Expression.op:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 428
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean whenTrue
        end local 4 // sun.tools.asm.Label lbl
        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.Expression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/tools/tree/Expression;
            0    8     1       env  Lsun/tools/java/Environment;
            0    8     2       ctx  Lsun/tools/tree/Context;
            0    8     3       asm  Lsun/tools/asm/Assembler;
            0    8     4       lbl  Lsun/tools/asm/Label;
            0    8     5  whenTrue  Z
    MethodParameters:
          Name  Flags
      env       
      ctx       
      asm       
      lbl       
      whenTrue  

  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=8, locals=6, args_size=4
        start local 0 // sun.tools.tree.Expression 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 430
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            iconst_0
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 10
         1: .line 431
            new sun.tools.asm.Label
            dup
            invokespecial sun.tools.asm.Label.<init>:()V
            astore 4 /* l1 */
        start local 4 // sun.tools.asm.Label l1
         2: .line 432
            new sun.tools.asm.Label
            dup
            invokespecial sun.tools.asm.Label.<init>:()V
            astore 5 /* l2 */
        start local 5 // sun.tools.asm.Label l2
         3: .line 434
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* l1 */
            iconst_1
            invokevirtual sun.tools.tree.Expression.codeBranch:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/asm/Label;Z)V
         4: .line 435
            aload 3 /* asm */
            iconst_1
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 18
            new java.lang.Integer
            dup
            iconst_0
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
         5: .line 436
            aload 3 /* asm */
            iconst_1
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 167
            aload 5 /* l2 */
            invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
         6: .line 437
            aload 3 /* asm */
            aload 4 /* l1 */
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
         7: .line 438
            aload 3 /* asm */
            iconst_1
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 18
            new java.lang.Integer
            dup
            iconst_1
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
         8: .line 439
            aload 3 /* asm */
            aload 5 /* l2 */
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        end local 5 // sun.tools.asm.Label l2
        end local 4 // sun.tools.asm.Label l1
         9: .line 440
            goto 11
        10: .line 441
      StackMap locals:
      StackMap stack:
            new sun.tools.java.CompilerError
            dup
            ldc "codeValue"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 443
      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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/tools/tree/Expression;
            0   12     1   env  Lsun/tools/java/Environment;
            0   12     2   ctx  Lsun/tools/tree/Context;
            0   12     3   asm  Lsun/tools/asm/Assembler;
            2    9     4    l1  Lsun/tools/asm/Label;
            3    9     5    l2  Lsun/tools/asm/Label;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   

  public void code(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=4, locals=4, args_size=4
        start local 0 // sun.tools.tree.Expression 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 445
            aload 0 /* this */
            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
         1: .line 447
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.getTypeCode:()I
            tableswitch { // 5 - 11
                    5: 3
                    6: 5
                    7: 3
                    8: 5
                    9: 5
                   10: 5
                   11: 2
              default: 5
          }
         2: .line 449
      StackMap locals:
      StackMap stack:
            goto 6
         3: .line 453
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 88
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         4: .line 454
            goto 6
         5: .line 457
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 87
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         6: .line 460
      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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/tree/Expression;
            0    7     1   env  Lsun/tools/java/Environment;
            0    7     2   ctx  Lsun/tools/tree/Context;
            0    7     3   asm  Lsun/tools/asm/Assembler;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   

  int codeLValue(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;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.tools.tree.Expression 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 462
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
         1: .line 463
            new sun.tools.java.CompilerError
            dup
            ldc "invalid lhs"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/Expression;
            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 codeLoad(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=3, locals=4, args_size=4
        start local 0 // sun.tools.tree.Expression 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 466
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
         1: .line 467
            new sun.tools.java.CompilerError
            dup
            ldc "invalid load"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/Expression;
            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 codeStore(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=3, locals=4, args_size=4
        start local 0 // sun.tools.tree.Expression 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 470
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
         1: .line 471
            new sun.tools.java.CompilerError
            dup
            ldc "invalid store"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/Expression;
            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 ensureString(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=9, args_size=4
        start local 0 // sun.tools.tree.Expression 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 480
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpne 2
            aload 0 /* this */
            invokevirtual sun.tools.tree.Expression.isNonNull:()Z
            ifeq 2
         1: .line 481
            return
         2: .line 484
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            astore 4 /* sourceClass */
        start local 4 // sun.tools.java.ClassDefinition sourceClass
         3: .line 485
            aload 1 /* env */
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
            astore 5 /* stClass */
        start local 5 // sun.tools.java.ClassDeclaration stClass
         4: .line 486
            aload 5 /* stClass */
            aload 1 /* env */
            invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
            astore 6 /* stClsDef */
        start local 6 // sun.tools.java.ClassDefinition stClsDef
         5: .line 494
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            sipush 1792
            invokevirtual sun.tools.java.Type.inMask:(I)Z
            ifeq 17
         6: .line 496
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpeq 11
         7: .line 500
            iconst_1
            anewarray sun.tools.java.Type
            dup
            iconst_0
            getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
            aastore
            astore 7 /* argType1 */
        start local 7 // sun.tools.java.Type[] argType1
         8: .line 502
            aload 6 /* stClsDef */
            aload 1 /* env */
            aload 4 /* sourceClass */
            getstatic sun.tools.tree.Expression.idValueOf:Lsun/tools/java/Identifier;
            aload 7 /* argType1 */
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
         9: .line 501
            astore 8 /* f1 */
        start local 8 // sun.tools.java.MemberDefinition f1
        10: .line 503
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 184
            aload 8 /* f1 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        end local 8 // sun.tools.java.MemberDefinition f1
        end local 7 // sun.tools.java.Type[] argType1
        11: .line 513
      StackMap locals: sun.tools.java.ClassDefinition sun.tools.java.ClassDeclaration sun.tools.java.ClassDefinition
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            sipush 768
            invokevirtual sun.tools.java.Type.inMask:(I)Z
            ifne 21
        12: .line 514
            iconst_1
            anewarray sun.tools.java.Type
            dup
            iconst_0
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            aastore
            astore 7 /* argType2 */
        start local 7 // sun.tools.java.Type[] argType2
        13: .line 516
            aload 6 /* stClsDef */
            aload 1 /* env */
            aload 4 /* sourceClass */
            getstatic sun.tools.tree.Expression.idValueOf:Lsun/tools/java/Identifier;
            aload 7 /* argType2 */
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
        14: .line 515
            astore 8 /* f2 */
        start local 8 // sun.tools.java.MemberDefinition f2
        15: .line 517
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 184
            aload 8 /* f2 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        end local 8 // sun.tools.java.MemberDefinition f2
        end local 7 // sun.tools.java.Type[] argType2
        16: .line 519
            goto 21
        17: .line 521
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.tools.java.Type
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            aastore
            astore 7 /* argType */
        start local 7 // sun.tools.java.Type[] argType
        18: .line 523
            aload 6 /* stClsDef */
            aload 1 /* env */
            aload 4 /* sourceClass */
            getstatic sun.tools.tree.Expression.idValueOf:Lsun/tools/java/Identifier;
            aload 7 /* argType */
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
        19: .line 522
            astore 8 /* f */
        start local 8 // sun.tools.java.MemberDefinition f
        20: .line 524
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 184
            aload 8 /* f */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        end local 8 // sun.tools.java.MemberDefinition f
        end local 7 // sun.tools.java.Type[] argType
        21: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.tools.java.ClassDefinition stClsDef
        end local 5 // sun.tools.java.ClassDeclaration stClass
        end local 4 // sun.tools.java.ClassDefinition sourceClass
        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.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lsun/tools/tree/Expression;
            0   22     1          env  Lsun/tools/java/Environment;
            0   22     2          ctx  Lsun/tools/tree/Context;
            0   22     3          asm  Lsun/tools/asm/Assembler;
            3   22     4  sourceClass  Lsun/tools/java/ClassDefinition;
            4   22     5      stClass  Lsun/tools/java/ClassDeclaration;
            5   22     6     stClsDef  Lsun/tools/java/ClassDefinition;
            8   11     7     argType1  [Lsun/tools/java/Type;
           10   11     8           f1  Lsun/tools/java/MemberDefinition;
           13   16     7     argType2  [Lsun/tools/java/Type;
           15   16     8           f2  Lsun/tools/java/MemberDefinition;
           18   21     7      argType  [Lsun/tools/java/Type;
           20   21     8            f  Lsun/tools/java/MemberDefinition;
    Exceptions:
      throws sun.tools.java.ClassNotFound, sun.tools.java.AmbiguousMember
    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=5, locals=10, args_size=6
        start local 0 // sun.tools.tree.Expression 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 538
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            astore 6 /* sourceClass */
        start local 6 // sun.tools.java.ClassDefinition sourceClass
         1: .line 539
            aload 4 /* sbClass */
            aload 1 /* env */
            invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
            astore 7 /* sbClsDef */
        start local 7 // sun.tools.java.ClassDefinition sbClsDef
         2: .line 541
            iload 5 /* needBuffer */
            ifeq 14
         3: .line 543
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 187
            aload 4 /* sbClass */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
         4: .line 544
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 89
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         5: .line 545
            aload 0 /* this */
            ldc ""
            invokevirtual sun.tools.tree.Expression.equals:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 547
            aload 7 /* sbClsDef */
            aload 1 /* env */
            aload 6 /* sourceClass */
            getstatic sun.tools.tree.Expression.idInit:Lsun/tools/java/Identifier;
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
            astore 8 /* f */
        start local 8 // sun.tools.java.MemberDefinition f
         7: .line 548
            goto 12
        end local 8 // sun.tools.java.MemberDefinition f
         8: .line 550
      StackMap locals: sun.tools.java.ClassDefinition sun.tools.java.ClassDefinition
      StackMap stack:
            aload 0 /* this */
            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
         9: .line 551
            aload 0 /* this */
            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
        10: .line 552
            iconst_1
            anewarray sun.tools.java.Type
            dup
            iconst_0
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            aastore
            astore 9 /* argType */
        start local 9 // sun.tools.java.Type[] argType
        11: .line 553
            aload 7 /* sbClsDef */
            aload 1 /* env */
            aload 6 /* sourceClass */
            getstatic sun.tools.tree.Expression.idInit:Lsun/tools/java/Identifier;
            aload 9 /* argType */
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
            astore 8 /* f */
        end local 9 // sun.tools.java.Type[] argType
        start local 8 // sun.tools.java.MemberDefinition f
        12: .line 555
      StackMap locals: sun.tools.java.MemberDefinition
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 183
            aload 8 /* f */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        13: .line 556
            goto 22
        end local 8 // sun.tools.java.MemberDefinition f
        14: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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
        15: .line 568
            iconst_1
            anewarray sun.tools.java.Type
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            sipush 1792
            invokevirtual sun.tools.java.Type.inMask:(I)Z
            ifeq 17
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
            getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
            if_acmpeq 17
        16: .line 569
            getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
            goto 18
        17: .line 570
      StackMap locals: sun.tools.tree.Expression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.java.ClassDeclaration int sun.tools.java.ClassDefinition sun.tools.java.ClassDefinition
      StackMap stack: sun.tools.java.Type[] sun.tools.java.Type[] int
            aload 0 /* this */
            getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
      StackMap locals: sun.tools.tree.Expression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.java.ClassDeclaration int sun.tools.java.ClassDefinition sun.tools.java.ClassDefinition
      StackMap stack: sun.tools.java.Type[] sun.tools.java.Type[] int sun.tools.java.Type
        18: aastore
        19: .line 567
            astore 9 /* argType */
        start local 9 // sun.tools.java.Type[] argType
        20: .line 571
            aload 7 /* sbClsDef */
            aload 1 /* env */
            aload 6 /* sourceClass */
            getstatic sun.tools.tree.Expression.idAppend:Lsun/tools/java/Identifier;
            aload 9 /* argType */
            invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
            astore 8 /* f */
        start local 8 // sun.tools.java.MemberDefinition f
        21: .line 572
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 182
            aload 8 /* f */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        end local 9 // sun.tools.java.Type[] argType
        22: .line 574
      StackMap locals: sun.tools.java.MemberDefinition
      StackMap stack:
            return
        end local 8 // sun.tools.java.MemberDefinition f
        end local 7 // sun.tools.java.ClassDefinition sbClsDef
        end local 6 // sun.tools.java.ClassDefinition sourceClass
        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.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lsun/tools/tree/Expression;
            0   23     1          env  Lsun/tools/java/Environment;
            0   23     2          ctx  Lsun/tools/tree/Context;
            0   23     3          asm  Lsun/tools/asm/Assembler;
            0   23     4      sbClass  Lsun/tools/java/ClassDeclaration;
            0   23     5   needBuffer  Z
            1   23     6  sourceClass  Lsun/tools/java/ClassDefinition;
            2   23     7     sbClsDef  Lsun/tools/java/ClassDefinition;
            7    8     8            f  Lsun/tools/java/MemberDefinition;
           12   14     8            f  Lsun/tools/java/MemberDefinition;
           21   23     8            f  Lsun/tools/java/MemberDefinition;
           11   12     9      argType  [Lsun/tools/java/Type;
           20   22     9      argType  [Lsun/tools/java/Type;
    Exceptions:
      throws sun.tools.java.ClassNotFound, sun.tools.java.AmbiguousMember
    MethodParameters:
            Name  Flags
      env         
      ctx         
      asm         
      sbClass     
      needBuffer  

  void codeDup(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, int, int);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // sun.tools.tree.Expression 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 // int items
        start local 5 // int depth
         0: .line 580
            iload 4 /* items */
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 10
              default: 17
          }
         1: .line 582
      StackMap locals:
      StackMap stack:
            return
         2: .line 585
      StackMap locals:
      StackMap stack:
            iload 5 /* depth */
            tableswitch { // 0 - 2
                    0: 3
                    1: 5
                    2: 7
              default: 9
          }
         3: .line 587
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 89
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         4: .line 588
            return
         5: .line 590
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 90
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         6: .line 591
            return
         7: .line 593
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 91
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         8: .line 594
            return
         9: .line 597
      StackMap locals:
      StackMap stack:
            goto 17
        10: .line 599
      StackMap locals:
      StackMap stack:
            iload 5 /* depth */
            tableswitch { // 0 - 2
                    0: 11
                    1: 13
                    2: 15
              default: 17
          }
        11: .line 601
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 92
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        12: .line 602
            return
        13: .line 604
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 93
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        14: .line 605
            return
        15: .line 607
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            bipush 94
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        16: .line 608
            return
        17: .line 613
      StackMap locals:
      StackMap stack:
            new sun.tools.java.CompilerError
            dup
            new java.lang.StringBuilder
            dup
            ldc "can't dup: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* items */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* depth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int depth
        end local 4 // int items
        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.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lsun/tools/tree/Expression;
            0   18     1    env  Lsun/tools/java/Environment;
            0   18     2    ctx  Lsun/tools/tree/Context;
            0   18     3    asm  Lsun/tools/asm/Assembler;
            0   18     4  items  I
            0   18     5  depth  I
    MethodParameters:
       Name  Flags
      env    
      ctx    
      asm    
      items  
      depth  

  void codeConversion(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, sun.tools.java.Type, sun.tools.java.Type);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // sun.tools.tree.Expression 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.Type f
        start local 5 // sun.tools.java.Type t
         0: .line 617
            aload 4 /* f */
            invokevirtual sun.tools.java.Type.getTypeCode:()I
            istore 6 /* from */
        start local 6 // int from
         1: .line 618
            aload 5 /* t */
            invokevirtual sun.tools.java.Type.getTypeCode:()I
            istore 7 /* to */
        start local 7 // int to
         2: .line 620
            iload 7 /* to */
            tableswitch { // 0 - 10
                    0: 3
                    1: 6
                    2: 10
                    3: 14
                    4: 18
                    5: 27
                    6: 36
                    7: 45
                    8: 70
                    9: 63
                   10: 54
              default: 70
          }
         3: .line 622
      StackMap locals: int int
      StackMap stack:
            iload 6 /* from */
            ifeq 5
         4: .line 623
            goto 70
         5: .line 625
      StackMap locals:
      StackMap stack:
            return
         6: .line 627
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            iconst_1
            if_icmpeq 9
         7: .line 628
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* f */
            getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
            invokevirtual sun.tools.tree.Expression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
         8: .line 629
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 145
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
         9: .line 631
      StackMap locals:
      StackMap stack:
            return
        10: .line 633
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            iconst_2
            if_icmpeq 13
        11: .line 634
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* f */
            getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
            invokevirtual sun.tools.tree.Expression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
        12: .line 635
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 146
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        13: .line 637
      StackMap locals:
      StackMap stack:
            return
        14: .line 639
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            iconst_3
            if_icmpeq 17
        15: .line 640
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            aload 4 /* f */
            getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
            invokevirtual sun.tools.tree.Expression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
        16: .line 641
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 147
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        17: .line 643
      StackMap locals:
      StackMap stack:
            return
        18: .line 645
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 1 - 7
                    1: 19
                    2: 19
                    3: 19
                    4: 19
                    5: 20
                    6: 22
                    7: 24
              default: 26
          }
        19: .line 650
      StackMap locals:
      StackMap stack:
            return
        20: .line 652
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 136
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        21: .line 653
            return
        22: .line 655
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 139
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        23: .line 656
            return
        24: .line 658
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 142
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        25: .line 659
            return
        26: .line 661
      StackMap locals:
      StackMap stack:
            goto 70
        27: .line 663
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 1 - 7
                    1: 28
                    2: 28
                    3: 28
                    4: 28
                    5: 30
                    6: 31
                    7: 33
              default: 35
          }
        28: .line 668
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 133
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        29: .line 669
            return
        30: .line 671
      StackMap locals:
      StackMap stack:
            return
        31: .line 673
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 140
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        32: .line 674
            return
        33: .line 676
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 143
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        34: .line 677
            return
        35: .line 679
      StackMap locals:
      StackMap stack:
            goto 70
        36: .line 681
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 1 - 7
                    1: 37
                    2: 37
                    3: 37
                    4: 37
                    5: 39
                    6: 41
                    7: 42
              default: 44
          }
        37: .line 686
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 134
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        38: .line 687
            return
        39: .line 689
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 137
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        40: .line 690
            return
        41: .line 692
      StackMap locals:
      StackMap stack:
            return
        42: .line 694
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 144
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        43: .line 695
            return
        44: .line 697
      StackMap locals:
      StackMap stack:
            goto 70
        45: .line 699
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 1 - 7
                    1: 46
                    2: 46
                    3: 46
                    4: 46
                    5: 48
                    6: 50
                    7: 52
              default: 53
          }
        46: .line 704
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 135
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        47: .line 705
            return
        48: .line 707
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 138
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        49: .line 708
            return
        50: .line 710
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 141
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        51: .line 711
            return
        52: .line 713
      StackMap locals:
      StackMap stack:
            return
        53: .line 715
      StackMap locals:
      StackMap stack:
            goto 70
        54: .line 718
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 8 - 10
                    8: 55
                    9: 56
                   10: 56
              default: 62
          }
        55: .line 720
      StackMap locals:
      StackMap stack:
            return
        56: .line 724
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 4 /* f */
            aload 5 /* t */
            invokevirtual sun.tools.java.Environment.implicitCast:(Lsun/tools/java/Type;Lsun/tools/java/Type;)Z
            ifne 61
        57: .line 725
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 192
            aload 1 /* env */
            aload 5 /* t */
            invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        58: .line 727
            goto 61
      StackMap locals:
      StackMap stack: sun.tools.java.ClassNotFound
        59: astore 8 /* e */
        start local 8 // sun.tools.java.ClassNotFound e
        60: .line 728
            new sun.tools.java.CompilerError
            dup
            aload 8 /* e */
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 8 // sun.tools.java.ClassNotFound e
        61: .line 730
      StackMap locals:
      StackMap stack:
            return
        62: .line 733
      StackMap locals:
      StackMap stack:
            goto 70
        63: .line 736
      StackMap locals:
      StackMap stack:
            iload 6 /* from */
            tableswitch { // 8 - 10
                    8: 64
                    9: 65
                   10: 65
              default: 70
          }
        64: .line 738
      StackMap locals:
      StackMap stack:
            return
        65: .line 742
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 4 /* f */
            aload 5 /* t */
            invokevirtual sun.tools.java.Environment.implicitCast:(Lsun/tools/java/Type;Lsun/tools/java/Type;)Z
            ifne 67
        66: .line 743
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.Expression.where:J
            sipush 192
            aload 5 /* t */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        67: .line 745
      StackMap locals:
      StackMap stack:
            return
        68: .line 746
      StackMap locals:
      StackMap stack: sun.tools.java.ClassNotFound
            astore 8 /* e */
        start local 8 // sun.tools.java.ClassNotFound e
        69: .line 747
            new sun.tools.java.CompilerError
            dup
            aload 8 /* e */
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 8 // sun.tools.java.ClassNotFound e
        70: .line 752
      StackMap locals:
      StackMap stack:
            new sun.tools.java.CompilerError
            dup
            new java.lang.StringBuilder
            dup
            ldc "codeConversion: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* from */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // int to
        end local 6 // int from
        end local 5 // sun.tools.java.Type t
        end local 4 // sun.tools.java.Type f
        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.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   71     0  this  Lsun/tools/tree/Expression;
            0   71     1   env  Lsun/tools/java/Environment;
            0   71     2   ctx  Lsun/tools/tree/Context;
            0   71     3   asm  Lsun/tools/asm/Assembler;
            0   71     4     f  Lsun/tools/java/Type;
            0   71     5     t  Lsun/tools/java/Type;
            1   71     6  from  I
            2   71     7    to  I
           60   61     8     e  Lsun/tools/java/ClassNotFound;
           69   70     8     e  Lsun/tools/java/ClassNotFound;
      Exception table:
        from    to  target  type
          56    58      59  Class sun.tools.java.ClassNotFound
          65    67      68  Class sun.tools.java.ClassNotFound
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   
      f     
      t     

  public sun.tools.tree.Expression firstConstructor();
    descriptor: ()Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.Expression this
         0: .line 759
            aconst_null
            areturn
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;

  public sun.tools.tree.Expression copyInline(sun.tools.tree.Context);
    descriptor: (Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // sun.tools.tree.Context ctx
         0: .line 766
            aload 0 /* this */
            invokevirtual sun.tools.tree.Expression.clone:()Ljava/lang/Object;
            checkcast sun.tools.tree.Expression
            areturn
        end local 1 // sun.tools.tree.Context ctx
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/Expression;
            0    1     1   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      ctx   

  public void print(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.tools.tree.Expression this
        start local 1 // java.io.PrintStream out
         0: .line 773
            aload 1 /* out */
            getstatic sun.tools.tree.Expression.opNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.tree.Expression.op:I
            aaload
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 774
            return
        end local 1 // java.io.PrintStream out
        end local 0 // sun.tools.tree.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/Expression;
            0    2     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   
}
SourceFile: "Expression.java"