public class com.sun.tools.javac.tree.JCTree$JCMemberReference extends com.sun.tools.javac.tree.JCTree$JCFunctionalExpression implements com.sun.source.tree.MemberReferenceTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.tree.JCTree$JCMemberReference
  super_class: com.sun.tools.javac.tree.JCTree$JCFunctionalExpression
{
  public com.sun.source.tree.MemberReferenceTree$ReferenceMode mode;
    descriptor: Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind kind;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.Name name;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.tree.JCTree$JCExpression expr;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression> typeargs;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;

  public com.sun.tools.javac.code.Symbol sym;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.code.Type varargsElement;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.tree.JCTree$JCPolyExpression$PolyKind refPolyKind;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCPolyExpression$PolyKind;
    flags: (0x0001) ACC_PUBLIC

  public boolean ownerAccessible;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  private com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind overloadKind;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
    flags: (0x0002) ACC_PRIVATE

  public com.sun.tools.javac.code.Type referentType;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(com.sun.source.tree.MemberReferenceTree$ReferenceMode, com.sun.tools.javac.util.Name, com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression>);
    descriptor: (Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
        start local 1 // com.sun.source.tree.MemberReferenceTree$ReferenceMode mode
        start local 2 // com.sun.tools.javac.util.Name name
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        start local 4 // com.sun.tools.javac.util.List typeargs
         0: .line 2188
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$JCFunctionalExpression.<init>:()V
         1: .line 2189
            aload 0 /* this */
            aload 1 /* mode */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.mode:Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
         2: .line 2190
            aload 0 /* this */
            aload 2 /* name */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.name:Lcom/sun/tools/javac/util/Name;
         3: .line 2191
            aload 0 /* this */
            aload 3 /* expr */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         4: .line 2192
            aload 0 /* this */
            aload 4 /* typeargs */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.typeargs:Lcom/sun/tools/javac/util/List;
         5: .line 2193
            return
        end local 4 // com.sun.tools.javac.util.List typeargs
        end local 3 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        end local 2 // com.sun.tools.javac.util.Name name
        end local 1 // com.sun.source.tree.MemberReferenceTree$ReferenceMode mode
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            0    6     1      mode  Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
            0    6     2      name  Lcom/sun/tools/javac/util/Name;
            0    6     3      expr  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    6     4  typeargs  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
    Signature: (Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;)V
    MethodParameters:
          Name  Flags
      mode      
      name      
      expr      
      typeargs  

  public void accept(com.sun.tools.javac.tree.JCTree$Visitor);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
        start local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
         0: .line 2195
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree$Visitor.visitReference:(Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;)V
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            0    1     1     v  Lcom/sun/tools/javac/tree/JCTree$Visitor;
    MethodParameters:
      Name  Flags
      v     

  public com.sun.source.tree.Tree$Kind getKind();
    descriptor: ()Lcom/sun/source/tree/Tree$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2198
            getstatic com.sun.source.tree.Tree$Kind.MEMBER_REFERENCE:Lcom/sun/source/tree/Tree$Kind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public com.sun.source.tree.MemberReferenceTree$ReferenceMode getMode();
    descriptor: ()Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2200
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.mode:Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public com.sun.tools.javac.tree.JCTree$JCExpression getQualifierExpression();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2202
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public com.sun.tools.javac.util.Name getName();
    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.tree.JCTree$JCMemberReference this
         0: .line 2204
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.name:Lcom/sun/tools/javac/util/Name;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression> getTypeArguments();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2206
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.typeargs:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;

  public <R, D> R accept(com.sun.source.tree.TreeVisitor<R, D>, );
    descriptor: (Lcom/sun/source/tree/TreeVisitor;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.tree.JCTree$JCMemberReference this
        start local 1 // com.sun.source.tree.TreeVisitor v
        start local 2 // java.lang.Object d
         0: .line 2210
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* d */
            invokeinterface com.sun.source.tree.TreeVisitor.visitMemberReference:(Lcom/sun/source/tree/MemberReferenceTree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object d
        end local 1 // com.sun.source.tree.TreeVisitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            0    1     1     v  Lcom/sun/source/tree/TreeVisitor<TR;TD;>;
            0    1     2     d  TD;
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Lcom/sun/source/tree/TreeVisitor<TR;TD;>;TD;)TR;
    MethodParameters:
      Name  Flags
      v     
      d     

  public com.sun.tools.javac.tree.JCTree$Tag getTag();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$Tag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2214
            getstatic com.sun.tools.javac.tree.JCTree$Tag.REFERENCE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public boolean hasKind(com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind kind
         0: .line 2217
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.kind:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
            aload 1 /* kind */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind kind
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            0    2     1  kind  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
    MethodParameters:
      Name  Flags
      kind  

  public com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind getOverloadKind();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
         0: .line 2224
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.overloadKind:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;

  public void setOverloadKind(com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind overloadKind
         0: .line 2231
            aload 0 /* this */
            aload 1 /* overloadKind */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.overloadKind:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
         1: .line 2232
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind overloadKind
        end local 0 // com.sun.tools.javac.tree.JCTree$JCMemberReference this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            0    2     1  overloadKind  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
    MethodParameters:
              Name  Flags
      overloadKind  

  public java.util.List getTypeArguments();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Name getName();
    descriptor: ()Ljavax/lang/model/element/Name;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getName:()Lcom/sun/tools/javac/util/Name;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.source.tree.ExpressionTree getQualifierExpression();
    descriptor: ()Lcom/sun/source/tree/ExpressionTree;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JCTree.java"
NestHost: com.sun.tools.javac.tree.JCTree
InnerClasses:
  public final ReferenceMode = com.sun.source.tree.MemberReferenceTree$ReferenceMode of com.sun.source.tree.MemberReferenceTree
  public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public abstract JCFunctionalExpression = com.sun.tools.javac.tree.JCTree$JCFunctionalExpression of com.sun.tools.javac.tree.JCTree
  public JCMemberReference = com.sun.tools.javac.tree.JCTree$JCMemberReference of com.sun.tools.javac.tree.JCTree
  public final OverloadKind = com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind of com.sun.tools.javac.tree.JCTree$JCMemberReference
  public final ReferenceKind = com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind of com.sun.tools.javac.tree.JCTree$JCMemberReference
  public abstract JCPolyExpression = com.sun.tools.javac.tree.JCTree$JCPolyExpression of com.sun.tools.javac.tree.JCTree
  public final PolyKind = com.sun.tools.javac.tree.JCTree$JCPolyExpression$PolyKind of com.sun.tools.javac.tree.JCTree$JCPolyExpression
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree