src/share/classes/com/sun/tools/javac/tree/JCTree.java
Print this page
@@ -77,257 +77,279 @@
* @see Pretty
*/
public abstract class JCTree implements Tree, Cloneable, DiagnosticPosition {
/* Tree tag values, identifying kinds of trees */
+ public enum Tag{
+ /** For methods that return an invalid tag if a given condition is not met
+ */
+ NO_TAG,
/** Toplevel nodes, of type TopLevel, representing entire source files.
*/
- public static final int TOPLEVEL = 1;
+ TOPLEVEL,
/** Import clauses, of type Import.
*/
- public static final int IMPORT = TOPLEVEL + 1;
+ IMPORT,
/** Class definitions, of type ClassDef.
*/
- public static final int CLASSDEF = IMPORT + 1;
+ CLASSDEF,
/** Method definitions, of type MethodDef.
*/
- public static final int METHODDEF = CLASSDEF + 1;
+ METHODDEF,
/** Variable definitions, of type VarDef.
*/
- public static final int VARDEF = METHODDEF + 1;
+ VARDEF,
/** The no-op statement ";", of type Skip
*/
- public static final int SKIP = VARDEF + 1;
+ SKIP,
/** Blocks, of type Block.
*/
- public static final int BLOCK = SKIP + 1;
+ BLOCK,
/** Do-while loops, of type DoLoop.
*/
- public static final int DOLOOP = BLOCK + 1;
+ DOLOOP,
/** While-loops, of type WhileLoop.
*/
- public static final int WHILELOOP = DOLOOP + 1;
+ WHILELOOP,
/** For-loops, of type ForLoop.
*/
- public static final int FORLOOP = WHILELOOP + 1;
+ FORLOOP,
/** Foreach-loops, of type ForeachLoop.
*/
- public static final int FOREACHLOOP = FORLOOP + 1;
+ FOREACHLOOP,
/** Labelled statements, of type Labelled.
*/
- public static final int LABELLED = FOREACHLOOP + 1;
+ LABELLED,
/** Switch statements, of type Switch.
*/
- public static final int SWITCH = LABELLED + 1;
+ SWITCH,
/** Case parts in switch statements, of type Case.
*/
- public static final int CASE = SWITCH + 1;
+ CASE,
/** Synchronized statements, of type Synchonized.
*/
- public static final int SYNCHRONIZED = CASE + 1;
+ SYNCHRONIZED,
/** Try statements, of type Try.
*/
- public static final int TRY = SYNCHRONIZED + 1;
+ TRY,
/** Catch clauses in try statements, of type Catch.
*/
- public static final int CATCH = TRY + 1;
+ CATCH,
/** Conditional expressions, of type Conditional.
*/
- public static final int CONDEXPR = CATCH + 1;
+ CONDEXPR,
/** Conditional statements, of type If.
*/
- public static final int IF = CONDEXPR + 1;
+ IF,
/** Expression statements, of type Exec.
*/
- public static final int EXEC = IF + 1;
+ EXEC,
/** Break statements, of type Break.
*/
- public static final int BREAK = EXEC + 1;
+ BREAK,
/** Continue statements, of type Continue.
*/
- public static final int CONTINUE = BREAK + 1;
+ CONTINUE,
/** Return statements, of type Return.
*/
- public static final int RETURN = CONTINUE + 1;
+ RETURN,
/** Throw statements, of type Throw.
*/
- public static final int THROW = RETURN + 1;
+ THROW,
/** Assert statements, of type Assert.
*/
- public static final int ASSERT = THROW + 1;
+ ASSERT,
/** Method invocation expressions, of type Apply.
*/
- public static final int APPLY = ASSERT + 1;
+ APPLY,
/** Class instance creation expressions, of type NewClass.
*/
- public static final int NEWCLASS = APPLY + 1;
+ NEWCLASS,
/** Array creation expressions, of type NewArray.
*/
- public static final int NEWARRAY = NEWCLASS + 1;
+ NEWARRAY,
/** Parenthesized subexpressions, of type Parens.
*/
- public static final int PARENS = NEWARRAY + 1;
+ PARENS,
/** Assignment expressions, of type Assign.
*/
- public static final int ASSIGN = PARENS + 1;
+ ASSIGN,
/** Type cast expressions, of type TypeCast.
*/
- public static final int TYPECAST = ASSIGN + 1;
+ TYPECAST,
/** Type test expressions, of type TypeTest.
*/
- public static final int TYPETEST = TYPECAST + 1;
+ TYPETEST,
/** Indexed array expressions, of type Indexed.
*/
- public static final int INDEXED = TYPETEST + 1;
+ INDEXED,
/** Selections, of type Select.
*/
- public static final int SELECT = INDEXED + 1;
+ SELECT,
/** Simple identifiers, of type Ident.
*/
- public static final int IDENT = SELECT + 1;
+ IDENT,
/** Literals, of type Literal.
*/
- public static final int LITERAL = IDENT + 1;
+ LITERAL,
/** Basic type identifiers, of type TypeIdent.
*/
- public static final int TYPEIDENT = LITERAL + 1;
+ TYPEIDENT,
/** Array types, of type TypeArray.
*/
- public static final int TYPEARRAY = TYPEIDENT + 1;
+ TYPEARRAY,
/** Parameterized types, of type TypeApply.
*/
- public static final int TYPEAPPLY = TYPEARRAY + 1;
+ TYPEAPPLY,
/** Union types, of type TypeUnion
*/
- public static final int TYPEUNION = TYPEAPPLY + 1;
+ TYPEUNION,
/** Formal type parameters, of type TypeParameter.
*/
- public static final int TYPEPARAMETER = TYPEUNION + 1;
+ TYPEPARAMETER,
/** Type argument.
*/
- public static final int WILDCARD = TYPEPARAMETER + 1;
+ WILDCARD,
/** Bound kind: extends, super, exact, or unbound
*/
- public static final int TYPEBOUNDKIND = WILDCARD + 1;
+ TYPEBOUNDKIND,
/** metadata: Annotation.
*/
- public static final int ANNOTATION = TYPEBOUNDKIND + 1;
+ ANNOTATION,
/** metadata: Modifiers
*/
- public static final int MODIFIERS = ANNOTATION + 1;
+ MODIFIERS,
- public static final int ANNOTATED_TYPE = MODIFIERS + 1;
+ ANNOTATED_TYPE,
/** Error trees, of type Erroneous.
*/
- public static final int ERRONEOUS = ANNOTATED_TYPE + 1;
+ ERRONEOUS,
/** Unary operators, of type Unary.
*/
- public static final int POS = ERRONEOUS + 1; // +
- public static final int NEG = POS + 1; // -
- public static final int NOT = NEG + 1; // !
- public static final int COMPL = NOT + 1; // ~
- public static final int PREINC = COMPL + 1; // ++ _
- public static final int PREDEC = PREINC + 1; // -- _
- public static final int POSTINC = PREDEC + 1; // _ ++
- public static final int POSTDEC = POSTINC + 1; // _ --
+ POS, // +
+ NEG, // -
+ NOT, // !
+ COMPL, // ~
+ PREINC, // ++ _
+ PREDEC, // -- _
+ POSTINC, // _ ++
+ POSTDEC, // _ --
/** unary operator for null reference checks, only used internally.
*/
- public static final int NULLCHK = POSTDEC + 1;
+ NULLCHK,
/** Binary operators, of type Binary.
*/
- public static final int OR = NULLCHK + 1; // ||
- public static final int AND = OR + 1; // &&
- public static final int BITOR = AND + 1; // |
- public static final int BITXOR = BITOR + 1; // ^
- public static final int BITAND = BITXOR + 1; // &
- public static final int EQ = BITAND + 1; // ==
- public static final int NE = EQ + 1; // !=
- public static final int LT = NE + 1; // <
- public static final int GT = LT + 1; // >
- public static final int LE = GT + 1; // <=
- public static final int GE = LE + 1; // >=
- public static final int SL = GE + 1; // <<
- public static final int SR = SL + 1; // >>
- public static final int USR = SR + 1; // >>>
- public static final int PLUS = USR + 1; // +
- public static final int MINUS = PLUS + 1; // -
- public static final int MUL = MINUS + 1; // *
- public static final int DIV = MUL + 1; // /
- public static final int MOD = DIV + 1; // %
+ OR, // ||
+ AND, // &&
+ BITOR, // |
+ BITXOR, // ^
+ BITAND, // &
+ EQ, // ==
+ NE, // !=
+ LT, // <
+ GT, // >
+ LE, // <=
+ GE, // >=
+ SL, // <<
+ SR, // >>
+ USR, // >>>
+ PLUS, // +
+ MINUS, // -
+ MUL, // *
+ DIV, // /
+ MOD, // %
/** Assignment operators, of type Assignop.
*/
- public static final int BITOR_ASG = MOD + 1; // |=
- public static final int BITXOR_ASG = BITOR_ASG + 1; // ^=
- public static final int BITAND_ASG = BITXOR_ASG + 1; // &=
-
- public static final int SL_ASG = SL + BITOR_ASG - BITOR; // <<=
- public static final int SR_ASG = SL_ASG + 1; // >>=
- public static final int USR_ASG = SR_ASG + 1; // >>>=
- public static final int PLUS_ASG = USR_ASG + 1; // +=
- public static final int MINUS_ASG = PLUS_ASG + 1; // -=
- public static final int MUL_ASG = MINUS_ASG + 1; // *=
- public static final int DIV_ASG = MUL_ASG + 1; // /=
- public static final int MOD_ASG = DIV_ASG + 1; // %=
+ BITOR_ASG(BITOR), // |=
+ BITXOR_ASG(BITXOR), // ^=
+ BITAND_ASG(BITAND), // &=
+
+ SL_ASG(SL), // <<=
+ SR_ASG(SR), // >>=
+ USR_ASG(USR), // >>>=
+ PLUS_ASG(PLUS), // +=
+ MINUS_ASG(MINUS), // -=
+ MUL_ASG(MUL), // *=
+ DIV_ASG(DIV), // /=
+ MOD_ASG(MOD), // %=
/** A synthetic let expression, of type LetExpr.
*/
- public static final int LETEXPR = MOD_ASG + 1; // ala scheme
+ LETEXPR; // ala scheme
+
+ private Tag noAssignTag;
+
+ private Tag(Tag noAssignTag)
+ {
+ this.noAssignTag = noAssignTag;
+ }
+ private Tag()
+ {
+ }
+
+ public Tag noAssignOp()
+ {
+ if (this.noAssignTag != null)
+ return noAssignTag;
+ throw new AssertionError("JCTree.Tag.noAssignOp() method is not available for non assignment tags");
+ }
+ }
/** The offset between assignment operators and normal operators.
*/
- public static final int ASGOffset = BITOR_ASG - BITOR;
+ //public static final int ASGOffset = BITOR_ASG - BITOR;
/* The (encoded) position in the source file. @see util.Position.
*/
public int pos;
@@ -335,11 +357,11 @@
*/
public Type type;
/* The tag of this node -- one of the constants declared above.
*/
- public abstract int getTag();
+ public abstract JCTree.Tag getTag();
/** Convert a tree to a pretty-printed string. */
@Override
public String toString() {
StringWriter s = new StringWriter();
@@ -462,14 +484,14 @@
return packageAnnotations;
}
public List<JCImport> getImports() {
ListBuffer<JCImport> imports = new ListBuffer<JCImport>();
for (JCTree tree : defs) {
- int tag = tree.getTag();
- if (tag == IMPORT)
+ JCTree.Tag tag = tree.getTag();
+ if (tag == JCTree.Tag.IMPORT)
imports.append((JCImport)tree);
- else if (tag != SKIP)
+ else if (tag != JCTree.Tag.SKIP)
break;
}
return imports.toList();
}
public JCExpression getPackageName() { return pid; }
@@ -480,22 +502,22 @@
return lineMap;
}
public List<JCTree> getTypeDecls() {
List<JCTree> typeDefs;
for (typeDefs = defs; !typeDefs.isEmpty(); typeDefs = typeDefs.tail)
- if (typeDefs.head.getTag() != IMPORT)
+ if (typeDefs.head.getTag() != JCTree.Tag.IMPORT)
break;
return typeDefs;
}
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitCompilationUnit(this, d);
}
@Override
- public int getTag() {
- return TOPLEVEL;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TOPLEVEL;
}
}
/**
* An import clause.
@@ -519,12 +541,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitImport(this, d);
}
@Override
- public int getTag() {
- return IMPORT;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.IMPORT;
}
}
public static abstract class JCStatement extends JCTree implements StatementTree {
@Override
@@ -616,12 +638,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitClass(this, d);
}
@Override
- public int getTag() {
- return CLASSDEF;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.CLASSDEF;
}
}
/**
* A method definition.
@@ -688,12 +710,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitMethod(this, d);
}
@Override
- public int getTag() {
- return METHODDEF;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.METHODDEF;
}
}
/**
* A variable definition.
@@ -734,12 +756,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitVariable(this, d);
}
@Override
- public int getTag() {
- return VARDEF;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.VARDEF;
}
}
/**
* A no-op statement ";".
@@ -755,12 +777,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitEmptyStatement(this, d);
}
@Override
- public int getTag() {
- return SKIP;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.SKIP;
}
}
/**
* A statement block.
@@ -788,12 +810,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitBlock(this, d);
}
@Override
- public int getTag() {
- return BLOCK;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.BLOCK;
}
}
/**
* A do loop
@@ -815,12 +837,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitDoWhileLoop(this, d);
}
@Override
- public int getTag() {
- return DOLOOP;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.DOLOOP;
}
}
/**
* A while loop
@@ -842,12 +864,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitWhileLoop(this, d);
}
@Override
- public int getTag() {
- return WHILELOOP;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.WHILELOOP;
}
}
/**
* A for loop.
@@ -883,12 +905,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitForLoop(this, d);
}
@Override
- public int getTag() {
- return FORLOOP;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.FORLOOP;
}
}
/**
* The enhanced for loop.
@@ -912,12 +934,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitEnhancedForLoop(this, d);
}
@Override
- public int getTag() {
- return FOREACHLOOP;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.FOREACHLOOP;
}
}
/**
* A labelled expression or statement.
@@ -937,12 +959,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitLabeledStatement(this, d);
}
@Override
- public int getTag() {
- return LABELLED;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.LABELLED;
}
}
/**
* A "switch ( ) { }" construction.
@@ -963,12 +985,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitSwitch(this, d);
}
@Override
- public int getTag() {
- return SWITCH;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.SWITCH;
}
}
/**
* A "case :" of a switch.
@@ -989,12 +1011,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitCase(this, d);
}
@Override
- public int getTag() {
- return CASE;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.CASE;
}
}
/**
* A synchronized block.
@@ -1015,12 +1037,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitSynchronized(this, d);
}
@Override
- public int getTag() {
- return SYNCHRONIZED;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.SYNCHRONIZED;
}
}
/**
* A "try { } catch ( ) { } finally { }" block.
@@ -1055,12 +1077,12 @@
@Override
public List<? extends JCTree> getResources() {
return resources;
}
@Override
- public int getTag() {
- return TRY;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TRY;
}
}
/**
* A catch block.
@@ -1081,12 +1103,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitCatch(this, d);
}
@Override
- public int getTag() {
- return CATCH;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.CATCH;
}
}
/**
* A ( ) ? ( ) : ( ) conditional expression
@@ -1113,12 +1135,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitConditionalExpression(this, d);
}
@Override
- public int getTag() {
- return CONDEXPR;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.CONDEXPR;
}
}
/**
* An "if ( ) { } else { }" block
@@ -1145,12 +1167,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitIf(this, d);
}
@Override
- public int getTag() {
- return IF;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.IF;
}
}
/**
* an expression statement
@@ -1170,12 +1192,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitExpressionStatement(this, d);
}
@Override
- public int getTag() {
- return EXEC;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.EXEC;
}
/** Convert a expression-statement tree to a pretty-printed string. */
@Override
public String toString() {
@@ -1210,12 +1232,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitBreak(this, d);
}
@Override
- public int getTag() {
- return BREAK;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.BREAK;
}
}
/**
* A continue of a loop.
@@ -1235,12 +1257,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitContinue(this, d);
}
@Override
- public int getTag() {
- return CONTINUE;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.CONTINUE;
}
}
/**
* A return statement.
@@ -1258,12 +1280,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitReturn(this, d);
}
@Override
- public int getTag() {
- return RETURN;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.RETURN;
}
}
/**
* A throw statement.
@@ -1281,12 +1303,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitThrow(this, d);
}
@Override
- public int getTag() {
- return THROW;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.THROW;
}
}
/**
* An assert statement.
@@ -1307,12 +1329,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitAssert(this, d);
}
@Override
- public int getTag() {
- return ASSERT;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.ASSERT;
}
}
/**
* A method invocation
@@ -1350,12 +1372,12 @@
public JCMethodInvocation setType(Type type) {
super.setType(type);
return this;
}
@Override
- public int getTag() {
- return(APPLY);
+ public JCTree.Tag getTag() {
+ return(JCTree.Tag.APPLY);
}
}
/**
* A new(...) operation.
@@ -1400,12 +1422,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitNewClass(this, d);
}
@Override
- public int getTag() {
- return NEWCLASS;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.NEWCLASS;
}
}
/**
* A new[...] operation.
@@ -1436,12 +1458,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitNewArray(this, d);
}
@Override
- public int getTag() {
- return NEWARRAY;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.NEWARRAY;
}
}
/**
* A parenthesized subexpression ( ... )
@@ -1459,12 +1481,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitParenthesized(this, d);
}
@Override
- public int getTag() {
- return PARENS;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.PARENS;
}
}
/**
* A assignment with "=".
@@ -1485,24 +1507,24 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitAssignment(this, d);
}
@Override
- public int getTag() {
- return ASSIGN;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.ASSIGN;
}
}
/**
* An assignment with "+=", "|=" ...
*/
public static class JCAssignOp extends JCExpression implements CompoundAssignmentTree {
- private int opcode;
+ private JCTree.Tag opcode;
public JCExpression lhs;
public JCExpression rhs;
public Symbol operator;
- protected JCAssignOp(int opcode, JCTree lhs, JCTree rhs, Symbol operator) {
+ protected JCAssignOp(JCTree.Tag opcode, JCTree lhs, JCTree rhs, Symbol operator) {
this.opcode = opcode;
this.lhs = (JCExpression)lhs;
this.rhs = (JCExpression)rhs;
this.operator = operator;
}
@@ -1518,23 +1540,23 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitCompoundAssignment(this, d);
}
@Override
- public int getTag() {
+ public JCTree.Tag getTag() {
return opcode;
}
}
/**
* A unary operation.
*/
public static class JCUnary extends JCExpression implements UnaryTree {
- private int opcode;
+ private JCTree.Tag opcode;
public JCExpression arg;
public Symbol operator;
- protected JCUnary(int opcode, JCExpression arg) {
+ protected JCUnary(JCTree.Tag opcode, JCExpression arg) {
this.opcode = opcode;
this.arg = arg;
}
@Override
public void accept(Visitor v) { v.visitUnary(this); }
@@ -1547,28 +1569,28 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitUnary(this, d);
}
@Override
- public int getTag() {
+ public JCTree.Tag getTag() {
return opcode;
}
- public void setTag(int tag) {
+ public void setTag(JCTree.Tag tag) {
opcode = tag;
}
}
/**
* A binary operation.
*/
public static class JCBinary extends JCExpression implements BinaryTree {
- private int opcode;
+ private JCTree.Tag opcode;
public JCExpression lhs;
public JCExpression rhs;
public Symbol operator;
- protected JCBinary(int opcode,
+ protected JCBinary(JCTree.Tag opcode,
JCExpression lhs,
JCExpression rhs,
Symbol operator) {
this.opcode = opcode;
this.lhs = lhs;
@@ -1587,11 +1609,11 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitBinary(this, d);
}
@Override
- public int getTag() {
+ public JCTree.Tag getTag() {
return opcode;
}
}
/**
@@ -1613,12 +1635,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitTypeCast(this, d);
}
@Override
- public int getTag() {
- return TYPECAST;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPECAST;
}
}
/**
* A type test.
@@ -1639,12 +1661,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitInstanceOf(this, d);
}
@Override
- public int getTag() {
- return TYPETEST;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPETEST;
}
}
/**
* An array selection
@@ -1665,12 +1687,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitArrayAccess(this, d);
}
@Override
- public int getTag() {
- return INDEXED;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.INDEXED;
}
}
/**
* Selects through packages and classes
@@ -1696,12 +1718,12 @@
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitMemberSelect(this, d);
}
public Name getIdentifier() { return name; }
@Override
- public int getTag() {
- return SELECT;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.SELECT;
}
}
/**
* An identifier
@@ -1722,12 +1744,12 @@
public Name getName() { return name; }
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitIdentifier(this, d);
}
- public int getTag() {
- return IDENT;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.IDENT;
}
}
/**
* A constant value given literally.
@@ -1788,12 +1810,12 @@
public JCLiteral setType(Type type) {
super.setType(type);
return this;
}
@Override
- public int getTag() {
- return LITERAL;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.LITERAL;
}
}
/**
* Identifies a basic type.
@@ -1836,12 +1858,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitPrimitiveType(this, d);
}
@Override
- public int getTag() {
- return TYPEIDENT;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEIDENT;
}
}
/**
* An array type, A[]
@@ -1859,12 +1881,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitArrayType(this, d);
}
@Override
- public int getTag() {
- return TYPEARRAY;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEARRAY;
}
}
/**
* A parameterized type, T<...>
@@ -1887,12 +1909,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitParameterizedType(this, d);
}
@Override
- public int getTag() {
- return TYPEAPPLY;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEAPPLY;
}
}
/**
* A union type, T1 | T2 | ... Tn (used in multicatch statements)
@@ -1915,12 +1937,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitUnionType(this, d);
}
@Override
- public int getTag() {
- return TYPEUNION;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEUNION;
}
}
/**
* A formal class parameter.
@@ -1945,12 +1967,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitTypeParameter(this, d);
}
@Override
- public int getTag() {
- return TYPEPARAMETER;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEPARAMETER;
}
}
public static class JCWildcard extends JCExpression implements WildcardTree {
public TypeBoundKind kind;
@@ -1979,12 +2001,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitWildcard(this, d);
}
@Override
- public int getTag() {
- return WILDCARD;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.WILDCARD;
}
}
public static class TypeBoundKind extends JCTree {
public BoundKind kind;
@@ -2000,12 +2022,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
throw new AssertionError("TypeBoundKind is not part of a public API");
}
@Override
- public int getTag() {
- return TYPEBOUNDKIND;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.TYPEBOUNDKIND;
}
}
public static class JCAnnotation extends JCExpression implements AnnotationTree {
public JCTree annotationType;
@@ -2025,12 +2047,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitAnnotation(this, d);
}
@Override
- public int getTag() {
- return ANNOTATION;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.ANNOTATION;
}
}
public static class JCModifiers extends JCTree implements com.sun.source.tree.ModifiersTree {
public long flags;
@@ -2052,12 +2074,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitModifiers(this, d);
}
@Override
- public int getTag() {
- return MODIFIERS;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.MODIFIERS;
}
}
public static class JCErroneous extends JCExpression
implements com.sun.source.tree.ErroneousTree {
@@ -2077,12 +2099,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
return v.visitErroneous(this, d);
}
@Override
- public int getTag() {
- return ERRONEOUS;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.ERRONEOUS;
}
}
/** (let int x = 3; in x+2) */
public static class LetExpr extends JCExpression {
@@ -2101,12 +2123,12 @@
@Override
public <R,D> R accept(TreeVisitor<R,D> v, D d) {
throw new AssertionError("LetExpr is not part of a public API");
}
@Override
- public int getTag() {
- return LETEXPR;
+ public JCTree.Tag getTag() {
+ return JCTree.Tag.LETEXPR;
}
}
/** An interface for tree factories
*/
@@ -2173,13 +2195,13 @@
JCNewArray NewArray(JCExpression elemtype,
List<JCExpression> dims,
List<JCExpression> elems);
JCParens Parens(JCExpression expr);
JCAssign Assign(JCExpression lhs, JCExpression rhs);
- JCAssignOp Assignop(int opcode, JCTree lhs, JCTree rhs);
- JCUnary Unary(int opcode, JCExpression arg);
- JCBinary Binary(int opcode, JCExpression lhs, JCExpression rhs);
+ JCAssignOp Assignop(JCTree.Tag opcode, JCTree lhs, JCTree rhs);
+ JCUnary Unary(JCTree.Tag opcode, JCExpression arg);
+ JCBinary Binary(JCTree.Tag opcode, JCExpression lhs, JCExpression rhs);
JCTypeCast TypeCast(JCTree expr, JCExpression type);
JCInstanceOf TypeTest(JCExpression expr, JCTree clazz);
JCArrayAccess Indexed(JCExpression indexed, JCExpression index);
JCFieldAccess Select(JCExpression selected, Name selector);
JCIdent Ident(Name idname);