public class com.sun.tools.javac.code.Symbol$DelegatedSymbol<T extends com.sun.tools.javac.code.Symbol> extends com.sun.tools.javac.code.Symbol
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Symbol$DelegatedSymbol
  super_class: com.sun.tools.javac.code.Symbol
{
  protected T other;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0004) ACC_PROTECTED
    Signature: TT;

  public void <init>();
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol other
         0: .line 696
            aload 0 /* this */
            aload 1 /* other */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            aload 1 /* other */
            getfield com.sun.tools.javac.code.Symbol.flags_field:J
            aload 1 /* other */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 1 /* other */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* other */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokespecial com.sun.tools.javac.code.Symbol.<init>:(Lcom/sun/tools/javac/code/Kinds$Kind;JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
         1: .line 697
            aload 0 /* this */
            aload 1 /* other */
            putfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
         2: .line 698
            return
        end local 1 // com.sun.tools.javac.code.Symbol other
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    3     1  other  TT;
    Signature: (TT;)V
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 699
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Symbol location();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 700
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.location:()Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Symbol location(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Type site
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 701
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* site */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.location:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1   site  Lcom/sun/tools/javac/code/Type;
            0    1     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      site   
      types  

  public com.sun.tools.javac.code.Symbol baseSymbol();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 702
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 703
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      types  

  public com.sun.tools.javac.code.Type externalType(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 704
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.externalType:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      types  

  public boolean isLocal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 705
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isLocal:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 706
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.util.Name getQualifiedName();
    descriptor: ()Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 707
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.util.Name flatName();
    descriptor: ()Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 708
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.flatName:()Lcom/sun/tools/javac/util/Name;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Scope$WriteableScope members();
    descriptor: ()Lcom/sun/tools/javac/code/Scope$WriteableScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 709
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public boolean isInner();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 710
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isInner:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public boolean hasOuterInstance();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 711
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.hasOuterInstance:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Symbol$ClassSymbol enclClass();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 712
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Symbol$ClassSymbol outermostClass();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 713
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public com.sun.tools.javac.code.Symbol$PackageSymbol packge();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 714
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.packge:()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;

  public boolean isSubClass(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol base
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 715
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* base */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.isSubClass:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Symbol base
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1   base  Lcom/sun/tools/javac/code/Symbol;
            0    1     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      base   
      types  

  public boolean isMemberOf(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol clazz
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 716
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* clazz */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.isMemberOf:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol clazz
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1  clazz  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    1     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      clazz  
      types  

  public boolean isEnclosedBy(com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol clazz
         0: .line 717
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* clazz */
            invokevirtual com.sun.tools.javac.code.Symbol.isEnclosedBy:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol clazz
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1  clazz  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
       Name  Flags
      clazz  

  public boolean isInheritedIn(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol clazz
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 718
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* clazz */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.isInheritedIn:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Symbol clazz
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1  clazz  Lcom/sun/tools/javac/code/Symbol;
            0    1     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      clazz  
      types  

  public com.sun.tools.javac.code.Symbol asMemberOf(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Type site
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 719
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* site */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol.asMemberOf:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1   site  Lcom/sun/tools/javac/code/Type;
            0    1     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      site   
      types  

  public void complete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 720
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.complete:()V
            return
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  public <R, P> R accept(javax.lang.model.element.ElementVisitor<R, P>, );
    descriptor: (Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // javax.lang.model.element.ElementVisitor v
        start local 2 // java.lang.Object p
         0: .line 724
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* v */
            aload 2 /* p */
            invokevirtual com.sun.tools.javac.code.Symbol.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ElementVisitor v
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1     v  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/element/ElementVisitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public <R, P> R accept(com.sun.tools.javac.code.Symbol$Visitor<R, P>, );
    descriptor: (Lcom/sun/tools/javac/code/Symbol$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol$Visitor v
        start local 2 // java.lang.Object p
         0: .line 728
            aload 1 /* v */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            aload 2 /* p */
            invokeinterface com.sun.tools.javac.code.Symbol$Visitor.visitSymbol:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.tools.javac.code.Symbol$Visitor v
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
            0    1     1     v  Lcom/sun/tools/javac/code/Symbol$Visitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Lcom/sun/tools/javac/code/Symbol$Visitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public T getUnderlyingSymbol();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
         0: .line 732
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$DelegatedSymbol.other:Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$DelegatedSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$DelegatedSymbol<TT;>;
    Signature: ()TT;
}
Signature: <T:Lcom/sun/tools/javac/code/Symbol;>Lcom/sun/tools/javac/code/Symbol;
SourceFile: "Symbol.java"
NestHost: com.sun.tools.javac.code.Symbol
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public DelegatedSymbol = com.sun.tools.javac.code.Symbol$DelegatedSymbol of com.sun.tools.javac.code.Symbol
  public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public abstract Visitor = com.sun.tools.javac.code.Symbol$Visitor of com.sun.tools.javac.code.Symbol