Skip to content

API Host ScriptSources

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

ScriptSources

内置脚本来源工厂

Built-in script-source factories

.NET Host API 目录

概述

ScriptSources 提供最常见 Resolver 的工厂:文件系统、内存和有序组合。Resolver 只负责解析路径、读取源码和枚举源码;编译器负责构建模块图。

ScriptSources provides factories for the most common resolvers: file system, memory, and ordered composition. A resolver only resolves paths, reads source text, and enumerates sources; the compiler builds the module graph.

FileSystem(root, [encoding])

Parameters:

  • root
    脚本根目录。

    Script root directory.

  • encoding
    可选文本编码。

    Optional text encoding.

Returns

FileSystemScriptSourceResolver

FileSystemScriptSourceResolver.

var resolver = ScriptSources.FileSystem("./scripts");

Memory([root])

Parameters:

  • root
    可选虚拟根;默认 mem://

    Optional virtual root; defaults to mem://.

Returns

MemorySourceResolver

MemorySourceResolver.

var resolver = ScriptSources.Memory("mem://app/")
    .Add("main.as", "@module(MAIN); export func run() { return 42; }");

Composite(...resolvers)

Parameters:

  • resolvers
    按优先级排序的 Resolver;越靠前优先级越高。

    Resolvers in priority order; earlier entries win.

Returns

CompositeScriptSourceResolver

CompositeScriptSourceResolver.

var resolver = ScriptSources.Composite(
    ScriptSources.Memory("./scripts").Add("generated.as", "@module(GEN);"),
    ScriptSources.FileSystem("./scripts"));

只有解析后的目标落在前一个 Memory root 下时,Memory overlay 才能覆盖文件系统来源。

a memory overlay can override a file source only when the resolved target lies under the earlier memory root.

Clone this wiki locally