-
Notifications
You must be signed in to change notification settings - Fork 0
API Host MemorySourceResolver
In-memory IScriptSourceResolver implementation.
Namespace: AuroraScript.Source. Kind: class.
Back to .NET Host API Reference
MemorySourceResolver serves scripts from a virtual path table instead of disk, which suits generated code, unsaved editor buffers, and tests. Create one directly or through ScriptSources.Memory(root).
Note
-
ResolveAsynconly returns sources that fall underRootand exist in the memory table. - Place memory before file system in a CompositeScriptSourceResolver to override disk sources whose resolved target falls under the memory root.
- A parent memory root can override a child file-system dependency when the resolved target is under the memory root.
A minimal use of MemorySourceResolver.
var resolver = new MemorySourceResolver("mem://app/")
.Add("main.as", "@module(MAIN); export func run() { return 42; }");
Console.WriteLine(resolver.Root); // mem://app/MemorySourceResolver(string root = "mem://app/")Creates a resolver rooted at a virtual source namespace.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
root |
string |
No | Virtual root; defaults to mem://app/. |
Returns
A new MemorySourceResolver instance.
var resolver = new MemorySourceResolver("mem://app/");string RootNormalized virtual root of this resolver.
Parameters
None.
Returns
Returns string.
Console.WriteLine(resolver.Root); // mem://app/MemorySourceResolver Add(string path, string source)Adds or replaces a virtual memory source.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
path |
string |
Yes | Absolute path or a path relative to Root. |
source |
string |
Yes | Script text stored for the path. |
Returns
Returns the same MemorySourceResolver, so calls can be chained.
Behavior
path may be absolute or relative to Root. It is normalized to a full source path with / separators before storage.
var resolver = new MemorySourceResolver("mem://app/")
.Add("main.as", "@module(MAIN); export func run() { return 42; }")
.Add("lib/util.as", "@module(UTIL); export func id(value) { return value; }");AuroraScript.JIT 4.0.0 · Documentation Home · Repository · MIT License