forked from dotnet/roslyn
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make local function default parameter value binding lazy
Current strict binding can cause circularity problems when local functions are referenced. This change causes local functions to use lazy default parameter binding, similar to methods, and then forces their construction when diagnostics are requested for the local function. This also requires a mechanism for recording declaration diagnostics outside of adding to the compilation's DeclarationDiagnostics. A new type, DeclarationDiagnosticStore is introduced as an abstraction to store declaration diagnostics on either the compilation or in a local DiagnosticBag, depending on the needs of the symbol storing diagnostics. Fixes dotnet#16451
- Loading branch information
Showing
18 changed files
with
239 additions
and
275 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.