langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java
changeset 5492 515e4b33b335
parent 3149 0cd06d598d6f
child 5520 86e4b9a9da40
equal deleted inserted replaced
5491:899e1748bb17 5492:515e4b33b335
   234 
   234 
   235     /** Parameterized types, of type TypeApply.
   235     /** Parameterized types, of type TypeApply.
   236      */
   236      */
   237     public static final int TYPEAPPLY = TYPEARRAY + 1;
   237     public static final int TYPEAPPLY = TYPEARRAY + 1;
   238 
   238 
       
   239     /** Disjunctive types, of type TypeDisjoint.
       
   240      */
       
   241     public static final int TYPEDISJOINT = TYPEAPPLY + 1;
       
   242 
   239     /** Formal type parameters, of type TypeParameter.
   243     /** Formal type parameters, of type TypeParameter.
   240      */
   244      */
   241     public static final int TYPEPARAMETER = TYPEAPPLY + 1;
   245     public static final int TYPEPARAMETER = TYPEDISJOINT + 1;
   242 
   246 
   243     /** Type argument.
   247     /** Type argument.
   244      */
   248      */
   245     public static final int WILDCARD = TYPEPARAMETER + 1;
   249     public static final int WILDCARD = TYPEPARAMETER + 1;
   246 
   250 
  1857             return v.visitParameterizedType(this, d);
  1861             return v.visitParameterizedType(this, d);
  1858         }
  1862         }
  1859         @Override
  1863         @Override
  1860         public int getTag() {
  1864         public int getTag() {
  1861             return TYPEAPPLY;
  1865             return TYPEAPPLY;
       
  1866         }
       
  1867     }
       
  1868 
       
  1869     /**
       
  1870      * A disjoint type, T1 | T2 | ... Tn (used in multicatch statements)
       
  1871      */
       
  1872     public static class JCTypeDisjoint extends JCExpression implements DisjointTypeTree {
       
  1873 
       
  1874         public List<JCExpression> components;
       
  1875 
       
  1876         protected JCTypeDisjoint(List<JCExpression> components) {
       
  1877             this.components = components;
       
  1878         }
       
  1879         @Override
       
  1880         public void accept(Visitor v) { v.visitTypeDisjoint(this); }
       
  1881 
       
  1882         public Kind getKind() { return Kind.DISJOINT_TYPE; }
       
  1883 
       
  1884         public List<JCExpression> getTypeComponents() {
       
  1885             return components;
       
  1886         }
       
  1887         @Override
       
  1888         public <R,D> R accept(TreeVisitor<R,D> v, D d) {
       
  1889             return v.visitDisjointType(this, d);
       
  1890         }
       
  1891         @Override
       
  1892         public int getTag() {
       
  1893             return TYPEDISJOINT;
  1862         }
  1894         }
  1863     }
  1895     }
  1864 
  1896 
  1865     /**
  1897     /**
  1866      * A formal class parameter.
  1898      * A formal class parameter.
  2218         public void visitIdent(JCIdent that)                 { visitTree(that); }
  2250         public void visitIdent(JCIdent that)                 { visitTree(that); }
  2219         public void visitLiteral(JCLiteral that)             { visitTree(that); }
  2251         public void visitLiteral(JCLiteral that)             { visitTree(that); }
  2220         public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); }
  2252         public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); }
  2221         public void visitTypeArray(JCArrayTypeTree that)     { visitTree(that); }
  2253         public void visitTypeArray(JCArrayTypeTree that)     { visitTree(that); }
  2222         public void visitTypeApply(JCTypeApply that)         { visitTree(that); }
  2254         public void visitTypeApply(JCTypeApply that)         { visitTree(that); }
       
  2255         public void visitTypeDisjoint(JCTypeDisjoint that)   { visitTree(that); }
  2223         public void visitTypeParameter(JCTypeParameter that) { visitTree(that); }
  2256         public void visitTypeParameter(JCTypeParameter that) { visitTree(that); }
  2224         public void visitWildcard(JCWildcard that)           { visitTree(that); }
  2257         public void visitWildcard(JCWildcard that)           { visitTree(that); }
  2225         public void visitTypeBoundKind(TypeBoundKind that)   { visitTree(that); }
  2258         public void visitTypeBoundKind(TypeBoundKind that)   { visitTree(that); }
  2226         public void visitAnnotation(JCAnnotation that)       { visitTree(that); }
  2259         public void visitAnnotation(JCAnnotation that)       { visitTree(that); }
  2227         public void visitModifiers(JCModifiers that)         { visitTree(that); }
  2260         public void visitModifiers(JCModifiers that)         { visitTree(that); }