mirror of
https://github.com/morluto/rea
synced 2026-10-28 06:46:47 -04:00
fix(javascript): converge cyclic aliases with explicit projection widening
Replace initializer-history and full-path enumeration with a finite projection join at each source read. Retain conservative local returned-reference effects and disclose precision loss through static, semantic and captured-web results. Close full-binding callback cycles while preserving narrowed read semantics. Fixes #4348 Fixes #5138 Refs #4349 Refs #4364 Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Fuxuan-CN <3072252442@qq.com>
This commit is contained in:
@@ -109,6 +109,8 @@ export interface JavaScriptSemanticAnalysisState {
|
||||
readonly valueResourceLimits: Set<JavaScriptSemanticResourceLimit>;
|
||||
/** Getter query bounds encountered while resolving object and class properties. */
|
||||
readonly getterResourceLimits: Set<JavaScriptSemanticResourceLimit>;
|
||||
/** Callee sites whose possible local returns needed a broader projection. */
|
||||
readonly returnedReferenceWidenings: Set<t.Node>;
|
||||
readonly parentsByNode: WeakMap<t.Node, t.Node>;
|
||||
readonly scopes: JavaScriptSemanticScopeState[];
|
||||
readonly scopesById: Map<string, JavaScriptSemanticScopeState>;
|
||||
|
||||
Reference in New Issue
Block a user