Repository navigation
Implement class identity, private values, and runtime heritage - #1973
Merged
Merged
Conversation
added 16 commits
October 4, 2026 21:58
Contributor
|
Important Review skippedToo many files! This PR contains 135 files, which is 35 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configuration
📒 Files selected for processing (135)
You can disable this status message by setting the
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Fix class declaration and evaluation identity across the checker, interpreter, and emitted runtime. Repeated class factories now produce independent guest constructors, prototypes, captured keys, environments, and static initialization. Namespace owners remain distinct, generic constructor assignments use checked structural compatibility, and inline prototype queries emit verifiable IL.
Add canonical unbound private-method values and lexical private-in brand checks, including generic owners, closures, suspension, module ownership, and field installation timing. Runtime-valued heritage retains the selected ordinary user-class parent and dispatches construction, inherited members, super calls, and instanceof on the original child receiver.
Each issue has its own implementation commit; subsequent verification fixes are separate commits. The retained investigation fixtures and design documents record reference outputs, bounded scope, deployment behavior, and conformance limits.
Validation:
--noLib. Targeted feature tests separately verify serialized IL and runtime output.The pinned private-in Test262 selection improves eight cases per engine, with no regressions; three existing parser gaps and eight deferred negatives remain explicitly recorded. The separate private-method selection improves one case per engine without regressions. These bounded selections do not claim full Test262 conformance or Native AOT publication. Dynamic heritage remains limited to the documented ordinary emitted user-class adapter boundary.
CI watch: the first Windows run hit the existing
PromiseMethodTests.All_ResultAssimilatesArrayPrototypeThenempty-output race. Controlled continuation starvation reproduces the same output on unchanged main (0b6f5179) and this branch; the failed-job retry passed. Both CI and Desktop GUI gates are green on the final commit. An independent captured-class-return arrow control also retains the same IL-verifier failure on main and this branch, and is outside the finite feature scope. Neither baseline control is credited as a pass.CodeRabbit skipped automated review because the consolidated 135-file change exceeds its 100-file limit and available review capacity.
Fixes #1961
Fixes #1962
Fixes #1963
Fixes #1964
Fixes #1965
Fixes #1966
Fixes #1967
Fixes #1968