Repository navigation
impact: a callback given to one instance reaches callers only through that instance - #1837
Merged
swapnilpaliwal-sd merged 5 commits intoSep 30, 2026
Conversation
…s only through that instance - JavaScript engine: a new expression of a class whose instance code calls a value carries its allocation beside the instance; instance-state.dl names the edges that hold only for instances given the callee (constructor option, subscription, injected dependency) and the allocations each caller's receiver may be - a callee that also reaches the class another way (named inside it, returned to it, written onto it from outside, a class hierarchy, an entry with an unknown receiver) is not gated - impact walks a gated edge through the class's own code and leaves it only for a caller whose receiver may be an allocation given the callee, or is unknown; the SQL port does the same Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
swapnilpaliwal-sd
requested review from
JaredHLZhang,
Whua689 and
suyashpaliwal26
as code owners
September 30, 2026 18:57
Contributor
Author
|
This conflicts only on |
…ts after 61 Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…cess and the state relations Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
swapnilpaliwal-sd
deleted the
apps/javascript/per-instance-registration-treated-global
branch
September 30, 2026 22:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A callback handed to ONE object (
new Bus({ validate }),bus.subscribe(pattern, handler), a constructor-injected dependency) was treated as registered on every instance of the class, so every caller of the dispatch method, and every test that used any instance, reached it.resolution/instance-state.dl): anewof a class whose instance code calls a value carries an allocation value beside the instance. New facts name the edges that hold only for instances given the callee, the allocations given it, and the allocation each caller's receiver may be.dl/impact.dl(and the SQL port) carries the gate through the class's own code and applies it where a caller leaves it; an unknown receiver keeps every route.per-instance-registration: constructor option, subscription, and injected dependency; controls for a field-held allocation, an argument-passed allocation, a documented@param, a class-written handler, and an in-class default dependency.Checked: new case 7/7 (3/5 before the fix; controls pass both ways). JS engine suite 88/88. Query cases JS 284, TS 208, Python 278, Java 306, C# 207, all passing. Product: call edges 11,309 = 11,309;
impact validateEventreaches 54 tests instead of 114 (every dropped file checked); probes 57/70 → 57/70 after a same-directory check (one path probe's chain is an id-hash tie-break, same with both engines); warm index 7 s vs 7 s.