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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 start local 1 0: aload 1
aload 0
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 end local 0 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 0: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 1
start local 1 1: new com.sun.tools.javac.tree.Pretty
dup
aload 1
iconst_0
invokespecial com.sun.tools.javac.tree.Pretty.<init>:(Ljava/io/Writer;Z)V
aload 0
invokevirtual com.sun.tools.javac.tree.Pretty.printExpr:(Lcom/sun/tools/javac/tree/JCTree;)V
2: goto 5
3: StackMap locals: com.sun.tools.javac.tree.JCTree java.io.StringWriter
StackMap stack: java.io.IOException
astore 2
start local 2 4: new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
iload 1
putfield com.sun.tools.javac.tree.JCTree.pos:I
1: aload 0
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
1: aload 0
areturn
end local 1 end local 0 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 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 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 0: aload 0
areturn
end local 0 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 0: aload 0
areturn
end local 0 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 0: aload 0
invokestatic com.sun.tools.javac.tree.TreeInfo.getStartPos:(Lcom/sun/tools/javac/tree/JCTree;)I
ireturn
end local 0 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 0: aload 0
getfield com.sun.tools.javac.tree.JCTree.pos:I
ireturn
end local 0 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 start local 1 0: aload 0
aload 1
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 end local 0 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$JCBindingPattern 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$JCPattern 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$JCSwitchExpression 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$JCYield 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 JCBindingPattern = com.sun.tools.javac.tree.JCTree$JCBindingPattern 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 JCPattern = com.sun.tools.javac.tree.JCTree$JCPattern 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 JCSwitchExpression = com.sun.tools.javac.tree.JCTree$JCSwitchExpression 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 JCYield = com.sun.tools.javac.tree.JCTree$JCYield 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