src/share/classes/com/sun/tools/javac/tree/JCTree.java

Print this page




 219     /** Simple identifiers, of type Ident.
 220      */
 221     public static final int IDENT = SELECT + 1;
 222 
 223     /** Literals, of type Literal.
 224      */
 225     public static final int LITERAL = IDENT + 1;
 226 
 227     /** Basic type identifiers, of type TypeIdent.
 228      */
 229     public static final int TYPEIDENT = LITERAL + 1;
 230 
 231     /** Array types, of type TypeArray.
 232      */
 233     public static final int TYPEARRAY = TYPEIDENT + 1;
 234 
 235     /** Parameterized types, of type TypeApply.
 236      */
 237     public static final int TYPEAPPLY = TYPEARRAY + 1;
 238 
 239     /** Disjunction types, of type TypeDisjunction
 240      */
 241     public static final int TYPEDISJUNCTION = TYPEAPPLY + 1;
 242 
 243     /** Formal type parameters, of type TypeParameter.
 244      */
 245     public static final int TYPEPARAMETER = TYPEDISJUNCTION + 1;
 246 
 247     /** Type argument.
 248      */
 249     public static final int WILDCARD = TYPEPARAMETER + 1;
 250 
 251     /** Bound kind: extends, super, exact, or unbound
 252      */
 253     public static final int TYPEBOUNDKIND = WILDCARD + 1;
 254 
 255     /** metadata: Annotation.
 256      */
 257     public static final int ANNOTATION = TYPEBOUNDKIND + 1;
 258 
 259     /** metadata: Modifiers
 260      */
 261     public static final int MODIFIERS = ANNOTATION + 1;
 262 
 263     public static final int ANNOTATED_TYPE = MODIFIERS + 1;
 264 
 265     /** Error trees, of type Erroneous.


1864         }
1865         @Override
1866         public void accept(Visitor v) { v.visitTypeApply(this); }
1867 
1868         public Kind getKind() { return Kind.PARAMETERIZED_TYPE; }
1869         public JCTree getType() { return clazz; }
1870         public List<JCExpression> getTypeArguments() {
1871             return arguments;
1872         }
1873         @Override
1874         public <R,D> R accept(TreeVisitor<R,D> v, D d) {
1875             return v.visitParameterizedType(this, d);
1876         }
1877         @Override
1878         public int getTag() {
1879             return TYPEAPPLY;
1880         }
1881     }
1882 
1883     /**
1884      * A disjunction type, T1 | T2 | ... Tn (used in multicatch statements)
1885      */
1886     public static class JCTypeDisjunction extends JCExpression implements DisjunctiveTypeTree {
1887 
1888         public List<JCExpression> alternatives;
1889 
1890         protected JCTypeDisjunction(List<JCExpression> components) {
1891             this.alternatives = components;
1892         }
1893         @Override
1894         public void accept(Visitor v) { v.visitTypeDisjunction(this); }
1895 
1896         public Kind getKind() { return Kind.DISJUNCTIVE_TYPE; }
1897 
1898         public List<JCExpression> getTypeAlternatives() {
1899             return alternatives;
1900         }
1901         @Override
1902         public <R,D> R accept(TreeVisitor<R,D> v, D d) {
1903             return v.visitDisjunctiveType(this, d);
1904         }
1905         @Override
1906         public int getTag() {
1907             return TYPEDISJUNCTION;
1908         }
1909     }
1910 
1911     /**
1912      * A formal class parameter.
1913      * @param name name
1914      * @param bounds bounds
1915      */
1916     public static class JCTypeParameter extends JCTree implements TypeParameterTree {
1917         public Name name;
1918         public List<JCExpression> bounds;
1919         protected JCTypeParameter(Name name, List<JCExpression> bounds) {
1920             this.name = name;
1921             this.bounds = bounds;
1922         }
1923         @Override
1924         public void accept(Visitor v) { v.visitTypeParameter(this); }
1925 
1926         public Kind getKind() { return Kind.TYPE_PARAMETER; }
1927         public Name getName() { return name; }


2210         public void visitReturn(JCReturn that)               { visitTree(that); }
2211         public void visitThrow(JCThrow that)                 { visitTree(that); }
2212         public void visitAssert(JCAssert that)               { visitTree(that); }
2213         public void visitApply(JCMethodInvocation that)      { visitTree(that); }
2214         public void visitNewClass(JCNewClass that)           { visitTree(that); }
2215         public void visitNewArray(JCNewArray that)           { visitTree(that); }
2216         public void visitParens(JCParens that)               { visitTree(that); }
2217         public void visitAssign(JCAssign that)               { visitTree(that); }
2218         public void visitAssignop(JCAssignOp that)           { visitTree(that); }
2219         public void visitUnary(JCUnary that)                 { visitTree(that); }
2220         public void visitBinary(JCBinary that)               { visitTree(that); }
2221         public void visitTypeCast(JCTypeCast that)           { visitTree(that); }
2222         public void visitTypeTest(JCInstanceOf that)         { visitTree(that); }
2223         public void visitIndexed(JCArrayAccess that)         { visitTree(that); }
2224         public void visitSelect(JCFieldAccess that)          { visitTree(that); }
2225         public void visitIdent(JCIdent that)                 { visitTree(that); }
2226         public void visitLiteral(JCLiteral that)             { visitTree(that); }
2227         public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); }
2228         public void visitTypeArray(JCArrayTypeTree that)     { visitTree(that); }
2229         public void visitTypeApply(JCTypeApply that)         { visitTree(that); }
2230         public void visitTypeDisjunction(JCTypeDisjunction that)   { visitTree(that); }
2231         public void visitTypeParameter(JCTypeParameter that) { visitTree(that); }
2232         public void visitWildcard(JCWildcard that)           { visitTree(that); }
2233         public void visitTypeBoundKind(TypeBoundKind that)   { visitTree(that); }
2234         public void visitAnnotation(JCAnnotation that)       { visitTree(that); }
2235         public void visitModifiers(JCModifiers that)         { visitTree(that); }
2236         public void visitErroneous(JCErroneous that)         { visitTree(that); }
2237         public void visitLetExpr(LetExpr that)               { visitTree(that); }
2238 
2239         public void visitTree(JCTree that)                   { Assert.error(); }
2240     }
2241 
2242 }


 219     /** Simple identifiers, of type Ident.
 220      */
 221     public static final int IDENT = SELECT + 1;
 222 
 223     /** Literals, of type Literal.
 224      */
 225     public static final int LITERAL = IDENT + 1;
 226 
 227     /** Basic type identifiers, of type TypeIdent.
 228      */
 229     public static final int TYPEIDENT = LITERAL + 1;
 230 
 231     /** Array types, of type TypeArray.
 232      */
 233     public static final int TYPEARRAY = TYPEIDENT + 1;
 234 
 235     /** Parameterized types, of type TypeApply.
 236      */
 237     public static final int TYPEAPPLY = TYPEARRAY + 1;
 238 
 239     /** Union types, of type TypeUnion
 240      */
 241     public static final int TYPEUNION = TYPEAPPLY + 1;
 242 
 243     /** Formal type parameters, of type TypeParameter.
 244      */
 245     public static final int TYPEPARAMETER = TYPEUNION + 1;
 246 
 247     /** Type argument.
 248      */
 249     public static final int WILDCARD = TYPEPARAMETER + 1;
 250 
 251     /** Bound kind: extends, super, exact, or unbound
 252      */
 253     public static final int TYPEBOUNDKIND = WILDCARD + 1;
 254 
 255     /** metadata: Annotation.
 256      */
 257     public static final int ANNOTATION = TYPEBOUNDKIND + 1;
 258 
 259     /** metadata: Modifiers
 260      */
 261     public static final int MODIFIERS = ANNOTATION + 1;
 262 
 263     public static final int ANNOTATED_TYPE = MODIFIERS + 1;
 264 
 265     /** Error trees, of type Erroneous.


1864         }
1865         @Override
1866         public void accept(Visitor v) { v.visitTypeApply(this); }
1867 
1868         public Kind getKind() { return Kind.PARAMETERIZED_TYPE; }
1869         public JCTree getType() { return clazz; }
1870         public List<JCExpression> getTypeArguments() {
1871             return arguments;
1872         }
1873         @Override
1874         public <R,D> R accept(TreeVisitor<R,D> v, D d) {
1875             return v.visitParameterizedType(this, d);
1876         }
1877         @Override
1878         public int getTag() {
1879             return TYPEAPPLY;
1880         }
1881     }
1882 
1883     /**
1884      * A union type, T1 | T2 | ... Tn (used in multicatch statements)
1885      */
1886     public static class JCTypeUnion extends JCExpression implements UnionTypeTree {
1887 
1888         public List<JCExpression> alternatives;
1889 
1890         protected JCTypeUnion(List<JCExpression> components) {
1891             this.alternatives = components;
1892         }
1893         @Override
1894         public void accept(Visitor v) { v.visitTypeUnion(this); }
1895 
1896         public Kind getKind() { return Kind.UNION_TYPE; }
1897 
1898         public List<JCExpression> getTypeAlternatives() {
1899             return alternatives;
1900         }
1901         @Override
1902         public <R,D> R accept(TreeVisitor<R,D> v, D d) {
1903             return v.visitUnionType(this, d);
1904         }
1905         @Override
1906         public int getTag() {
1907             return TYPEUNION;
1908         }
1909     }
1910 
1911     /**
1912      * A formal class parameter.
1913      * @param name name
1914      * @param bounds bounds
1915      */
1916     public static class JCTypeParameter extends JCTree implements TypeParameterTree {
1917         public Name name;
1918         public List<JCExpression> bounds;
1919         protected JCTypeParameter(Name name, List<JCExpression> bounds) {
1920             this.name = name;
1921             this.bounds = bounds;
1922         }
1923         @Override
1924         public void accept(Visitor v) { v.visitTypeParameter(this); }
1925 
1926         public Kind getKind() { return Kind.TYPE_PARAMETER; }
1927         public Name getName() { return name; }


2210         public void visitReturn(JCReturn that)               { visitTree(that); }
2211         public void visitThrow(JCThrow that)                 { visitTree(that); }
2212         public void visitAssert(JCAssert that)               { visitTree(that); }
2213         public void visitApply(JCMethodInvocation that)      { visitTree(that); }
2214         public void visitNewClass(JCNewClass that)           { visitTree(that); }
2215         public void visitNewArray(JCNewArray that)           { visitTree(that); }
2216         public void visitParens(JCParens that)               { visitTree(that); }
2217         public void visitAssign(JCAssign that)               { visitTree(that); }
2218         public void visitAssignop(JCAssignOp that)           { visitTree(that); }
2219         public void visitUnary(JCUnary that)                 { visitTree(that); }
2220         public void visitBinary(JCBinary that)               { visitTree(that); }
2221         public void visitTypeCast(JCTypeCast that)           { visitTree(that); }
2222         public void visitTypeTest(JCInstanceOf that)         { visitTree(that); }
2223         public void visitIndexed(JCArrayAccess that)         { visitTree(that); }
2224         public void visitSelect(JCFieldAccess that)          { visitTree(that); }
2225         public void visitIdent(JCIdent that)                 { visitTree(that); }
2226         public void visitLiteral(JCLiteral that)             { visitTree(that); }
2227         public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); }
2228         public void visitTypeArray(JCArrayTypeTree that)     { visitTree(that); }
2229         public void visitTypeApply(JCTypeApply that)         { visitTree(that); }
2230         public void visitTypeUnion(JCTypeUnion that)         { visitTree(that); }
2231         public void visitTypeParameter(JCTypeParameter that) { visitTree(that); }
2232         public void visitWildcard(JCWildcard that)           { visitTree(that); }
2233         public void visitTypeBoundKind(TypeBoundKind that)   { visitTree(that); }
2234         public void visitAnnotation(JCAnnotation that)       { visitTree(that); }
2235         public void visitModifiers(JCModifiers that)         { visitTree(that); }
2236         public void visitErroneous(JCErroneous that)         { visitTree(that); }
2237         public void visitLetExpr(LetExpr that)               { visitTree(that); }
2238 
2239         public void visitTree(JCTree that)                   { Assert.error(); }
2240     }
2241 
2242 }