Skip to content

API Host CompilerOptionsBuilder

Liu.Yandong.Hanks edited this page Aug 21, 2026 · 3 revisions

CompilerOptionsBuilder

Mutable builder used by EngineOptions.WithCompiler.

Namespace: AuroraScript. Kind: class.

Back to .NET Host API Reference

Overview

CompilerOptionsBuilder is the mutable view of CompilerOptions handed to the EngineOptions.WithCompiler callback. Either assign the properties directly or chain the With... methods; both produce the same frozen options record when the callback returns.

Quick Reference

A minimal use of CompilerOptionsBuilder.

var options = EngineOptions.Default.WithCompiler(builder =>
{
    builder.Mode = CompilationMode.Dynamic;
    builder.SourceResolver = ScriptSources.FileSystem("./scripts");
});

Constructors

CompilerOptionsBuilder

CompilerOptionsBuilder(CompilerOptions options)

Creates a builder seeded from existing compiler options.

Parameters

Name Type Required Description
options CompilerOptions Yes Options the builder starts from.

Returns

A new CompilerOptionsBuilder instance.

var builder = new CompilerOptionsBuilder(CompilerOptions.Default);

Properties

Mode

CompilationMode Mode

Emit strategy for compiled scripts.

Parameters

None.

Returns

Returns CompilationMode.

builder.Mode = CompilationMode.Dynamic;

ExtName

string ExtName

Script extension enumerated by the resolver.

Parameters

None.

Returns

Returns string.

builder.ExtName = ".as";

MaxDegreeOfParallelism

int MaxDegreeOfParallelism

Module compilation parallelism.

Parameters

None.

Returns

Returns int.

builder.MaxDegreeOfParallelism = 4;

SourceResolver

IScriptSourceResolver SourceResolver

Resolver used to locate and load entry, import, and include sources.

Parameters

None.

Returns

Returns IScriptSourceResolver.

builder.SourceResolver = ScriptSources.FileSystem("scripts");

Methods

Every With... method returns the same builder, so calls can be chained.

WithMode

CompilerOptionsBuilder WithMode(CompilationMode value)

Sets the emit strategy.

Parameters

Name Type Required Description
value CompilationMode Yes Emit strategy to use.

Returns

Returns the same CompilerOptionsBuilder.

builder.WithMode(CompilationMode.Dynamic);

WithExtName

CompilerOptionsBuilder WithExtName(string value)

Sets the script extension to enumerate.

Parameters

Name Type Required Description
value string Yes Script extension, such as .as.

Returns

Returns the same CompilerOptionsBuilder.

builder.WithExtName(".as");

WithMaxDegreeOfParallelism

CompilerOptionsBuilder WithMaxDegreeOfParallelism(int value)

Sets module compilation parallelism.

Parameters

Name Type Required Description
value int Yes Positive degree of parallelism.

Returns

Returns the same CompilerOptionsBuilder.

builder.WithMaxDegreeOfParallelism(4);

WithSourceResolver

CompilerOptionsBuilder WithSourceResolver(IScriptSourceResolver value)

Sets the resolver used for entry, import, and include sources.

Parameters

Name Type Required Description
value IScriptSourceResolver Yes Resolver to use.

Returns

Returns the same CompilerOptionsBuilder.

var options = EngineOptions.Default.WithCompiler(builder => builder
    .WithMode(CompilationMode.Dynamic)
    .WithExtName(".as")
    .WithMaxDegreeOfParallelism(4)
    .WithSourceResolver(ScriptSources.FileSystem("scripts")));

Clone this wiki locally