feat: resolve file-local import namespaces
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
|
||||
## current boundary
|
||||
|
||||
directory loading and import declaration discovery are implemented; qualified
|
||||
namespace selection and the richer types/control flow used by the compiler
|
||||
remain unsupported. the driver retains frontend storage and source provenance
|
||||
through `@source/compilation`, with compilation-wide AST node identities.
|
||||
directory packages support file-local import namespaces and postfix declaration
|
||||
selection through the interpreter and native backend. the richer types/control
|
||||
flow used by the compiler remain unsupported. the driver retains frontend storage
|
||||
and source provenance through `@source/compilation`, with compilation-wide AST node identities.
|
||||
file commands retain single-file behavior; directory commands compile the
|
||||
package's production files and load its dependencies in separate scopes.
|
||||
|
||||
@@ -20,8 +20,8 @@ needs records, pointers, generics and C calls.
|
||||
|
||||
- [x] retain source/package identity and source ownership across the compilation; keep one identifier pool and unambiguous declaration IDs.
|
||||
- [x] load directory packages once per canonical path, with deterministic file discovery, package scopes and root-only entry selection. follow Bro's existing relative and project-root `@` import rules; diagnose cycles rather than recurse indefinitely.
|
||||
- [ ] finish postfix namespace selection and resolve file-local import aliases without injecting dependency names into the importing package; bare and aliased import declarations are already parsed for dependency discovery.
|
||||
- [ ] reuse ordinary scalar signature checking, function values and IR calls for selected declarations; namespaces have no runtime representation.
|
||||
- [x] finish postfix namespace selection and resolve file-local import aliases without injecting dependency names into the importing package; bare and aliased import declarations are already parsed for dependency discovery.
|
||||
- [x] reuse ordinary scalar signature checking, function values and IR calls for selected declarations; namespaces have no runtime representation.
|
||||
- [ ] preserve originating filenames and spans in dependency diagnostics and native runtime traps; retain demand-driven diagnostic recovery.
|
||||
- [ ] verify sibling source files, transitive/shared imports, same-spelled declarations in different packages, alias conflicts, missing packages/members, argument errors and dependency-file diagnostics. preserve existing single-file commands.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user