Skip to content

Fix parsing bug in invalid using statements#36428

Merged
chsienki merged 1 commit intodotnet:masterfrom
chsienki:fix_36413
Jun 17, 2019
Merged

Fix parsing bug in invalid using statements#36428
chsienki merged 1 commit intodotnet:masterfrom
chsienki:fix_36413

Conversation

@chsienki
Copy link
Copy Markdown
Member

Don't exit early when parsing invalid local declarations if we know that it couldn't be a local function

Fixes #36413

@chsienki chsienki requested a review from a team as a code owner June 13, 2019 21:33
@chsienki chsienki added Area-Compilers Feature - enhanced using Using pattern and declaration labels Jun 13, 2019
@chsienki chsienki added this to the 16.3 milestone Jun 13, 2019
@chsienki
Copy link
Copy Markdown
Member Author

@dotnet/roslyn-compiler for review please

@jcouv jcouv modified the milestones: 16.3, 16.2.P4 Jun 14, 2019
@jcouv
Copy link
Copy Markdown
Member

jcouv commented Jun 14, 2019

Did the tests you added crash before the fix?
It sounded from the issue that the crash would only occur in incremental parsing. If that's the case, could you add an incremental parsing test as well?

Copy link
Copy Markdown
Member

@jcouv jcouv left a comment

Choose a reason for hiding this comment

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

LGTM Thanks (iteration 1) with a test question

@jcouv jcouv self-assigned this Jun 14, 2019
@chsienki
Copy link
Copy Markdown
Member Author

The tests don't specifically crash; the crash is caused by an underlying bug in parsing, that causes the IDE to try and access beyond the bounds of the text. These tests ensure the parsing works correctly now.

You can trivially reproduce the issue in VS before this fix. F5 and running with the fix confirms the bug is gone with the correct parsing.

@chsienki chsienki merged commit cad93d5 into dotnet:master Jun 17, 2019
333fred added a commit to 333fred/roslyn that referenced this pull request Jun 18, 2019
…-types

* dotnet/master: (63 commits)
  Fix stack overflow in requesting syntax directives (dotnet#36347)
  crash on ClassifyUpdate for EventFields (dotnet#35962)
  Disable move type when the options service isn't present (dotnet#36334)
  Fix crash where type inference doing method inference needs to drop nullability
  Fix parsing bug in invalid using statements (dotnet#36428)
  Do not suggest or diagnose use compound assignment when right hand of binary operator is a throw expression
  Add option to emit nullable metadata for public members only (dotnet#36398)
  Added null checks on F# external access services (dotnet#36469)
  Deal with discovering extra .editorconfig files
  Re-enable MSBuildWorkspaceTests.TestEditorConfigDiscovery
  Add support to VisualStudioMSBuildInstalled to support minimum versions
  Fix configuration of accessibilities in editorconfig
  Shorten a resource ID
  Revert "Extract the RDT implementation for Misc files and VS open file tracker"
  Add nullability support to use local function
  Add EditorFeatures.WPF dependency to F# ExternalAccess
  Ensure NullableWalker.AsMemberOfType locates the right new container for the member. (dotnet#36406)
  Replace `dynamic` with `object` when substituting constraints. (dotnet#36379)
  Add some string descriptions
  Adjust type of out var based on parameter state (dotnet#36284)
  ...
333fred added a commit to 333fred/roslyn that referenced this pull request Jun 20, 2019
* dotnet/master: (85 commits)
  Don't complete statement when typing semicolon inside comments in an argument list (dotnet#36521)
  Set focus to editor before finding text
  Add a bunch of nullability support to some code generation helpers
  Add 'annotations' and 'warnings' support to nullable directive (dotnet#36464)
  Fixed IDE services touching `notnull` constraint (dotnet#36508)
  Update compiler toolset to arcade version (dotnet#36549)
  Fix for 923157
  Do not include value types in NullableAttribute byte[] (dotnet#36519)
  Fix a deadlock in InvokeOnUIThread
  Apply a hang mitigating timeout to UI thread operations
  Move to a different lowering from for nullable value types to work around a bug in TransformCompoundAssignmentLHS. Addressed PR feedback.
  Fix stack overflow in requesting syntax directives (dotnet#36347)
  crash on ClassifyUpdate for EventFields (dotnet#35962)
  fixing bad merge with refactoring that was checked in later
  added basic completion statement telemetry
  Remove duplication in AbstractSymbolCompletionProvider.CreateItems
  Disable move type when the options service isn't present (dotnet#36334)
  Fix crash where type inference doing method inference needs to drop nullability
  Revert "Use IVsSolution to look up IVsHierarchy by project GUID (dotnet#35746)"
  Fix parsing bug in invalid using statements (dotnet#36428)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Compilers Feature - enhanced using Using pattern and declaration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incremental parsing breaks and crashes VS when adding using variable declaration with incorrect modifiers

3 participants