[x] I have verified that I am running the latest version of DisposableFixer: YOUR_VERSION
[x] I have searched open and closed issues to ensure it has not already been reported
Description
When I hit 'ctrl .' on an undisposed local variable (reader in source), an Exception is thrown.
Source Code
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reactive.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo
{
class Program
{
private IDisposable Field;
private MemoryStream Property { get; } = new MemoryStream();
public Program()
{
Field = new MemoryStream();
var reader = new StreamReader(new MemoryStream(), Encoding.ASCII, true, 1024,true);
Observable.Interval(TimeSpan.FromSeconds(1))
.Do(_ => Console.WriteLine("tick"))
.Subscribe();
}
static void Main(string[] args){}
}
}
Stacktrace of IntroduceFieldAndDisposeInDisposeMethodCodeFixProvider:
System.ArgumentNullException : Value cannot be null.
Parameter name: right
at Microsoft.CodeAnalysis.CSharp.SyntaxFactory.AssignmentExpression(SyntaxKind kind,ExpressionSyntax left,SyntaxToken operatorToken,ExpressionSyntax right)
at async DisposableFixer.CodeFix.IntroduceFieldAndDisposeInDisposeMethodCodeFixProvider.IntroduceFieldAndDisposeInDisposeMethod(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.GetChangedSolutionAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputeOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputePreviewOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.GetPreviewOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedAction.GetPreviewResultAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.PreviewChangesSuggestedAction.CreateAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.GetPreviewChangesFlavor(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.CreateAllFlavors(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformFunctionAsync[T](<Unknown Parameters>)
Stacktrace of WrapAnounymousObjectInUsingCodeFixProvider
System.NotSupportedException : Specified method is not supported.
at async DisposableFixer.CodeFix.WrapAnounymousObjectsInUsingCodeFixProvider.WrapExpressionSyntaxInUsing(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.GetChangedSolutionAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputeOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputePreviewOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.GetPreviewOperationsAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedAction.GetPreviewResultAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.PreviewChangesSuggestedAction.CreateAsync(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.GetPreviewChangesFlavor(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.CreateAllFlavors(<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformFunctionAsync[T](<Unknown Parameters>)
Prerequisites
Description
When I hit 'ctrl .' on an undisposed local variable (reader in source), an Exception is thrown.
Source Code
Stacktrace of IntroduceFieldAndDisposeInDisposeMethodCodeFixProvider:
Stacktrace of WrapAnounymousObjectInUsingCodeFixProvider
Screenshot