public abstract class com.sun.tools.javac.tree.JCTree implements com.sun.source.tree.Tree, java.lang.Cloneable, com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.tree.JCTree
  super_class: java.lang.Object
{
  public int pos;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree;

  public abstract com.sun.tools.javac.tree.JCTree$Tag getTag();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$Tag;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 427
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* s */
        start local 1 // java.io.StringWriter s
         1: .line 429
            new com.sun.tools.javac.tree.Pretty
            dup
            aload 1 /* s */
            iconst_0
            invokespecial com.sun.tools.javac.tree.Pretty.<init>:(Ljava/io/Writer;Z)V
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.Pretty.printExpr:(Lcom/sun/tools/javac/tree/JCTree;)V
         2: .line 430
            goto 5
         3: .line 431
      StackMap locals: com.sun.tools.javac.tree.JCTree java.io.StringWriter
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 434
            new java.lang.AssertionError
            dup
            aload 2 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.io.IOException e
         5: .line 436
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.io.StringWriter s
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/tree/JCTree;
            1    6     1     s  Ljava/io/StringWriter;
            4    5     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  public com.sun.tools.javac.tree.JCTree setPos(int);
    descriptor: (I)Lcom/sun/tools/javac/tree/JCTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree this
        start local 1 // int pos
         0: .line 442
            aload 0 /* this */
            iload 1 /* pos */
            putfield com.sun.tools.javac.tree.JCTree.pos:I
         1: .line 443
            aload 0 /* this */
            areturn
        end local 1 // int pos
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/tree/JCTree;
            0    2     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  public com.sun.tools.javac.tree.JCTree setType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree this
        start local 1 // com.sun.tools.javac.code.Type type
         0: .line 449
            aload 0 /* this */
            aload 1 /* type */
            putfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
         1: .line 450
            aload 0 /* this */
            areturn
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/tree/JCTree;
            0    2     1  type  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      type  

  public abstract void accept(com.sun.tools.javac.tree.JCTree$Visitor);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      v     

  public abstract <R, D> R accept(com.sun.source.tree.TreeVisitor<R, D>, );
    descriptor: (Lcom/sun/source/tree/TreeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Lcom/sun/source/tree/TreeVisitor<TR;TD;>;TD;)TR;
    MethodParameters:
      Name  Flags
      v     
      d     

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 465
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
         1: areturn
         2: .line 466
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
         3: .line 467
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/tree/JCTree;
            3    4     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  public com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos();
    descriptor: ()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 474
            aload 0 /* this */
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree;

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

  public int getStartPosition();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 484
            aload 0 /* this */
            invokestatic com.sun.tools.javac.tree.TreeInfo.getStartPos:(Lcom/sun/tools/javac/tree/JCTree;)I
            ireturn
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree;

  public int getPreferredPosition();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree this
         0: .line 489
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree.pos:I
            ireturn
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree;

  public int getEndPosition(com.sun.tools.javac.tree.EndPosTable);
    descriptor: (Lcom/sun/tools/javac/tree/EndPosTable;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree this
        start local 1 // com.sun.tools.javac.tree.EndPosTable endPosTable
         0: .line 494
            aload 0 /* this */
            aload 1 /* endPosTable */
            invokestatic com.sun.tools.javac.tree.TreeInfo.getEndPos:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/EndPosTable;)I
            ireturn
        end local 1 // com.sun.tools.javac.tree.EndPosTable endPosTable
        end local 0 // com.sun.tools.javac.tree.JCTree this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/tree/JCTree;
            0    1     1  endPosTable  Lcom/sun/tools/javac/tree/EndPosTable;
    MethodParameters:
             Name  Flags
      endPosTable  
}
SourceFile: "JCTree.java"
NestMembers:
  com.sun.tools.javac.tree.JCTree$Factory  com.sun.tools.javac.tree.JCTree$JCAnnotatedType  com.sun.tools.javac.tree.JCTree$JCAnnotation  com.sun.tools.javac.tree.JCTree$JCArrayAccess  com.sun.tools.javac.tree.JCTree$JCArrayTypeTree  com.sun.tools.javac.tree.JCTree$JCAssert  com.sun.tools.javac.tree.JCTree$JCAssign  com.sun.tools.javac.tree.JCTree$JCAssignOp  com.sun.tools.javac.tree.JCTree$JCBinary  com.sun.tools.javac.tree.JCTree$JCBlock  com.sun.tools.javac.tree.JCTree$JCBreak  com.sun.tools.javac.tree.JCTree$JCCase  com.sun.tools.javac.tree.JCTree$JCCatch  com.sun.tools.javac.tree.JCTree$JCClassDecl  com.sun.tools.javac.tree.JCTree$JCCompilationUnit  com.sun.tools.javac.tree.JCTree$JCConditional  com.sun.tools.javac.tree.JCTree$JCContinue  com.sun.tools.javac.tree.JCTree$JCDirective  com.sun.tools.javac.tree.JCTree$JCDoWhileLoop  com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop  com.sun.tools.javac.tree.JCTree$JCErroneous  com.sun.tools.javac.tree.JCTree$JCExports  com.sun.tools.javac.tree.JCTree$JCExpression  com.sun.tools.javac.tree.JCTree$JCExpressionStatement  com.sun.tools.javac.tree.JCTree$JCFieldAccess  com.sun.tools.javac.tree.JCTree$JCForLoop  com.sun.tools.javac.tree.JCTree$JCFunctionalExpression  com.sun.tools.javac.tree.JCTree$JCIdent  com.sun.tools.javac.tree.JCTree$JCIf  com.sun.tools.javac.tree.JCTree$JCImport  com.sun.tools.javac.tree.JCTree$JCInstanceOf  com.sun.tools.javac.tree.JCTree$JCLabeledStatement  com.sun.tools.javac.tree.JCTree$JCLambda  com.sun.tools.javac.tree.JCTree$JCLambda$ParameterKind  com.sun.tools.javac.tree.JCTree$JCLiteral  com.sun.tools.javac.tree.JCTree$JCMemberReference  com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind  com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind  com.sun.tools.javac.tree.JCTree$JCMethodDecl  com.sun.tools.javac.tree.JCTree$JCMethodInvocation  com.sun.tools.javac.tree.JCTree$JCModifiers  com.sun.tools.javac.tree.JCTree$JCModuleDecl  com.sun.tools.javac.tree.JCTree$JCNewArray  com.sun.tools.javac.tree.JCTree$JCNewClass  com.sun.tools.javac.tree.JCTree$JCOpens  com.sun.tools.javac.tree.JCTree$JCOperatorExpression  com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos  com.sun.tools.javac.tree.JCTree$JCPackageDecl  com.sun.tools.javac.tree.JCTree$JCParens  com.sun.tools.javac.tree.JCTree$JCPolyExpression  com.sun.tools.javac.tree.JCTree$JCPolyExpression$PolyKind  com.sun.tools.javac.tree.JCTree$JCPrimitiveTypeTree  com.sun.tools.javac.tree.JCTree$JCProvides  com.sun.tools.javac.tree.JCTree$JCRequires  com.sun.tools.javac.tree.JCTree$JCReturn  com.sun.tools.javac.tree.JCTree$JCSkip  com.sun.tools.javac.tree.JCTree$JCStatement  com.sun.tools.javac.tree.JCTree$JCSwitch  com.sun.tools.javac.tree.JCTree$JCSynchronized  com.sun.tools.javac.tree.JCTree$JCThrow  com.sun.tools.javac.tree.JCTree$JCTry  com.sun.tools.javac.tree.JCTree$JCTypeApply  com.sun.tools.javac.tree.JCTree$JCTypeCast  com.sun.tools.javac.tree.JCTree$JCTypeIntersection  com.sun.tools.javac.tree.JCTree$JCTypeParameter  com.sun.tools.javac.tree.JCTree$JCTypeUnion  com.sun.tools.javac.tree.JCTree$JCUnary  com.sun.tools.javac.tree.JCTree$JCUses  com.sun.tools.javac.tree.JCTree$JCVariableDecl  com.sun.tools.javac.tree.JCTree$JCWhileLoop  com.sun.tools.javac.tree.JCTree$JCWildcard  com.sun.tools.javac.tree.JCTree$LetExpr  com.sun.tools.javac.tree.JCTree$Tag  com.sun.tools.javac.tree.JCTree$TypeBoundKind  com.sun.tools.javac.tree.JCTree$Visitor
