Skip to content

Commit

Permalink
EnC: Check member modifier updates in semantic analysis (#54406)
Browse files Browse the repository at this point in the history
  • Loading branch information
tmat committed Jun 29, 2021
1 parent ef549bc commit 09512f4
Show file tree
Hide file tree
Showing 13 changed files with 1,852 additions and 996 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1867,7 +1867,7 @@ public C() {}
var active = GetActiveStatements(src1, src2);

edits.VerifyRudeDiagnostics(active,
Diagnostic(RudeEditKind.ModifiersUpdate, "const int a = 1", FeaturesResources.const_field));
Diagnostic(RudeEditKind.ModifiersUpdate, "a = 1", FeaturesResources.const_field));
}

[Fact]
Expand Down Expand Up @@ -1917,7 +1917,7 @@ public C() {}
var active = GetActiveStatements(src1, src2);

edits.VerifyRudeDiagnostics(active,
Diagnostic(RudeEditKind.ModifiersUpdate, "const int a = 1, b = 2", FeaturesResources.const_field));
Diagnostic(RudeEditKind.ModifiersUpdate, "a = 1", FeaturesResources.const_field));
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
using Microsoft.CodeAnalysis.EditAndContinue;
using Microsoft.CodeAnalysis.EditAndContinue.UnitTests;
using Microsoft.CodeAnalysis.Text;
using Roslyn.Utilities;
using Xunit;

namespace Microsoft.CodeAnalysis.CSharp.EditAndContinue.UnitTests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
using Microsoft.CodeAnalysis.PooledObjects;
using Microsoft.CodeAnalysis.Text;
using Microsoft.VisualStudio.Debugger.Contracts.EditAndContinue;
using Roslyn.Utilities;
using Xunit;

namespace Microsoft.CodeAnalysis.CSharp.EditAndContinue.UnitTests
Expand All @@ -34,6 +35,17 @@ internal enum MethodKind
ConstructorWithParameters
}

public static string GetResource(string keyword)
=> keyword switch
{
"class" => FeaturesResources.class_,
"struct" => CSharpFeaturesResources.struct_,
"interface" => FeaturesResources.interface_,
"record" => CSharpFeaturesResources.record_,
"record struct" => CSharpFeaturesResources.record_struct,
_ => throw ExceptionUtilities.UnexpectedValue(keyword)
};

internal static SemanticEditDescription[] NoSemanticEdits = Array.Empty<SemanticEditDescription>();

internal static RudeEditDiagnosticDescription Diagnostic(RudeEditKind rudeEditKind, string squiggle, params string[] arguments)
Expand Down
Loading

0 comments on commit 09512f4

Please sign in to comment.