> 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/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md).

# CompilationJob

Struct in [Yarn.Compiler](/2.5/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)](/2.5/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.compile.md) to produce [CompilationResult](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationresult.md) objects.

## Enums

| Name                                                                                                    | Description                                        |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [Type](/2.5/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](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.compilationtype.md)           | The type of compilation to perform.                                                                                                                         |
| [Files](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.files.md)                               | The [File](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.file.md) structs that represent the content to parse..   |
| [Library](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.library.md)                           | The [Library](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.library.md) that contains declarations for functions. |
| [VariableDeclarations](/2.5/api/csharp/yarn.compiler/yarn.compiler.compilationjob/yarn.compiler.compilationjob.variabledeclarations.md) | The declarations for variables.                                                                                                                             |

## Methods

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

## Structs

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