Java compilation unit AST node type. This is the type of the root of an AST.
The source range for this type of node is ordinarily the entire source file, including leading and trailing whitespace and comments.
For JLS2:
CompilationUnit: [ PackageDeclaration ] { ImportDeclaration } { TypeDeclaration | ; }
For JLS3, the kinds of type declarations grew to include enum and annotation type declarations:
CompilationUnit: [ PackageDeclaration ] { ImportDeclaration } { TypeDeclaration | EnumDeclaration | AnnotationTypeDeclaration | ; }
@since 2.0
@noinstantiate This class is not intended to be instantiated by clients.