feat(electron): resolve stable local constant window options

Resolve stable local constant BrowserWindow options with retained provenance and shared early-exit mutation queries. Preserve source ordering and unknown results for relevant mutations or escapes.

Includes real Joplin correctness/cost receipts and regression coverage.

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
This commit is contained in:
Ysopwnable
2026-10-16 14:52:33 +08:00
committed by GitHub
parent 5a77acfbcd
commit d72d856f58
20 changed files with 4544 additions and 64 deletions
@@ -163,11 +163,21 @@ export interface JavaScriptBindingIndex {
readonly bindings: JavaScriptSemanticAnalysisState;
indexAmbientWritesSteps(): Generator<void, void>;
indexMemberMutationFactsSteps(): Generator<void, void>;
/** Resolve certain lexical ownership without collecting mutation reports. */
bindingForReferenceAt(
referenceNode: t.Node,
): JavaScriptSemanticBindingState | undefined;
effectsForReferenceAt(
site: t.Node,
referenceNode: t.Node,
propertyPath?: JavaScriptSemanticPropertyPath,
): JavaScriptSemanticReferenceEffectsAtSite;
/** Stop at the first relevant prior/uncertain effect without retaining a report. */
referenceMayHaveChangedAt(
site: t.Node,
referenceNode: t.Node,
propertyPath?: JavaScriptSemanticPropertyPath,
): boolean;
referencesSteps(): Generator<void, readonly JavaScriptSemanticReference[]>;
}