You Wish and morluto
355a292198
fix(javascript): preserve uncertainty after references escape to calls ( #1292 )
...
* fix(javascript): preserve uncertainty after references escape to calls
* fix(javascript): track iterator root escapes and preserve static captures
* fix(javascript): scope comparison unknowns to their evidence
* fix(javascript): track parameter origins at function body entry
---------
Co-authored-by: morluto <[email protected] >
2026-10-10 06:53:42 +08:00
morluto
4bcea1aa76
fix(javascript): retain array identity after length mutations
...
Keep unknown element coverage on arrays whose length may have changed, preserving intrinsic length presence and subsequent slot mutations through semantic graph and export-return consumers.
2026-10-10 06:20:28 +08:00
morluto
ad59531a96
refactor: remove forwarding exports and redundant aliases
2026-10-09 22:46:09 +08:00
morluto
475a0f84da
fix(javascript)!: preserve property paths and uncertain slot presence
...
Use one explicit object/array slot model and JSON-pointer property identity across mutation analysis, return projection, and semantic graphs. Require observed presence for discriminants and resolve writes only through retained object or array receivers.
BREAKING CHANGE: projected return fields require explicit presence and semantic object operations carry full property paths.
2026-10-09 20:18:52 +08:00
Matt Van Horn and morluto
45e3edc17f
feat(javascript): report observed export property presence ( #1160 )
...
* feat(javascript): report observed export property presence
Extend compare_javascript_export_shapes so each retained return variant
lists observed property names and each change reports presence independently
of value resolution. Complete parent coverage classifies one-sided names as
added or removed even when static values stay unknown.
Fixes #725
* test(javascript): match unknown export-shape values by availability
Nested availability objects include a reason when values stay unresolved.
Assert availability through objectContaining so presence-only added and
removed rows still verify unknown values.
* fix(javascript): preserve uncertain export property presence and locations
* fix(javascript): normalize presence and preserve local property coverage
* fix(javascript): require present discriminants for return pairing
* fix(javascript): normalize retained shapes before comparison
* refactor(javascript): share return projection with executable examples
* fix(javascript): localize uncertainty for missing mutated slots
* fix(javascript): bind advertised export examples to exact artifacts
* fix(javascript): keep uncertain property flow as candidates
---------
Co-authored-by: morluto <[email protected] >
2026-10-09 18:30:31 +08:00
ysopwnable
f6a58f1062
refactor(javascript): group domain semantics and contracts ( #907 )
2026-10-07 17:16:58 +08:00