dotnet / roslyn

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
MIT License
18.96k stars 4.02k forks source link

Error message when defining named arguments to an implicitly defined tuple #16781

Open OmarTawfik opened 7 years ago

OmarTawfik commented 7 years ago
  1. Create a VB.Net Console Project.
  2. From project options, turn explicit option off.
  3. Inside Sub Main(), type the following line and press Enter afterwards.
x = (first:=1, second:=2)

VS one or more errors occurred dialog pops up, and the following exception appears in ActivityLog.xml:

System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.InvalidCastException: Unable to cast object of type "Microsoft.CodeAnalysis.VisualBasic.Syntax.InvocationExpressionSyntax" to type "Microsoft.CodeAnalysis.VisualBasic.Syntax.IdentifierNameSyntax".
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitNameColonEquals(NameColonEqualsSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.NameColonEqualsSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitSimpleArgument(SimpleArgumentSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleArgumentSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SeparatedSyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitTupleExpression(TupleExpressionSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.TupleExpressionSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.VisitExpression(ExpressionSyntax node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitAssignmentStatement(AssignmentStatementSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.AssignmentStatementSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitMethodBlock(MethodBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.MethodBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitModuleBlock(ModuleBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.ModuleBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitCompilationUnit(CompilationUnitSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.CompilationUnitSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.VB$StateMachine_4_CleanupAsync.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<IterateAllCodeCleanupProvidersAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<CleanupAsync>d__1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Roslyn.Utilities.TaskExtensions.WaitAndGetResult[T](Task`1 task, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit.CommitFormatter.VB$StateMachine_3_CommitRegionAsync.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit.CommitBufferManager.CommitDirty(Boolean isExplicitFormat, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit.CommitViewManager._Lambda$__11-0(IWaitContext waitContext)
   at Microsoft.VisualStudio.LanguageServices.Implementation.Utilities.VisualStudioWaitIndicator.Wait(String title, String message, Boolean allowCancel, Boolean showProgress, Action`1 action)
   at Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit.CommitViewManager.OnLostAggregateFocus(Object sender, EventArgs e)
   at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent(Object sender, EventHandler eventHandlers)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.InvalidCastException: Unable to cast object of type "Microsoft.CodeAnalysis.VisualBasic.Syntax.InvocationExpressionSyntax" to type "Microsoft.CodeAnalysis.VisualBasic.Syntax.IdentifierNameSyntax".
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitNameColonEquals(NameColonEqualsSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.NameColonEqualsSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitSimpleArgument(SimpleArgumentSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleArgumentSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SeparatedSyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitTupleExpression(TupleExpressionSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.TupleExpressionSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.VisitExpression(ExpressionSyntax node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitAssignmentStatement(AssignmentStatementSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.AssignmentStatementSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitMethodBlock(MethodBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.MethodBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitModuleBlock(ModuleBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.ModuleBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitCompilationUnit(CompilationUnitSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.CompilationUnitSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.VB$StateMachine_4_CleanupAsync.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<IterateAllCodeCleanupProvidersAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<CleanupAsync>d__1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Roslyn.Utilities.TaskExtensions.WaitAndGetResult[T](Task`1 task, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit.CommitFormatter.VB$StateMachine_3_CommitRegionAsync.MoveNext()
---> (Inner Exception #0) System.InvalidCastException: Unable to cast object of type "Microsoft.CodeAnalysis.VisualBasic.Syntax.InvocationExpressionSyntax" to type "Microsoft.CodeAnalysis.VisualBasic.Syntax.IdentifierNameSyntax".
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitNameColonEquals(NameColonEqualsSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.NameColonEqualsSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitSimpleArgument(SimpleArgumentSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleArgumentSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SeparatedSyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitTupleExpression(TupleExpressionSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.TupleExpressionSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.VisitExpression(ExpressionSyntax node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitAssignmentStatement(AssignmentStatementSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.AssignmentStatementSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitMethodBlock(MethodBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.MethodBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitModuleBlock(ModuleBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.ModuleBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitListElement[TNode](TNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.VisitCompilationUnit(CompilationUnitSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.CompilationUnitSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.Rewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AddMissingTokensCodeCleanupProvider.AddMissingTokensRewriter.Visit(SyntaxNode node)
   at Microsoft.CodeAnalysis.CodeCleanup.Providers.AbstractTokensCodeCleanupProvider.VB$StateMachine_4_CleanupAsync.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<IterateAllCodeCleanupProvidersAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.CodeAnalysis.CodeCleanup.AbstractCodeCleanerService.<CleanupAsync>d__1.MoveNext()<---
<---
gafter commented 7 years ago

I think we should aim to fix this in 2.0 (RTM), as this is a crash in a core scenario of a new feature.

jcouv commented 7 years ago

@jaredpar Should this be moved out of RTM milestone?

VSadov commented 7 years ago

This is not a compiler bug. CodeCleanup tries to turn Alice:=1 into Alice():=1 , that does not fit into syntax model of := and causes InvalidCast exception

Pilchie commented 7 years ago

Moving back to compiler - didn't we decide that the core problem here is that the tuple element name binds to a method when the IDE calls GetSemanticInfo?

OmarTawfik commented 7 years ago

@VSadov should this still be in 2.1?

VSadov commented 7 years ago

Under no conditions Alice():=1 would fit the syntax model of NameColonEquals.

I do not have other repros, but in theory it does not need to be in a tuple. Whenever there is a case of Alice:=1 and Alice happens to bind to a method, due to a bug or for a valid reason - this crash will reproduce.

CodeCleanup should not make an invalid syntax transformation conditional on semantics.

sharwell commented 7 years ago

Removing Tenet-Reliability since this doesn't cause an application crash.

jinujoseph commented 6 years ago

also reported link

Dorus commented 6 years ago

Re: my report:

I find it interesting that i do not get any error and formatting works just fine with most names but not tab or second.

For example Dim i = {(rr:=1, tab2:=2)} (vb.net code) works just fine, but Dim i = {(rr:=1, tab:=2)} instantly crashes the formatter.

afbeelding

Youssef1313 commented 3 years ago

I cannot reproduce this in 16.10. The only strange behavior I get is that pressing enter moves the caret two lines instead of only one.

@sharwell Should this be closed?