src/share/classes/com/sun/source/tree/Tree.java

Print this page




  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.source.tree;
  27 
  28 /**
  29  * Common interface for all nodes in an abstract syntax tree.
  30  *
  31  * <p><b>WARNING:</b> This interface and its sub-interfaces are
  32  * subject to change as the Java&trade; programming language evolves.
  33  * These interfaces are implemented by the JDK Java compiler (javac)
  34  * and should not be implemented either directly or indirectly by
  35  * other applications.
  36  *
  37  * @author Peter von der Ah&eacute;
  38  * @author Jonathan Gibbons
  39  *
  40  * @since 1.6
  41  */

  42 public interface Tree {
  43 
  44     /**
  45      * Enumerates all kinds of trees.
  46      */

  47     public enum Kind {
  48 
  49         ANNOTATED_TYPE(AnnotatedTypeTree.class),
  50 
  51         /**
  52          * Used for instances of {@link AnnotationTree}
  53          * representing declaration annotations.
  54          */
  55         ANNOTATION(AnnotationTree.class),
  56 
  57         /**
  58          * Used for instances of {@link AnnotationTree}
  59          * representing type annotations.
  60          */
  61         TYPE_ANNOTATION(AnnotationTree.class),
  62 
  63         /**
  64          * Used for instances of {@link ArrayAccessTree}.
  65          */
  66         ARRAY_ACCESS(ArrayAccessTree.class),




  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.source.tree;
  27 
  28 /**
  29  * Common interface for all nodes in an abstract syntax tree.
  30  *
  31  * <p><b>WARNING:</b> This interface and its sub-interfaces are
  32  * subject to change as the Java&trade; programming language evolves.
  33  * These interfaces are implemented by the JDK Java compiler (javac)
  34  * and should not be implemented either directly or indirectly by
  35  * other applications.
  36  *
  37  * @author Peter von der Ah&eacute;
  38  * @author Jonathan Gibbons
  39  *
  40  * @since 1.6
  41  */
  42 @jdk.Supported
  43 public interface Tree {
  44 
  45     /**
  46      * Enumerates all kinds of trees.
  47      */
  48     @jdk.Supported
  49     public enum Kind {
  50 
  51         ANNOTATED_TYPE(AnnotatedTypeTree.class),
  52 
  53         /**
  54          * Used for instances of {@link AnnotationTree}
  55          * representing declaration annotations.
  56          */
  57         ANNOTATION(AnnotationTree.class),
  58 
  59         /**
  60          * Used for instances of {@link AnnotationTree}
  61          * representing type annotations.
  62          */
  63         TYPE_ANNOTATION(AnnotationTree.class),
  64 
  65         /**
  66          * Used for instances of {@link ArrayAccessTree}.
  67          */
  68         ARRAY_ACCESS(ArrayAccessTree.class),