refactor: use canonical implementations and types directly

Remove forwarding wrappers and shadow aliases, migrate callers and verification scripts to their owners, and share one exhaustive semantic resource-bound projection.
This commit is contained in:
morluto
2026-10-09 23:17:17 +08:00
parent 3283a45d09
commit 765e809e36
119 changed files with 577 additions and 629 deletions
@@ -14,7 +14,7 @@ import {
type JavaScriptSemanticScopeState,
} from "./javascriptSemanticState.js";
import { semanticRequireOrigin } from "./javascriptSemanticRequireOrigin.js";
import { compareCodePoints } from "../canonicalOrdering.js";
import { compareUnicodeCodePoints } from "../unicodeCodePointOrder.js";
import { traverseJavaScriptAst } from "./javascriptSemanticTraversal.js";
import {
evaluateSemanticBinding,
@@ -160,7 +160,7 @@ export const immutableSemanticScopes = (
bindingsComplete: scope.bindingsComplete,
bindingIds: [...scope.bindings.values()]
.map(({ bindingId }) => bindingId)
.sort(compareCodePoints),
.sort(compareUnicodeCodePoints),
}));
/** Evaluate and freeze bindings into deterministic IR order. */
@@ -178,7 +178,9 @@ export const immutableSemanticBindings = (
value: evaluateSemanticBinding(binding, state),
provenance: evaluateSemanticProvenance(binding, state),
}))
.sort((left, right) => compareCodePoints(left.bindingId, right.bindingId));
.sort((left, right) =>
compareUnicodeCodePoints(left.bindingId, right.bindingId),
);
const callableKind = (
node: t.Node,