org.eclipse.jdt.core.compiler

## Class BuildContext

- java.lang.Object
- - org.eclipse.jdt.core.compiler.BuildContext

    public class BuildContext
    extends Object

The context of a build event that is notified to interested compilation participants when `a build is starting`, or to annotations processors when `a source file has annotations`.

Since:
  3.2
Restriction:
  This class is not intended to be subclassed by clients.
Restriction:
  This class is not intended to be instantiated by clients.

### Constructor Summary

Constructors
Constructor and Description
`BuildContext()`

### Method Summary

All Methods Instance Methods Concrete Methods
`char[]` `getContents()` Returns the contents of the compilation unit.
`IFile` `getFile()` Returns the `IFile` representing the compilation unit.
`boolean` `hasAnnotations()` Returns whether the compilation unit contained any annotations when it was compiled.
`boolean` `isTestCode()`
`void` `recordAddedGeneratedFiles(IFile[] addedGeneratedFiles)` Record the added/changed generated files that need to be compiled.
`void` `recordDeletedGeneratedFiles(IFile[] deletedGeneratedFiles)` Record the generated files that need to be deleted.
`void` `recordDependencies(String[] typeNameDependencies)` Record the fully-qualified type names of any new dependencies, each name is of the form "p1.p2.A.B".
`void` `recordNewProblems(CategorizedProblem[] newProblems)` Record new problems to report against this compilationUnit.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BuildContext

    public BuildContext()

### Method Detail

#### getContents

    public char[] getContents()

Returns the contents of the compilation unit.

Returns:
  the contents of the compilation unit

#### getFile

    public IFile getFile()

Returns the `IFile` representing the compilation unit.

Returns:
  the `IFile` representing the compilation unit

#### hasAnnotations

    public boolean hasAnnotations()

Returns whether the compilation unit contained any annotations when it was compiled. NOTE: This is only valid during `CompilationParticipant.processAnnotations(BuildContext[])`.

Returns:
  whether the compilation unit contained any annotations when it was compiled

#### recordAddedGeneratedFiles

    public void recordAddedGeneratedFiles(IFile[] addedGeneratedFiles)

Record the added/changed generated files that need to be compiled.

Parameters:
  `addedGeneratedFiles` - the added/changed files

#### recordDeletedGeneratedFiles

    public void recordDeletedGeneratedFiles(IFile[] deletedGeneratedFiles)

Record the generated files that need to be deleted.

Parameters:
  `deletedGeneratedFiles` - the files that need to be deleted

#### recordDependencies

    public void recordDependencies(String[] typeNameDependencies)

Record the fully-qualified type names of any new dependencies, each name is of the form "p1.p2.A.B".

Parameters:
  `typeNameDependencies` - the fully-qualified type names of new dependencies

#### recordNewProblems

    public void recordNewProblems(CategorizedProblem[] newProblems)

Record new problems to report against this compilationUnit. Markers are persisted for these problems only for the declared managed marker type (see the 'compilationParticipant' extension point).

Parameters:
  `newProblems` - the problems to report

#### isTestCode

    public boolean isTestCode()

Since:
  3.14