Represents an entire Java compilation unit (source file with one of the {@link JavaCore#getJavaLikeExtensions() Java-like extensions}). Compilation unit elements need to be opened before they can be navigated or manipulated. The children are of type {@link IPackageDeclaration}, {@link IImportContainer}, and {@link IType}, and appear in the order in which they are declared in the source. If a source file cannot be parsed, its structure remains unknown. Use {@link IJavaElement#isStructureKnown} to determine whether this isthe case.
This interface is not intended to be implemented by clients.