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 @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),




  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.Exported
  43 public interface Tree {
  44 
  45     /**
  46      * Enumerates all kinds of trees.
  47      */
  48     @jdk.Exported
  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),