Table of Contents

Class CompilationContextBuilder

Namespace
Dassie.Compiler
Assembly
Dassie.Compiler.dll

Provides a fluent API for creating objects of type CompilationContext.

public class CompilationContextBuilder
Inheritance
CompilationContextBuilder
Inherited Members
Extension Methods

Methods

AddSourceDirectory(string, bool)

Adds a directory containing Dassie source files to the compilation context.

public CompilationContextBuilder AddSourceDirectory(string path, bool recursive)

Parameters

path string

The path to the directory to add.

recursive bool

Wheter to include source files from subdirectories.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentException
ArgumentNullException
ArgumentOutOfRangeException
PathTooLongException
DirectoryNotFoundException
IOException
UnauthorizedAccessException

AddSourceDocument(SourceDocument)

Adds a SourceDocument to the compilation context.

public CompilationContextBuilder AddSourceDocument(SourceDocument document)

Parameters

document SourceDocument

The document to add.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

AddSourceDocuments(IEnumerable<SourceDocument>)

Adds multiple SourceDocuments to the compilation context.

public CompilationContextBuilder AddSourceDocuments(IEnumerable<SourceDocument> documents)

Parameters

documents IEnumerable<SourceDocument>

The documents to add.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

AddSourceFile(string)

Adds Dassie source code from a file to the compilation context.

public CompilationContextBuilder AddSourceFile(string path)

Parameters

path string

The source file to add.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentException
ArgumentNullException
PathTooLongException
DirectoryNotFoundException
IOException
UnauthorizedAccessException
FileNotFoundException
NotSupportedException
SecurityException

AddSourceFiles(IEnumerable<string>)

Adds multiple Dassie source files to the compilation context.

public CompilationContextBuilder AddSourceFiles(IEnumerable<string> files)

Parameters

files IEnumerable<string>

The source files to add.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentException
ArgumentNullException
PathTooLongException
DirectoryNotFoundException
IOException
UnauthorizedAccessException
FileNotFoundException
NotSupportedException
SecurityException

AddSourceFromText(string)

Adds a string of Dassie source code to the compilation context.

public CompilationContextBuilder AddSourceFromText(string text)

Parameters

text string

The source code to add.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

AddSourceFromText(string, string)

Adds a string of Dassie source code to the compilation context.

public CompilationContextBuilder AddSourceFromText(string text, string symbolicName)

Parameters

text string

The source code to add.

symbolicName string

A symbolic name for the document.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

Build()

Builds a CompilationContext object with the specified data.

public CompilationContext Build()

Returns

CompilationContext

A new instance of CompilationContext.

CreateBuilder()

Initializes a new compilation context builder.

public static CompilationContextBuilder CreateBuilder()

Returns

CompilationContextBuilder

A new instance of CompilationContextBuilder.

RedirectCompilerMessages(Func<Severity, TextWriter>)

Allows redirecting compiler messages to any TextWriter.

public CompilationContextBuilder RedirectCompilerMessages(Func<Severity, TextWriter> messageResolver)

Parameters

messageResolver Func<Severity, TextWriter>

A resolver function that returns the TextWriter to write compiler messages to based on the severity of an error.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

WithConfiguration(DassieConfig)

Sets the compiler configuration for the compilation context.

public CompilationContextBuilder WithConfiguration(DassieConfig config)

Parameters

config DassieConfig

The configuration to use.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentNullException

WithConfiguration(string)

Adds the compiler configuration for the compilation context from an XML configuration file.

public CompilationContextBuilder WithConfiguration(string configFile)

Parameters

configFile string

The path to the configuration file.

Returns

CompilationContextBuilder

The current instance of CompilationContextBuilder.

Exceptions

ArgumentException
ArgumentNullException
FileNotFoundException
DirectoryNotFoundException
InvalidOperationException
IOException