The following code
C#using System;
using System.Linq;
namespace ConsoleApp1
{
internal class Program
{
private static void Main( string[] args )
{
string foo = GetString();
foo += "bar";
Console.WriteLine( foo );
}
private static string GetString() => "baz";
}
}
Causes an "'InlineTempProvider' encountered an error and has been disabled." error with the following stack trace
System.InvalidCastException : Unable to cast object of type 'Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax' to type 'Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax'.
at DevExpress.CodeAnalysis.CSharp.Refactorings.InlineTempRefactoring.GetFirstElement(List`1 references)
at async DevExpress.CodeAnalysis.CSharp.Refactorings.InlineTempRefactoring.CheckForReferencesBetweenLastReference(<Unknown Parameters>)
at async DevExpress.CodeAnalysis.CSharp.Refactorings.InlineTempRefactoring.CheckCommonAvailability(<Unknown Parameters>)
at async DevExpress.CodeAnalysis.CSharp.Refactorings.InlineTempRefactoring.IsAvailableInternal(<Unknown Parameters>)
at async DevExpress.CodeAnalysis.CSharp.Refactorings.InlineTempRefactoring.RefactoringIsAvailable(<Unknown Parameters>)
at async DevExpress.CodeAnalysis.Refactorings.RefactoringProvider.GetAvailableRefactorings(<Unknown Parameters>)
at async DevExpress.CodeAnalysis.Refactorings.RefactoringProvider.ComputeRefactoringsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.GetRefactoringFromProviderAsync(<Unknown Parameters>)
when I press CTRL + . with the cursor on the "foo" declaration.
Hi Dominic,
Thanks for the code snippet. I have managed to reproduce this issue.
We will notify you when we have any results.