Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge feature 'partial events and constructors' to main #77410

Merged
merged 12 commits into from
Mar 5, 2025

Conversation

jjonescz
Copy link
Member

@jjonescz jjonescz commented Mar 4, 2025

Test plan: #76859

jjonescz and others added 12 commits January 28, 2025 14:08
* Parse partial events and constructors

* Update pre-existing tests

* Explain why partial ctors are sometimes disallowed

* Parse `partial` constructors unconditionally

* Gate parsing on LangVersion

* Extend tests and docs

* Fix indentation

* Rename combinatorial values

* Test more lang versions

* Parse partial events unconditionally
* Partial events and constructors: merge and check symbols

* Improve code

* Move partial availability check

* Improve code

* Fix duplicate definition diagnostic

* Test different ordering

* Avoid reporting diagnostic for escaped `partial`

* Clarify naming of AccessorsHaveImplementation property

* Add event definition accessor symbol

* Improve code

* Test sequence points

* Test extern IL

* Fix interface container diagnostics

* Fix sequence points issue in the test utility

* Ensure the new accessor owner is a definition
* Partial events and constructors: check differences

* Improve code and tests

* Complete constructor implementation part

* Report error for tuple differences in constructors
* Partial events and constructors: attributes

* Update pre-existing tests

* Fixup expected PEVerify output

* Check a flag before materializing syntax nodes

* Assert that the definition part of an event doesn't have accessors

* Keep pre-existing event attribute target behavior

* Improve code

* Add WorkItem attribute

* Strengthen asserts

Co-authored-by: Rikki Gibson <rikkigibson@gmail.com>

---------

Co-authored-by: Rikki Gibson <rikkigibson@gmail.com>
* Partial events and constructors: public API

* Simplify code

* Add more `sealed`

* Add more asserts
* Partial events and constructors: IDE

* Fix event keyword recommender

* Fix symbol suggestions

* Fixup failing tests

* Fixup SymbolKey

* Improve code

* Use `Equal` instead of `Same` in SymbolKey tests

* Extend a test

* Use collection expressions

Co-authored-by: Cyrus Najmabadi <cyrus.najmabadi@gmail.com>

---------

Co-authored-by: Cyrus Najmabadi <cyrus.najmabadi@gmail.com>
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged Issues and PRs which have not yet been triaged by a lead label Mar 4, 2025
@dotnet-policy-service dotnet-policy-service bot added VSCode Needs API Review Needs to be reviewed by the API review council labels Mar 4, 2025
@jjonescz jjonescz marked this pull request as ready for review March 4, 2025 16:44
@jjonescz jjonescz requested review from a team as code owners March 4, 2025 16:44
@jjonescz
Copy link
Member Author

jjonescz commented Mar 4, 2025

@jaredpar @cston @RikkiGibson @dotnet/roslyn-compiler for a sign off, thanks

Copy link
Contributor

@RikkiGibson RikkiGibson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually @jaredpar signs off on feature merges to main but he may be unavailable to do so this week.

@jjonescz jjonescz merged commit 371953b into dotnet:main Mar 5, 2025
28 checks passed
@jjonescz jjonescz deleted the PartialEventsCtors-13-MergeToMain branch March 5, 2025 10:30
@dotnet-policy-service dotnet-policy-service bot added this to the Next milestone Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Feature - Partial Events and Constructors Needs API Review Needs to be reviewed by the API review council untriaged Issues and PRs which have not yet been triaged by a lead VSCode
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants