public class sun.tools.tree.UplevelReference implements sun.tools.java.Constants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.tree.UplevelReference
  super_class: java.lang.Object
{
  sun.tools.java.ClassDefinition client;
    descriptor: Lsun/tools/java/ClassDefinition;
    flags: (0x0000) 

  sun.tools.tree.LocalMember target;
    descriptor: Lsun/tools/tree/LocalMember;
    flags: (0x0000) 

  sun.tools.tree.LocalMember localArgument;
    descriptor: Lsun/tools/tree/LocalMember;
    flags: (0x0000) 

  sun.tools.java.MemberDefinition localField;
    descriptor: Lsun/tools/java/MemberDefinition;
    flags: (0x0000) 

  sun.tools.tree.UplevelReference next;
    descriptor: Lsun/tools/tree/UplevelReference;
    flags: (0x0000) 

  public void <init>(sun.tools.java.ClassDefinition, sun.tools.tree.LocalMember);
    descriptor: (Lsun/tools/java/ClassDefinition;Lsun/tools/tree/LocalMember;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.ClassDefinition client
        start local 2 // sun.tools.tree.LocalMember target
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aload 1 /* client */
            putfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
         2: .line 89
            aload 0 /* this */
            aload 2 /* target */
            putfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
         3: .line 93
            aload 2 /* target */
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
            getstatic sun.tools.tree.UplevelReference.idThis:Lsun/tools/java/Identifier;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
         4: .line 94
            aload 2 /* target */
            invokevirtual sun.tools.tree.LocalMember.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            astore 4 /* tc */
        start local 4 // sun.tools.java.ClassDefinition tc
         5: .line 102
            iconst_0
            istore 5 /* depth */
        start local 5 // int depth
         6: .line 103
            aload 4 /* tc */
            astore 6 /* pd */
        start local 6 // sun.tools.java.ClassDefinition pd
         7: goto 10
         8: .line 108
      StackMap locals: sun.tools.tree.UplevelReference sun.tools.java.ClassDefinition sun.tools.tree.LocalMember top sun.tools.java.ClassDefinition int sun.tools.java.ClassDefinition
      StackMap stack:
            iinc 5 /* depth */ 1
         9: .line 103
            aload 6 /* pd */
            invokevirtual sun.tools.java.ClassDefinition.getOuterClass:()Lsun/tools/java/ClassDefinition;
            astore 6 /* pd */
      StackMap locals:
      StackMap stack:
        10: aload 6 /* pd */
            invokevirtual sun.tools.java.ClassDefinition.isTopLevel:()Z
            ifeq 8
        end local 6 // sun.tools.java.ClassDefinition pd
        11: .line 133
            new java.lang.StringBuilder
            dup
            ldc "this$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* depth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
            astore 3 /* valName */
        end local 5 // int depth
        end local 4 // sun.tools.java.ClassDefinition tc
        start local 3 // sun.tools.java.Identifier valName
        12: .line 134
            goto 14
        end local 3 // sun.tools.java.Identifier valName
        13: .line 135
      StackMap locals: sun.tools.tree.UplevelReference sun.tools.java.ClassDefinition sun.tools.tree.LocalMember
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "val$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* target */
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
            astore 3 /* valName */
        start local 3 // sun.tools.java.Identifier valName
        14: .line 141
      StackMap locals: sun.tools.java.Identifier
      StackMap stack:
            aload 3 /* valName */
            astore 4 /* base */
        start local 4 // sun.tools.java.Identifier base
        15: .line 142
            iconst_0
            istore 5 /* tick */
        start local 5 // int tick
        16: .line 144
      StackMap locals: sun.tools.java.Identifier int
      StackMap stack:
            aload 1 /* client */
            aload 3 /* valName */
            invokevirtual sun.tools.java.ClassDefinition.getFirstMatch:(Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
            ifnull 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 6 /* failed */
        start local 6 // boolean failed
        19: .line 145
            aload 1 /* client */
            invokevirtual sun.tools.java.ClassDefinition.getReferences:()Lsun/tools/tree/UplevelReference;
            astore 7 /* r */
        start local 7 // sun.tools.tree.UplevelReference r
        20: .line 146
            goto 24
        21: .line 147
      StackMap locals: int sun.tools.tree.UplevelReference
      StackMap stack:
            aload 7 /* r */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
            aload 3 /* valName */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 148
            iconst_1
            istore 6 /* failed */
        23: .line 146
      StackMap locals:
      StackMap stack:
            aload 7 /* r */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            astore 7 /* r */
      StackMap locals:
      StackMap stack:
        24: aload 7 /* r */
            ifnonnull 21
        end local 7 // sun.tools.tree.UplevelReference r
        25: .line 151
            iload 6 /* failed */
            ifne 27
        26: .line 152
            goto 29
        27: .line 155
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iinc 5 /* tick */ 1
            iload 5 /* tick */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
            astore 3 /* valName */
        end local 6 // boolean failed
        28: .line 143
            goto 16
        29: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.tools.tree.LocalMember
            dup
            aload 2 /* target */
            invokevirtual sun.tools.tree.LocalMember.getWhere:()J
        30: .line 161
            aload 1 /* client */
        31: .line 162
            ldc 524304
        32: .line 163
            aload 2 /* target */
            invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
        33: .line 164
            aload 3 /* valName */
            invokespecial sun.tools.tree.LocalMember.<init>:(JLsun/tools/java/ClassDefinition;ILsun/tools/java/Type;Lsun/tools/java/Identifier;)V
        34: .line 160
            putfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
        35: .line 165
            return
        end local 5 // int tick
        end local 4 // sun.tools.java.Identifier base
        end local 3 // sun.tools.java.Identifier valName
        end local 2 // sun.tools.tree.LocalMember target
        end local 1 // sun.tools.java.ClassDefinition client
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Lsun/tools/tree/UplevelReference;
            0   36     1   client  Lsun/tools/java/ClassDefinition;
            0   36     2   target  Lsun/tools/tree/LocalMember;
           12   13     3  valName  Lsun/tools/java/Identifier;
           14   36     3  valName  Lsun/tools/java/Identifier;
            5   12     4       tc  Lsun/tools/java/ClassDefinition;
            6   12     5    depth  I
            7   11     6       pd  Lsun/tools/java/ClassDefinition;
           15   36     4     base  Lsun/tools/java/Identifier;
           16   36     5     tick  I
           19   28     6   failed  Z
           20   25     7        r  Lsun/tools/tree/UplevelReference;
    MethodParameters:
        Name  Flags
      client  
      target  

  public sun.tools.tree.UplevelReference insertInto(sun.tools.tree.UplevelReference);
    descriptor: (Lsun/tools/tree/UplevelReference;)Lsun/tools/tree/UplevelReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.tree.UplevelReference references
         0: .line 175
            aload 1 /* references */
            ifnull 1
            aload 0 /* this */
            aload 1 /* references */
            invokevirtual sun.tools.tree.UplevelReference.isEarlierThan:(Lsun/tools/tree/UplevelReference;)Z
            ifeq 3
         1: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* references */
            putfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
         2: .line 177
            aload 0 /* this */
            areturn
         3: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* references */
            astore 2 /* prev */
        start local 2 // sun.tools.tree.UplevelReference prev
         4: .line 180
            goto 6
         5: .line 181
      StackMap locals: sun.tools.tree.UplevelReference
      StackMap stack:
            aload 2 /* prev */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            astore 2 /* prev */
         6: .line 180
      StackMap locals:
      StackMap stack:
            aload 2 /* prev */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            ifnull 7
            aload 0 /* this */
            aload 2 /* prev */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            invokevirtual sun.tools.tree.UplevelReference.isEarlierThan:(Lsun/tools/tree/UplevelReference;)Z
            ifeq 5
         7: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prev */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            putfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
         8: .line 184
            aload 2 /* prev */
            aload 0 /* this */
            putfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
         9: .line 185
            aload 1 /* references */
            areturn
        end local 2 // sun.tools.tree.UplevelReference prev
        end local 1 // sun.tools.tree.UplevelReference references
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/tools/tree/UplevelReference;
            0   10     1  references  Lsun/tools/tree/UplevelReference;
            4   10     2        prev  Lsun/tools/tree/UplevelReference;
    MethodParameters:
            Name  Flags
      references  

  public final boolean isEarlierThan(sun.tools.tree.UplevelReference);
    descriptor: (Lsun/tools/tree/UplevelReference;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.tree.UplevelReference other
         0: .line 194
            aload 0 /* this */
            invokevirtual sun.tools.tree.UplevelReference.isClientOuterField:()Z
            ifeq 2
         1: .line 195
            iconst_1
            ireturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual sun.tools.tree.UplevelReference.isClientOuterField:()Z
            ifeq 4
         3: .line 197
            iconst_0
            ireturn
         4: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            astore 2 /* target2 */
        start local 2 // sun.tools.tree.LocalMember target2
         5: .line 202
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
            astore 3 /* name */
        start local 3 // sun.tools.java.Identifier name
         6: .line 203
            aload 2 /* target2 */
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
            astore 4 /* name2 */
        start local 4 // sun.tools.java.Identifier name2
         7: .line 204
            aload 3 /* name */
            invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
            aload 4 /* name2 */
            invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 5 /* cmp */
        start local 5 // int cmp
         8: .line 205
            iload 5 /* cmp */
            ifeq 11
         9: .line 206
            iload 5 /* cmp */
            ifge 10
            iconst_1
            ireturn
      StackMap locals: sun.tools.tree.UplevelReference sun.tools.tree.UplevelReference sun.tools.tree.LocalMember sun.tools.java.Identifier sun.tools.java.Identifier int
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
            astore 6 /* cname */
        start local 6 // sun.tools.java.Identifier cname
        12: .line 209
            aload 2 /* target2 */
            invokevirtual sun.tools.tree.LocalMember.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
            astore 7 /* cname2 */
        start local 7 // sun.tools.java.Identifier cname2
        13: .line 210
            aload 6 /* cname */
            invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
            aload 7 /* cname2 */
            invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 8 /* ccmp */
        start local 8 // int ccmp
        14: .line 211
            iload 8 /* ccmp */
            ifge 15
            iconst_1
            ireturn
      StackMap locals: sun.tools.java.Identifier sun.tools.java.Identifier int
      StackMap stack:
        15: iconst_0
            ireturn
        end local 8 // int ccmp
        end local 7 // sun.tools.java.Identifier cname2
        end local 6 // sun.tools.java.Identifier cname
        end local 5 // int cmp
        end local 4 // sun.tools.java.Identifier name2
        end local 3 // sun.tools.java.Identifier name
        end local 2 // sun.tools.tree.LocalMember target2
        end local 1 // sun.tools.tree.UplevelReference other
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lsun/tools/tree/UplevelReference;
            0   16     1    other  Lsun/tools/tree/UplevelReference;
            5   16     2  target2  Lsun/tools/tree/LocalMember;
            6   16     3     name  Lsun/tools/java/Identifier;
            7   16     4    name2  Lsun/tools/java/Identifier;
            8   16     5      cmp  I
           12   16     6    cname  Lsun/tools/java/Identifier;
           13   16     7   cname2  Lsun/tools/java/Identifier;
           14   16     8     ccmp  I
    MethodParameters:
       Name  Flags
      other  

  public final sun.tools.tree.LocalMember getTarget();
    descriptor: ()Lsun/tools/tree/LocalMember;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 218
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;

  public final sun.tools.tree.LocalMember getLocalArgument();
    descriptor: ()Lsun/tools/tree/LocalMember;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 225
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;

  public final sun.tools.java.MemberDefinition getLocalField();
    descriptor: ()Lsun/tools/java/MemberDefinition;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 232
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;

  public final sun.tools.java.MemberDefinition getLocalField(sun.tools.java.Environment);
    descriptor: (Lsun/tools/java/Environment;)Lsun/tools/java/MemberDefinition;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
         0: .line 240
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            ifnonnull 2
         1: .line 241
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual sun.tools.tree.UplevelReference.makeLocalField:(Lsun/tools/java/Environment;)V
         2: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            areturn
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/tree/UplevelReference;
            0    3     1   env  Lsun/tools/java/Environment;
    MethodParameters:
      Name  Flags
      env   

  public final sun.tools.java.ClassDefinition getClient();
    descriptor: ()Lsun/tools/java/ClassDefinition;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 250
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;

  public final sun.tools.tree.UplevelReference getNext();
    descriptor: ()Lsun/tools/tree/UplevelReference;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 257
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;

  public boolean isClientOuterField();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 267
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            invokevirtual sun.tools.java.ClassDefinition.findOuterMember:()Lsun/tools/java/MemberDefinition;
            astore 1 /* outerf */
        start local 1 // sun.tools.java.MemberDefinition outerf
         1: .line 268
            aload 1 /* outerf */
            ifnull 2
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            aload 1 /* outerf */
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals: sun.tools.java.MemberDefinition
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // sun.tools.java.MemberDefinition outerf
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/tools/tree/UplevelReference;
            1    3     1  outerf  Lsun/tools/java/MemberDefinition;

  public boolean localArgumentAvailable(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 279
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            astore 3 /* reff */
        start local 3 // sun.tools.java.MemberDefinition reff
         1: .line 280
            aload 3 /* reff */
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            if_acmpeq 3
         2: .line 281
            new sun.tools.java.CompilerError
            dup
            ldc "localArgumentAvailable"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 283
      StackMap locals: sun.tools.java.MemberDefinition
      StackMap stack:
            aload 3 /* reff */
            invokevirtual sun.tools.java.MemberDefinition.isConstructor:()Z
            ifne 7
         4: .line 284
            aload 3 /* reff */
            invokevirtual sun.tools.java.MemberDefinition.isVariable:()Z
            ifne 7
         5: .line 285
            aload 3 /* reff */
            invokevirtual sun.tools.java.MemberDefinition.isInitializer:()Z
            ifne 7
         6: .line 283
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 3 // sun.tools.java.MemberDefinition reff
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/tools/tree/UplevelReference;
            0    8     1   env  Lsun/tools/java/Environment;
            0    8     2   ctx  Lsun/tools/tree/Context;
            1    8     3  reff  Lsun/tools/java/MemberDefinition;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public void noteReference(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 295
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.UplevelReference.localArgumentAvailable:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Z
            ifne 2
         1: .line 297
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual sun.tools.tree.UplevelReference.makeLocalField:(Lsun/tools/java/Environment;)V
         2: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/tree/UplevelReference;
            0    3     1   env  Lsun/tools/java/Environment;
            0    3     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  private void makeLocalField(sun.tools.java.Environment);
    descriptor: (Lsun/tools/java/Environment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=3, args_size=2
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
         0: .line 303
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            invokevirtual sun.tools.java.ClassDefinition.referencesMustNotBeFrozen:()V
         1: .line 304
            ldc 524306
            istore 2 /* mod */
        start local 2 // int mod
         2: .line 305
            aload 0 /* this */
            aload 1 /* env */
            aload 1 /* env */
         3: .line 306
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getWhere:()J
         4: .line 307
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            aconst_null
         5: .line 308
            iload 2 /* mod */
         6: .line 309
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
         7: .line 310
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.LocalMember.getName:()Lsun/tools/java/Identifier;
         8: .line 311
            aconst_null
            aconst_null
            aconst_null
         9: .line 305
            invokevirtual sun.tools.java.Environment.makeMemberDefinition:(Lsun/tools/java/Environment;JLsun/tools/java/ClassDefinition;Ljava/lang/String;ILsun/tools/java/Type;Lsun/tools/java/Identifier;[Lsun/tools/java/IdentifierToken;[Lsun/tools/java/IdentifierToken;Ljava/lang/Object;)Lsun/tools/java/MemberDefinition;
            putfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
        10: .line 312
            return
        end local 2 // int mod
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/tools/tree/UplevelReference;
            0   11     1   env  Lsun/tools/java/Environment;
            2   11     2   mod  I
    MethodParameters:
      Name  Flags
      env   

  public sun.tools.tree.Expression makeLocalReference(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 322
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            if_acmpeq 2
         1: .line 323
            new sun.tools.java.CompilerError
            dup
            ldc "makeLocalReference"
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.UplevelReference.localArgumentAvailable:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Z
            ifeq 4
         3: .line 326
            new sun.tools.tree.IdentifierExpression
            dup
            lconst_0
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            invokespecial sun.tools.tree.IdentifierExpression.<init>:(JLsun/tools/java/MemberDefinition;)V
            areturn
         4: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.UplevelReference.makeFieldReference:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/tree/UplevelReference;
            0    5     1   env  Lsun/tools/java/Environment;
            0    5     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public sun.tools.tree.Expression makeFieldReference(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=6, locals=4, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 337
            aload 2 /* ctx */
            aload 1 /* env */
            lconst_0
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.tree.Context.findOuterLink:(Lsun/tools/java/Environment;JLsun/tools/java/MemberDefinition;)Lsun/tools/tree/Expression;
            astore 3 /* e */
        start local 3 // sun.tools.tree.Expression e
         1: .line 338
            new sun.tools.tree.FieldExpression
            dup
            lconst_0
            aload 3 /* e */
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            invokespecial sun.tools.tree.FieldExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/java/MemberDefinition;)V
            areturn
        end local 3 // sun.tools.tree.Expression e
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/tree/UplevelReference;
            0    2     1   env  Lsun/tools/java/Environment;
            0    2     2   ctx  Lsun/tools/tree/Context;
            1    2     3     e  Lsun/tools/tree/Expression;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public void willCodeArguments(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.UplevelReference this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 351
            aload 0 /* this */
            invokevirtual sun.tools.tree.UplevelReference.isClientOuterField:()Z
            ifne 2
         1: .line 352
            aload 2 /* ctx */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.Context.noteReference:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)Lsun/tools/tree/UplevelReference;
            pop
         2: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            ifnull 4
         3: .line 356
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.UplevelReference.willCodeArguments:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
         4: .line 358
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/tree/UplevelReference;
            0    5     1   env  Lsun/tools/java/Environment;
            0    5     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public void codeArguments(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, long, sun.tools.java.MemberDefinition);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;JLsun/tools/java/MemberDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // sun.tools.tree.UplevelReference 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 // long where
        start local 6 // sun.tools.java.MemberDefinition conField
         0: .line 366
            aload 0 /* this */
            invokevirtual sun.tools.tree.UplevelReference.isClientOuterField:()Z
            ifne 3
         1: .line 367
            aload 2 /* ctx */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.Context.makeReference:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)Lsun/tools/tree/Expression;
            astore 7 /* e */
        start local 7 // sun.tools.tree.Expression e
         2: .line 368
            aload 7 /* e */
            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
        end local 7 // sun.tools.tree.Expression e
         3: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            ifnull 5
         4: .line 372
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            lload 4 /* where */
            aload 6 /* conField */
            invokevirtual sun.tools.tree.UplevelReference.codeArguments:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;JLsun/tools/java/MemberDefinition;)V
         5: .line 374
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.tools.java.MemberDefinition conField
        end local 4 // long where
        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.UplevelReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/tools/tree/UplevelReference;
            0    6     1       env  Lsun/tools/java/Environment;
            0    6     2       ctx  Lsun/tools/tree/Context;
            0    6     3       asm  Lsun/tools/asm/Assembler;
            0    6     4     where  J
            0    6     6  conField  Lsun/tools/java/MemberDefinition;
            2    3     7         e  Lsun/tools/tree/Expression;
    MethodParameters:
          Name  Flags
      env       
      ctx       
      asm       
      where     
      conField  

  public void codeInitialization(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, long, sun.tools.java.MemberDefinition);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;JLsun/tools/java/MemberDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // sun.tools.tree.UplevelReference 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 // long where
        start local 6 // sun.tools.java.MemberDefinition conField
         0: .line 385
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            ifnull 6
            aload 0 /* this */
            invokevirtual sun.tools.tree.UplevelReference.isClientOuterField:()Z
            ifne 6
         1: .line 386
            aload 2 /* ctx */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.target:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.Context.makeReference:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)Lsun/tools/tree/Expression;
            astore 7 /* e */
        start local 7 // sun.tools.tree.Expression e
         2: .line 387
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.UplevelReference.makeFieldReference:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
            astore 8 /* f */
        start local 8 // sun.tools.tree.Expression f
         3: .line 388
            new sun.tools.tree.AssignExpression
            dup
            aload 7 /* e */
            invokevirtual sun.tools.tree.Expression.getWhere:()J
            aload 8 /* f */
            aload 7 /* e */
            invokespecial sun.tools.tree.AssignExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
            astore 7 /* e */
         4: .line 389
            aload 7 /* e */
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localField:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
            putfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
         5: .line 390
            aload 7 /* e */
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Expression.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        end local 8 // sun.tools.tree.Expression f
        end local 7 // sun.tools.tree.Expression e
         6: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            ifnull 8
         7: .line 394
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.next:Lsun/tools/tree/UplevelReference;
            aload 1 /* env */
            aload 2 /* ctx */
            aload 3 /* asm */
            lload 4 /* where */
            aload 6 /* conField */
            invokevirtual sun.tools.tree.UplevelReference.codeInitialization:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;JLsun/tools/java/MemberDefinition;)V
         8: .line 396
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.tools.java.MemberDefinition conField
        end local 4 // long where
        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.UplevelReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/tools/tree/UplevelReference;
            0    9     1       env  Lsun/tools/java/Environment;
            0    9     2       ctx  Lsun/tools/tree/Context;
            0    9     3       asm  Lsun/tools/asm/Assembler;
            0    9     4     where  J
            0    9     6  conField  Lsun/tools/java/MemberDefinition;
            2    6     7         e  Lsun/tools/tree/Expression;
            3    6     8         f  Lsun/tools/tree/Expression;
    MethodParameters:
          Name  Flags
      env       
      ctx       
      asm       
      where     
      conField  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.tools.tree.UplevelReference this
         0: .line 399
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.localArgument:Lsun/tools/tree/LocalMember;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.tools.tree.UplevelReference.client:Lsun/tools/java/ClassDefinition;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.tools.tree.UplevelReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/tree/UplevelReference;
}
SourceFile: "UplevelReference.java"