mirror of
https://github.com/morluto/rea.git
synced 2026-11-15 11:13:21 +00:00
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:
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) =>
|
||||
|
||||
Reference in new issue
Block a user