fix(javascript): preserve uncertain with-scope member writes (#7914)

* fix(javascript): preserve uncertain with-scope member writes

* fix: retain nested initializer candidates

* fix(javascript): admit initializer values in worker transport

* fix(tests): remove duplicate MCP test imports
This commit is contained in:
morluto authored and GitHub committed 2026-10-29 09:23:34 +08:00
1 parent 611c30cb20
commit 95f0625781
7 files changed
+317 -20

No files matched your search

@@ -20,6 +20,7 @@ import {
} from "./javascriptSemanticTraversal.js";
import {
evaluateSemanticBinding,
evaluateSemanticExpression,
evaluateSemanticProvenance,
} from "./javascriptSemanticValues.js";
import { range } from "./javascriptStaticAnalysisHelpers.js";
@@ -268,6 +269,17 @@ export const immutableSemanticBindings = (
mutable: binding.mutable,
definitions: binding.definitions,
value: evaluateSemanticBinding(binding, state),
...(binding.memberWrites.length > 0 &&
binding.initializers.length === 1 &&
binding.initializers[0]?.projection.length === 0
? {
initializerValue: evaluateSemanticExpression(
binding.initializers[0].node,
state,
binding.initializers[0].node,
),
}
: {}),
provenance: evaluateSemanticProvenance(binding, state),
}))
.sort((left, right) =>