Package 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`, to annotations processors when `a source file has annotations`, or to post processors when `a class has finished compiling`.

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
Description
`BuildContext()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### BuildContext

public BuildContext()

## Method Details

### 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