> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md).

# CompilationJob

Struct in [Yarn.Compiler](/3.1/api/csharp/yarn.compiler.md)

Inherits from `System.ValueType`

## Summary

An object that contains Yarn source code to compile, and instructions on how to compile it.

```csharp
public struct CompilationJob
```

## Remarks

Instances of this struct are used with [Compile(CompilationJob)](/3.1/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.compile.md) to produce [CompilationResult](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationresult.md) objects.

## Classes

| Name                                                                                                    | Description                                   |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [File](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.file.md) | Represents the contents of a file to compile. |

## Enums

| Name                                                                                                    | Description                                        |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [Type](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.type.md) | The type of compilation that the compiler will do. |

## Fields

| Name                                                                                                                          | Description                                                                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CompilationType](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.compilationtype.md) | The type of compilation to perform.                                                                                                                         |
| [Declarations](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.declarations.md)       | The declarations for variables and functions.                                                                                                               |
| [Inputs](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.inputs.md)                   |                                                                                                                                                             |
| [Library](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.library.md)                 | The [Library](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.library.md) that contains declarations for functions. |

## Methods

| Name                                                                                                                                                        | Description                                                                                                                                        |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateFromFiles(IEnumerable,Library?)](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.createfromfiles-1.md)       | Creates a new [CompilationJob](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md) using the contents of a collection of files.         |
| [CreateFromFiles(string\[\])](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.createfromfiles-2.md)                 | Creates a new [CompilationJob](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md) using the contents of a collection of files.         |
| [CreateFromInputs(IEnumerable,Library?,int)](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.createfrominputs.md)   | Creates a new [CompilationJob](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md) using the contents of a collection of source inputs. |
| [CreateFromString(string,string,Library?,int)](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.createfromstring.md) | Creates a new [CompilationJob](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md) using the contents of a string.                      |

## Properties

| Name                                                                                                                                    | Description                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CancellationToken](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.cancellationtoken.md)       | A cancellation token that can be used to signal that the compilation should be cancelled.                                                                 |
| [Files](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.files.md)                               | The [File](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.file.md) structs that represent the content to parse.. |
| [LanguageVersion](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.languageversion.md)           | Gets or sets the version of the Yarn language.                                                                                                            |
| [TypeDeclarations](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.typedeclarations.md)         | The collection of type declarations that should be imported and made available to the compiler, prior to compilation.                                     |
| [VariableDeclarations](/3.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.variabledeclarations.md) | The declarations for variables.                                                                                                                           |
