-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Display standalone parameter names by default #67857
Display standalone parameter names by default #67857
Conversation
237c7a9
to
5e7ae18
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM Thanks (iteration 4)
@dotnet/roslyn-compiler for a second review |
@dotnet/roslyn-compiler for a second review |
docs/Breaking API Changes.md
Outdated
`SymbolDisplayFormat.CSharpErrorMessageFormat` and `CSharpShortErrorMessageFormat` now include parameter names by default if used on a standalone `IParameterSymbol`. | ||
For example, parameter `p` in `void M(ref int p)` was previously formatted as `"ref int"` and now it is formatted as `"ref int p"`. | ||
|
||
# Version 4.6.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this version for? #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For Roslyn NuGet package, although I guess this change will land in 4.7.0.
# Version 4.6.0 | |
# Version 4.7.0 |
Did we get an official approval for the breaking change? Otherwise, commit 5 looks good, but I am not signing off yet. |
# Version 4.5.0 | ||
|
||
`SymbolDisplayFormat.CSharpErrorMessageFormat` and `CSharpShortErrorMessageFormat` now include parameter names by default if used on a standalone `IParameterSymbol`. | ||
For example, parameter `p` in `void M(ref int p)` was previously formatted as `"ref int"` and now it is formatted as `"ref int p"`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, we called these 'Display' apis intentionally so that we coudl change them without it being considered a breaking change. I'm fine documenting this though, just wanted to reiterate our position that things that exist for 'display purposes' absolutely can and will change depending on what we think is best for displaying them :)
|
||
### `SymbolDisplayFormat` includes parameter name when invoked on `IParameterSymbol` | ||
|
||
All `SymbolDisplayFormat`s (predefined and user-created) now include parameter names by default if used on a standalone `IParameterSymbol` for consistency with predefined formats (see the breaking change for version 4.5.0 above). | ||
|
||
### Changed `IncrementalStepRunReason` when a modified input produced a new output |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this section is completely unrelated to the goal of this PR #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this section is completely unrelated to the goal of this PR
I guess it came from the parent branch with the merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this PR hasn't touched that section.
Done with review pass (commit 7) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (commit 7)
Closes #67478.
Closes #67632.
Closes #67464.
Motivated by #67478 (comment).
Changes symbol display formatter to include names if used on
IParameterSymbol
directly by default (unless compiler-internal option is specified).