InnerClasses:
  public abstract Factory = com.sun.tools.javac.tree.JCTree$Factory of com.sun.tools.javac.tree.JCTree
  public JCAnnotatedType = com.sun.tools.javac.tree.JCTree$JCAnnotatedType of com.sun.tools.javac.tree.JCTree
  public JCAnnotation = com.sun.tools.javac.tree.JCTree$JCAnnotation of com.sun.tools.javac.tree.JCTree
  public JCArrayAccess = com.sun.tools.javac.tree.JCTree$JCArrayAccess of com.sun.tools.javac.tree.JCTree
  public JCArrayTypeTree = com.sun.tools.javac.tree.JCTree$JCArrayTypeTree of com.sun.tools.javac.tree.JCTree
  public JCAssert = com.sun.tools.javac.tree.JCTree$JCAssert of com.sun.tools.javac.tree.JCTree
  public JCAssign = com.sun.tools.javac.tree.JCTree$JCAssign of com.sun.tools.javac.tree.JCTree
  public JCAssignOp = com.sun.tools.javac.tree.JCTree$JCAssignOp of com.sun.tools.javac.tree.JCTree
  public JCBinary = com.sun.tools.javac.tree.JCTree$JCBinary of com.sun.tools.javac.tree.JCTree
  public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
  public JCBreak = com.sun.tools.javac.tree.JCTree$JCBreak of com.sun.tools.javac.tree.JCTree
  public JCCase = com.sun.tools.javac.tree.JCTree$JCCase of com.sun.tools.javac.tree.JCTree
  public JCCatch = com.sun.tools.javac.tree.JCTree$JCCatch of com.sun.tools.javac.tree.JCTree
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public JCCompilationUnit = com.sun.tools.javac.tree.JCTree$JCCompilationUnit of com.sun.tools.javac.tree.JCTree
  public JCConditional = com.sun.tools.javac.tree.JCTree$JCConditional of com.sun.tools.javac.tree.JCTree
  public JCContinue = com.sun.tools.javac.tree.JCTree$JCContinue of com.sun.tools.javac.tree.JCTree
  public abstract JCDirective = com.sun.tools.javac.tree.JCTree$JCDirective of com.sun.tools.javac.tree.JCTree
  public JCDoWhileLoop = com.sun.tools.javac.tree.JCTree$JCDoWhileLoop of com.sun.tools.javac.tree.JCTree
  public JCEnhancedForLoop = com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop of com.sun.tools.javac.tree.JCTree
  public JCErroneous = com.sun.tools.javac.tree.JCTree$JCErroneous of com.sun.tools.javac.tree.JCTree
  public JCExports = com.sun.tools.javac.tree.JCTree$JCExports of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCExpressionStatement = com.sun.tools.javac.tree.JCTree$JCExpressionStatement of com.sun.tools.javac.tree.JCTree
  public JCFieldAccess = com.sun.tools.javac.tree.JCTree$JCFieldAccess of com.sun.tools.javac.tree.JCTree
  public JCForLoop = com.sun.tools.javac.tree.JCTree$JCForLoop 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 JCIdent = com.sun.tools.javac.tree.JCTree$JCIdent of com.sun.tools.javac.tree.JCTree
  public JCIf = com.sun.tools.javac.tree.JCTree$JCIf of com.sun.tools.javac.tree.JCTree
  public JCImport = com.sun.tools.javac.tree.JCTree$JCImport of com.sun.tools.javac.tree.JCTree
  public JCInstanceOf = com.sun.tools.javac.tree.JCTree$JCInstanceOf of com.sun.tools.javac.tree.JCTree
  public JCLabeledStatement = com.sun.tools.javac.tree.JCTree$JCLabeledStatement of com.sun.tools.javac.tree.JCTree
  public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
  public JCLiteral = com.sun.tools.javac.tree.JCTree$JCLiteral of com.sun.tools.javac.tree.JCTree
  public JCMemberReference = com.sun.tools.javac.tree.JCTree$JCMemberReference of com.sun.tools.javac.tree.JCTree
  public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
  public JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
  public JCModifiers = com.sun.tools.javac.tree.JCTree$JCModifiers of com.sun.tools.javac.tree.JCTree
  public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
  public JCNewArray = com.sun.tools.javac.tree.JCTree$JCNewArray of com.sun.tools.javac.tree.JCTree
  public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
  public JCOpens = com.sun.tools.javac.tree.JCTree$JCOpens of com.sun.tools.javac.tree.JCTree
  public abstract JCOperatorExpression = com.sun.tools.javac.tree.JCTree$JCOperatorExpression of com.sun.tools.javac.tree.JCTree
  public JCPackageDecl = com.sun.tools.javac.tree.JCTree$JCPackageDecl of com.sun.tools.javac.tree.JCTree
  public JCParens = com.sun.tools.javac.tree.JCTree$JCParens of com.sun.tools.javac.tree.JCTree
  public abstract JCPolyExpression = com.sun.tools.javac.tree.JCTree$JCPolyExpression of com.sun.tools.javac.tree.JCTree
  public JCPrimitiveTypeTree = com.sun.tools.javac.tree.JCTree$JCPrimitiveTypeTree of com.sun.tools.javac.tree.JCTree
  public JCProvides = com.sun.tools.javac.tree.JCTree$JCProvides of com.sun.tools.javac.tree.JCTree
  public JCRequires = com.sun.tools.javac.tree.JCTree$JCRequires of com.sun.tools.javac.tree.JCTree
  public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn of com.sun.tools.javac.tree.JCTree
  public JCSkip = com.sun.tools.javac.tree.JCTree$JCSkip of com.sun.tools.javac.tree.JCTree
  public abstract JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement of com.sun.tools.javac.tree.JCTree
  public JCSwitch = com.sun.tools.javac.tree.JCTree$JCSwitch of com.sun.tools.javac.tree.JCTree
  public JCSynchronized = com.sun.tools.javac.tree.JCTree$JCSynchronized of com.sun.tools.javac.tree.JCTree
  public JCThrow = com.sun.tools.javac.tree.JCTree$JCThrow of com.sun.tools.javac.tree.JCTree
  public JCTry = com.sun.tools.javac.tree.JCTree$JCTry of com.sun.tools.javac.tree.JCTree
  public JCTypeApply = com.sun.tools.javac.tree.JCTree$JCTypeApply of com.sun.tools.javac.tree.JCTree
  public JCTypeCast = com.sun.tools.javac.tree.JCTree$JCTypeCast of com.sun.tools.javac.tree.JCTree
  public JCTypeIntersection = com.sun.tools.javac.tree.JCTree$JCTypeIntersection of com.sun.tools.javac.tree.JCTree
  public JCTypeParameter = com.sun.tools.javac.tree.JCTree$JCTypeParameter of com.sun.tools.javac.tree.JCTree
  public JCTypeUnion = com.sun.tools.javac.tree.JCTree$JCTypeUnion of com.sun.tools.javac.tree.JCTree
  public JCUnary = com.sun.tools.javac.tree.JCTree$JCUnary of com.sun.tools.javac.tree.JCTree
  public JCUses = com.sun.tools.javac.tree.JCTree$JCUses of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public JCWhileLoop = com.sun.tools.javac.tree.JCTree$JCWhileLoop of com.sun.tools.javac.tree.JCTree
  public JCWildcard = com.sun.tools.javac.tree.JCTree$JCWildcard of com.sun.tools.javac.tree.JCTree
  public LetExpr = com.sun.tools.javac.tree.JCTree$LetExpr of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public TypeBoundKind = com.sun.tools.javac.tree.JCTree$TypeBoundKind of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic