Module jdk.compiler
Package com.sun.source.tree

# Interface CompilationUnitTree

All Superinterfaces:
  `Tree`

    public interface CompilationUnitTree
    extends Tree

Represents the abstract syntax tree for compilation units (source files) and package declarations (package-info.java).

See Java Language Specification:
  7.3 Compilation Units
  7.4 Package Declarations
Since:
  1.6

## Nested Class Summary

## Nested classes/interfaces declared in interface com.sun.source.tree.Tree

`Tree.Kind`

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`List<? extends ImportTree>` | `getImports()` | Returns the import declarations appearing in this compilation unit.
`LineMap` | `getLineMap()` | Returns the line map for this compilation unit, if available.
`PackageTree` | `getPackage()` | Returns the package tree associated with this compilation unit, or `null` if there is no package declaration.
`List<? extends AnnotationTree>` | `getPackageAnnotations()` | Returns the annotations listed on any package declaration at the head of this compilation unit, or `null` if there is no package declaration.
`ExpressionTree` | `getPackageName()` | Returns the name contained in any package declaration at the head of this compilation unit, or `null` if there is no package declaration.
`JavaFileObject` | `getSourceFile()` | Returns the file object containing the source for this compilation unit.
`List<? extends Tree>` | `getTypeDecls()` | Returns the type declarations appearing in this compilation unit.

### Methods declared in interface com.sun.source.tree.Tree

`accept, getKind`

## Method Details

### getPackageAnnotations

List<? extends AnnotationTree> getPackageAnnotations()
Returns the annotations listed on any package declaration at the head of this compilation unit, or `null` if there is no package declaration.

Returns:
  the package annotations

### getPackageName

ExpressionTree getPackageName()
Returns the name contained in any package declaration at the head of this compilation unit, or `null` if there is no package declaration.

Returns:
  the package name

### getPackage

PackageTree getPackage()
Returns the package tree associated with this compilation unit, or `null` if there is no package declaration.

Returns:
  the package tree
Since:
  9

### getImports

List<? extends ImportTree> getImports()
Returns the import declarations appearing in this compilation unit.

Returns:
  the import declarations

### getTypeDecls

List<? extends Tree> getTypeDecls()
Returns the type declarations appearing in this compilation unit. The list may also include empty statements resulting from extraneous semicolons.

Returns:
  the type declarations

### getSourceFile

JavaFileObject getSourceFile()
Returns the file object containing the source for this compilation unit.

Returns:
  the file object

### getLineMap

LineMap getLineMap()
Returns the line map for this compilation unit, if available. Returns `null` if the line map is not available.

Returns:
  the line map for this compilation unit