diff --git a/src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj b/src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj index 335134e7ad41950308e3a62104dec226c1e33b58..42cfa7b1802e7c8875ede1984d1954edcf33b93d 100644 --- a/src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj +++ b/src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj @@ -332,8 +332,6 @@ - - diff --git a/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests.cs b/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests.cs deleted file mode 100644 index 74e24685d5bb8dcc7d8365c475d37fa89a6d6d2f..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests.cs +++ /dev/null @@ -1,876 +0,0 @@ -using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.CodeFixes.PopulateSwitch; -using Microsoft.CodeAnalysis.CSharp.Diagnostics.PopulateSwitch; -using Microsoft.CodeAnalysis.Diagnostics; -using Roslyn.Test.Utilities; -using System; -using System.Threading.Tasks; -using Xunit; - -namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics.PopulateSwitch -{ - public partial class PopulateSwitchTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest - { - internal override Tuple CreateDiagnosticProviderAndFixer(Workspace workspace) - { - return new Tuple( - new CSharpPopulateSwitchDiagnosticAnalyzer(), new CSharpPopulateSwitchCodeFixProvider()); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task AllMembersAndDefaultExist() - { - await TestMissingAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task AllMembersExist_NotDefault() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_NotDefault() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_WithDefault() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - default: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_NotDefault_EnumHasExplicitType() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum : long - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum : long - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_WithMembersAndDefaultInSection_NewValuesAboveDefaultSection() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.FizzBuzz: - break; - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_WithMembersAndDefaultInSection_AssumesDefaultIsInLastSection() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - default: - break; - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - default: - break; - case MyEnum.FizzBuzz: - break; - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NoMembersExist() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - break; - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task UsingStaticEnum_AllMembersExist() - { - await TestMissingAsync( - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch ([|e|]) - { - case CreateNew: - break; - case Create: - break; - case Open: - break; - case OpenOrCreate: - break; - case Truncate: - break; - case Append: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task UsingStaticEnum_AllMembersExist_OutOfDefaultOrder() - { - await TestMissingAsync( - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch ([|e|]) - { - case CreateNew: - break; - case OpenOrCreate: - break; - case Truncate: - break; - case Open: - break; - case Append: - break; - case Create: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task UsingStaticEnum_MembersExist() - { - await TestAsync( - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch ([|e|]) - { - case CreateNew: - break; - case Create: - break; - case Open: - break; - case OpenOrCreate: - break; - default: - break; - } - } - } -} -", - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch (e) - { - case CreateNew: - break; - case Create: - break; - case Open: - break; - case OpenOrCreate: - break; - case Truncate: - break; - case Append: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task UsingStaticEnum_NoMembersExist() - { - await TestAsync( - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch ([|e|]) - { - } - } - } -} -", - @" -using static System.IO.FileMode; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = Append; - switch (e) - { - case CreateNew: - break; - case Create: - break; - case Open: - break; - case OpenOrCreate: - break; - case Truncate: - break; - case Append: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_EnumIsFlags() - { - await TestMissingAsync( - @" -using System; -namespace ConsoleApplication1 -{ - [Flags] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_EnumIsFlagsAttribute() - { - await TestMissingAsync( - @" -using System; -namespace ConsoleApplication1 -{ - [FlagsAttribute] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_EnumIsFullyQualifiedSystemFlags() - { - await TestMissingAsync( - @" -namespace ConsoleApplication1 -{ - [System.Flags] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_EnumIsFullyQualifiedSystemFlagsAttribute() - { - await TestMissingAsync( - @" -namespace ConsoleApplication1 -{ - [System.FlagsAttribute] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_NotDefault_EnumHasNonFlagsAttribute() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - [System.Obsolete] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - [System.Obsolete] - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_NotDefault_EnumIsNested() - { - await TestAsync( - @" -namespace ConsoleApplication1 -{ - class MyClass - { - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - - void Method() - { - var e = MyEnum.Fizz; - switch ([|e|]) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - } - } - } -} -", - @" -namespace ConsoleApplication1 -{ - class MyClass - { - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - break; - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} -"); - } - - [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - public async Task NotAllMembersExist_SwitchIsNotEnum() - { - await TestMissingAsync( - @" -using System; -namespace ConsoleApplication1 -{ - class MyClass - { - void Method() - { - var e = ""test""; - switch ([|e|]) - { - case ""test1"": - case ""test1"": - default: - break; - } - } - } -} -"); - } - } -} diff --git a/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.cs b/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.cs deleted file mode 100644 index 753889979d01b7b102591f7b193739c3293a78d7..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/CSharpTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.cs +++ /dev/null @@ -1,491 +0,0 @@ -using Roslyn.Test.Utilities; -using System.Threading.Tasks; -using Xunit; - -namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics.PopulateSwitch -{ - public partial class PopulateSwitchTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest - { - [Fact] - [Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - [Trait(Traits.Feature, Traits.Features.CodeActionsFixAllOccurrences)] - public async Task TestFixAllInDocument() - { - var input = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum.Fizz; - switch ({|FixAllInDocument:e|}) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - class MyClass2 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - - - -namespace ConsoleApplication1 -{ - class MyClass3 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -"; - - var expected = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - default: - break; - } - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - class MyClass2 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - - - -namespace ConsoleApplication1 -{ - class MyClass3 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -"; - - await TestAsync(input, expected, compareTokens: false); - } - - [Fact] - [Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - [Trait(Traits.Feature, Traits.Features.CodeActionsFixAllOccurrences)] - public async Task TestFixAllInProject() - { - var input = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum.Fizz; - switch ({|FixAllInProject:e|}) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - class MyClass2 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - - - -namespace ConsoleApplication1 -{ - class MyClass3 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -"; - - var expected = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - class MyClass2 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - default: - break; - } - } - } -} - - - - -namespace ConsoleApplication1 -{ - class MyClass3 - { - void Method() - { - var e = MyEnum.Fizz; - switch (e) - { - case MyEnum.Fizz: - case MyEnum.Buzz: - case MyEnum.FizzBuzz: - break; - } - } - } -} - - -"; - - await TestAsync(input, expected, compareTokens: false); - } - - [Fact] - [Trait(Traits.Feature, Traits.Features.CodeActionsPopulateSwitch)] - [Trait(Traits.Feature, Traits.Features.CodeActionsFixAllOccurrences)] - public async Task TestFixAllInSolution() - { - var input = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum1 - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum1.Fizz; - switch ({|FixAllInSolution:e|}) - { - case MyEnum1.Fizz: - case MyEnum1.Buzz: - case MyEnum1.FizzBuzz: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - enum MyEnum2 - { - Fizz, Buzz, FizzBuzz - } - class MyClass2 - { - void Method() - { - var e = MyEnum2.Fizz; - switch (e) - { - case MyEnum2.Fizz: - case MyEnum2.Buzz: - case MyEnum2.FizzBuzz: - break; - } - } - } -} - - - - -namespace ConsoleApplication2 -{ - enum MyEnum3 - { - Fizz, Buzz, FizzBuzz - } - class MyClass3 - { - void Method() - { - var e = MyEnum3.Fizz; - switch (e) - { - case MyEnum3.Fizz: - case MyEnum3.Buzz: - case MyEnum3.FizzBuzz: - break; - } - } - } -} - - -"; - - var expected = @" - - - -namespace ConsoleApplication1 -{ - enum MyEnum1 - { - Fizz, Buzz, FizzBuzz - } - class MyClass1 - { - void Method() - { - var e = MyEnum1.Fizz; - switch (e) - { - case MyEnum1.Fizz: - case MyEnum1.Buzz: - case MyEnum1.FizzBuzz: - break; - default: - break; - } - } - } -} - - -namespace ConsoleApplication1 -{ - enum MyEnum2 - { - Fizz, Buzz, FizzBuzz - } - class MyClass2 - { - void Method() - { - var e = MyEnum2.Fizz; - switch (e) - { - case MyEnum2.Fizz: - case MyEnum2.Buzz: - case MyEnum2.FizzBuzz: - break; - default: - break; - } - } - } -} - - - - -namespace ConsoleApplication2 -{ - enum MyEnum3 - { - Fizz, Buzz, FizzBuzz - } - class MyClass3 - { - void Method() - { - var e = MyEnum3.Fizz; - switch (e) - { - case MyEnum3.Fizz: - case MyEnum3.Buzz: - case MyEnum3.FizzBuzz: - break; - default: - break; - } - } - } -} - - -"; - - await TestAsync(input, expected, compareTokens: false); - } - } -} diff --git a/src/EditorFeatures/VisualBasicTest/BasicEditorServicesTest.vbproj b/src/EditorFeatures/VisualBasicTest/BasicEditorServicesTest.vbproj index 206e81ef600c694fc6cbab11eaa93f84feb55386..c4ce432c19db612257170d2b228ff39a75b3174a 100644 --- a/src/EditorFeatures/VisualBasicTest/BasicEditorServicesTest.vbproj +++ b/src/EditorFeatures/VisualBasicTest/BasicEditorServicesTest.vbproj @@ -329,8 +329,6 @@ - - diff --git a/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests.vb b/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests.vb deleted file mode 100644 index 750cba7237d2337a72e7daf710f427bc923d93a3..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests.vb +++ /dev/null @@ -1,750 +0,0 @@ -Imports Microsoft.CodeAnalysis.CodeFixes -Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.VisualBasic.CodeFixes.PopulateSwitch -Imports Microsoft.CodeAnalysis.VisualBasic.Diagnostics.PopulateSwitch - -Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Diagnostics.PopulateSwitch - Partial Public Class PopulateSwitchTests - Inherits AbstractVisualBasicDiagnosticProviderBasedUserDiagnosticTest - - Friend Overrides Function CreateDiagnosticProviderAndFixer(workspace As Workspace) As Tuple(Of DiagnosticAnalyzer, CodeFixProvider) - Return New Tuple(Of DiagnosticAnalyzer, CodeFixProvider)(New VisualBasicPopulateSwitchDiagnosticAnalyzer(), New VisualBasicPopulateSwitchCodeFixProvider()) - End Function - - - Public Async Function AllMembersAndElseExist() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function AllMembersExist_NotElse() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_NotElse() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_WithElse() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_NotElse_EnumHasExplicitType() As Task - Dim markup = - -Enum MyEnum As Long - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum As Long - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_WithMembersAndElseInBlock_NewValuesAboveElseBlock() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Case Else - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case MyEnum.Buzz - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NoMembersExist() As Task - Dim markup = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - End Select - End Sub -End Class - - - Dim expected = - -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function ImportsEnum_AllMembersExist() As Task - Dim markup = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case [|e|] - Case CreateNew - Exit Select - Case Create - Exit Select - Case Open - Exit Select - Case OpenOrCreate - Exit Select - Case Truncate - Exit Select - Case Append - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function ImportsEnum_AllMembersExist_OutOfDefaultOrder() As Task - Dim markup = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case [|e|] - Case Truncate - Exit Select - Case Append - Exit Select - Case CreateNew - Exit Select - Case Open - Exit Select - Case OpenOrCreate - Exit Select - Case Create - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function ImportsEnum_NotAllMembersExist() As Task - Dim markup = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case [|e|] - Case CreateNew - Exit Select - Case Create - Exit Select - Case Open - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case e - Case CreateNew - Exit Select - Case Create - Exit Select - Case Open - Exit Select - Case System.IO.FileMode.OpenOrCreate - Exit Select - Case System.IO.FileMode.Truncate - Exit Select - Case System.IO.FileMode.Append - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function ImportsEnum_NoMembersExist() As Task - Dim markup = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case [|e|] - - End Select - End Sub -End Class - - - Dim expected = - -Imports System.IO.FileMode -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = CreateNew - Select Case e - Case System.IO.FileMode.CreateNew - Exit Select - Case System.IO.FileMode.Create - Exit Select - Case System.IO.FileMode.Open - Exit Select - Case System.IO.FileMode.OpenOrCreate - Exit Select - Case System.IO.FileMode.Truncate - Exit Select - Case System.IO.FileMode.Append - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_EnumIsFlags() As Task - Dim markup = - -Imports System -<Flags> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function NotAllMembersExist_EnumIsFlagsAttribute() As Task - Dim markup = - -Imports System -<FlagsAttribute> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function NotAllMembersExist_EnumIsFullyQualifiedSystemFlags() As Task - Dim markup = - -<System.Flags> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function NotAllMembersExist_EnumIsFullyQualifiedSystemFlagsAttribute() As Task - Dim markup = - -<System.FlagsAttribute> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - - - Public Async Function NotAllMembersExist_EnumHasNonFlagsAttribute() As Task - Dim markup = - -<System.Obsolete> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -<System.Obsolete> -Enum MyEnum - Fizz - Buzz - FizzBuzz -End Enum -Class Foo - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_EnumIsNested() As Task - Dim markup = - -Class Foo - Enum MyEnum - Fizz - Buzz - FizzBuzz - End Enum - Sub Bar() - Dim e = MyEnum.Fizz - Select Case [|e|] - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - End Select - End Sub -End Class - - - Dim expected = - -Class Foo - Enum MyEnum - Fizz - Buzz - FizzBuzz - End Enum - Sub Bar() - Dim e = MyEnum.Fizz - Select Case e - Case MyEnum.Fizz - Exit Select - Case MyEnum.Buzz - Exit Select - Case MyEnum.FizzBuzz - Exit Select - Case Else - Exit Select - End Select - End Sub -End Class - - - Await TestAsync(markup, expected, compareTokens:=False) - End Function - - - Public Async Function NotAllMembersExist_SwitchIsNotEnum() As Task - Dim markup = - -Class Foo - Sub Bar() - Dim e = "Test" - Select Case [|e|] - Case "Fizz" - Exit Select - Case Test" - Exit Select - End Select - End Sub -End Class - - - Await TestMissingAsync(markup) - End Function - End Class -End Namespace \ No newline at end of file diff --git a/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.vb b/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.vb deleted file mode 100644 index fab9e7cbd8f4dc009b0ef44d42c00f7f69e1ea3d..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/VisualBasicTest/PopulateSwitch/PopulateSwitchTests_FixAllTests.vb +++ /dev/null @@ -1,460 +0,0 @@ -Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Diagnostics.PopulateSwitch - Partial Public Class PopulateSwitchTests - Inherits AbstractVisualBasicDiagnosticProviderBasedUserDiagnosticTest - - - - - Public Async Function TestFixAllInDocument() As Task - Dim input = - - - - - - - - Assembly1 - - - - .ToString() - - Dim expected = - - - - - - - - Assembly1 - - - - .ToString() - - Await TestAsync(input, expected, compareTokens:=False, fixAllActionEquivalenceKey:=Nothing) - End Function - - - - - Public Async Function TestFixAllInProject() As Task - Dim input = - - - - - - - - Assembly1 - - - - .ToString() - - Dim expected = - - - - - - - - Assembly1 - - - - .ToString() - - Await TestAsync(input, expected, compareTokens:=False, fixAllActionEquivalenceKey:=Nothing) - End Function - - - - - Public Async Function TestFixAllInSolution() As Task - Dim input = - - - - - - - - Assembly1 - - - - .ToString() - - Dim expected = - - - - - - - - Assembly1 - - - - .ToString() - - Await TestAsync(input, expected, compareTokens:=False, fixAllActionEquivalenceKey:=Nothing) - End Function - End Class -End Namespace \ No newline at end of file diff --git a/src/Features/CSharp/Portable/CSharpFeatures.csproj b/src/Features/CSharp/Portable/CSharpFeatures.csproj index 615ca64a35e4f43b9a5b38480718c80a9a90d3e3..c28338a5a5df3ffe4368e37087b766fbea190976 100644 --- a/src/Features/CSharp/Portable/CSharpFeatures.csproj +++ b/src/Features/CSharp/Portable/CSharpFeatures.csproj @@ -349,9 +349,6 @@ - - - diff --git a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchCodeFixProvider.cs b/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchCodeFixProvider.cs deleted file mode 100644 index 2f36d6f9d54b49270894f55e8ebed2fc79062691..0000000000000000000000000000000000000000 --- a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchCodeFixProvider.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Collections.Generic; -using System.Composition; -using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.PopulateSwitch; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Microsoft.CodeAnalysis.Text; - -namespace Microsoft.CodeAnalysis.CSharp.CodeFixes.PopulateSwitch -{ - [ExportCodeFixProvider(LanguageNames.CSharp, Name = PredefinedCodeFixProviderNames.PopulateSwitch), Shared] - [ExtensionOrder(After = PredefinedCodeFixProviderNames.ImplementInterface)] - internal class CSharpPopulateSwitchCodeFixProvider : AbstractPopulateSwitchCodeFixProvider - { - protected override ExpressionSyntax GetSwitchExpression(SwitchStatementSyntax switchStatement) => switchStatement.Expression; - - protected override int InsertPosition(SyntaxList sections) => sections.Count - 1; - - protected override SyntaxList GetSwitchSections(SwitchStatementSyntax switchStatement) - => switchStatement.Sections; - - protected override SwitchStatementSyntax NewSwitchNode(SwitchStatementSyntax switchStatement, SyntaxList sections) => - switchStatement.WithSections(SyntaxFactory.List(sections)); - - protected override List GetCaseLabels(SwitchStatementSyntax switchStatement, out bool containsDefaultLabel) - => CSharpPopulateSwitchHelpers.GetCaseLabels(switchStatement, out containsDefaultLabel); - } -} diff --git a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchDiagnosticAnalyzer.cs b/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchDiagnosticAnalyzer.cs deleted file mode 100644 index dbb599955ec87d48b178146954413983040451b4..0000000000000000000000000000000000000000 --- a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchDiagnosticAnalyzer.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.Diagnostics.PopulateSwitch; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using System.Collections.Generic; -using System.Collections.Immutable; -using Microsoft.CodeAnalysis.CSharp.PopulateSwitch; - -namespace Microsoft.CodeAnalysis.CSharp.Diagnostics.PopulateSwitch -{ - [DiagnosticAnalyzer(LanguageNames.CSharp)] - internal sealed class CSharpPopulateSwitchDiagnosticAnalyzer : AbstractPopulateSwitchDiagnosticAnalyzerBase - { - protected override ImmutableArray SyntaxKindsOfInterest { get; } = ImmutableArray.Create(SyntaxKind.SwitchStatement); - - protected override ExpressionSyntax GetExpression(SwitchStatementSyntax switchBlock) => switchBlock.Expression; - - protected override List GetCaseLabels(SwitchStatementSyntax switchBlock, out bool hasDefaultCase) - => CSharpPopulateSwitchHelpers.GetCaseLabels(switchBlock, out hasDefaultCase); - } -} diff --git a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchHelpers.cs b/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchHelpers.cs deleted file mode 100644 index 55b1f656388065c6c84a41750507f103ea16c968..0000000000000000000000000000000000000000 --- a/src/Features/CSharp/Portable/PopulateSwitch/CSharpPopulateSwitchHelpers.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Collections.Generic; -using Microsoft.CodeAnalysis.CSharp.Syntax; - -namespace Microsoft.CodeAnalysis.CSharp.PopulateSwitch -{ - internal static class CSharpPopulateSwitchHelpers - { - public static List GetCaseLabels(SwitchStatementSyntax switchStatement, out bool containsDefaultLabel) - { - containsDefaultLabel = false; - - var caseLabels = new List(); - foreach (var section in switchStatement.Sections) - { - foreach (var label in section.Labels) - { - var caseLabel = label as CaseSwitchLabelSyntax; - if (caseLabel != null) - { - caseLabels.Add(caseLabel.Value); - } - - if (label.IsKind(SyntaxKind.DefaultSwitchLabel)) - { - containsDefaultLabel = true; - } - } - } - - return caseLabels; - } - } -} \ No newline at end of file diff --git a/src/Features/VisualBasic/Portable/BasicFeatures.vbproj b/src/Features/VisualBasic/Portable/BasicFeatures.vbproj index e78a705104e2e65d19ba2412e1522fb3c14c7a2c..b55cbc3e9bb414704e7d6d33de24a106be196eef 100644 --- a/src/Features/VisualBasic/Portable/BasicFeatures.vbproj +++ b/src/Features/VisualBasic/Portable/BasicFeatures.vbproj @@ -116,8 +116,6 @@ - - @@ -369,7 +367,6 @@ - diff --git a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchCodeFixProvider.vb b/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchCodeFixProvider.vb deleted file mode 100644 index bec9553fe2678ba2d90f90afa001afb1c1d54aad..0000000000000000000000000000000000000000 --- a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchCodeFixProvider.vb +++ /dev/null @@ -1,48 +0,0 @@ -Imports System.Composition -Imports System.Runtime.InteropServices -Imports Microsoft.CodeAnalysis.CodeFixes -Imports Microsoft.CodeAnalysis.CSharp.CodeFixes.PopulateSwitch -Imports Microsoft.CodeAnalysis.Text -Imports Microsoft.CodeAnalysis.VisualBasic.PopulateSwitch -Imports Microsoft.CodeAnalysis.VisualBasic.Syntax - -Namespace Microsoft.CodeAnalysis.VisualBasic.CodeFixes.PopulateSwitch - - - Partial Friend Class VisualBasicPopulateSwitchCodeFixProvider - Inherits AbstractPopulateSwitchCodeFixProvider(Of SelectBlockSyntax, ExpressionSyntax, CaseBlockSyntax) - - Protected Overrides Function GetSwitchExpression(selectBlock As SelectBlockSyntax) As ExpressionSyntax - Return selectBlock.SelectStatement.Expression - End Function - - Protected Overrides Function InsertPosition(sections As SyntaxList(Of CaseBlockSyntax)) As Integer - Dim cases = sections.OfType(Of CaseBlockSyntax).ToList() - Dim numOfBlocksWithNoStatementsWithElse = 0 - - ' skip the `Else` block - For i = cases.Count - 2 To 0 Step -1 - If Not cases.ElementAt(i).Statements.Count = 0 - - ' insert the values immediately below the last item with statements - numOfBlocksWithNoStatementsWithElse = i + 1 - Exit For - End If - Next - - Return numOfBlocksWithNoStatementsWithElse - End Function - - Protected Overrides Function GetSwitchSections(selectBlock As SelectBlockSyntax) As SyntaxList(Of CaseBlockSyntax) - Return selectBlock.CaseBlocks - End Function - - Protected Overrides Function NewSwitchNode(selectBlock As SelectBlockSyntax, sections As SyntaxList(Of CaseBlockSyntax)) As SelectBlockSyntax - Return selectBlock.WithCaseBlocks(SyntaxFactory.List(sections)) - End Function - - Protected Overrides Function GetCaseLabels(selectBlock As SelectBlockSyntax, ByRef containsDefaultLabel As Boolean) As List(Of ExpressionSyntax) - Return VisualBasicPopulateSwitchHelperClass.GetCaseLabels(selectBlock, containsDefaultLabel) - End Function - End Class -End Namespace \ No newline at end of file diff --git a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchDiagnosticAnalyzer.vb b/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchDiagnosticAnalyzer.vb deleted file mode 100644 index eb71b4a7eca472672d2746457a80c5adb3ddff6b..0000000000000000000000000000000000000000 --- a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchDiagnosticAnalyzer.vb +++ /dev/null @@ -1,24 +0,0 @@ -Imports System.Collections.Immutable -Imports System.Runtime.InteropServices -Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.Diagnostics.PopulateSwitch -Imports Microsoft.CodeAnalysis.VisualBasic.PopulateSwitch -Imports Microsoft.CodeAnalysis.VisualBasic.Syntax - -Namespace Microsoft.CodeAnalysis.VisualBasic.Diagnostics.PopulateSwitch - - - Friend NotInheritable Class VisualBasicPopulateSwitchDiagnosticAnalyzer - Inherits AbstractPopulateSwitchDiagnosticAnalyzerBase(Of SyntaxKind, SelectBlockSyntax, ExpressionSyntax) - - Protected Overrides Function GetCaseLabels(selectBlock As SelectBlockSyntax, ByRef hasDefaultCase As Boolean) As List(Of ExpressionSyntax) - Return VisualBasicPopulateSwitchHelperClass.GetCaseLabels(selectBlock, hasDefaultCase) - End Function - - Protected Overrides ReadOnly Property SyntaxKindsOfInterest As ImmutableArray(Of SyntaxKind) = ImmutableArray.Create(SyntaxKind.SelectBlock) - - Protected Overrides Function GetExpression(selectBlock As SelectBlockSyntax) As ExpressionSyntax - Return selectBlock.SelectStatement.Expression - End Function - End Class -End Namespace diff --git a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchHelpers.vb b/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchHelpers.vb deleted file mode 100644 index 98f8316a32e7441273b78933e841c04fd25e93c8..0000000000000000000000000000000000000000 --- a/src/Features/VisualBasic/Portable/PopulateSwitch/VisualBasicPopulateSwitchHelpers.vb +++ /dev/null @@ -1,28 +0,0 @@ -Imports System.Runtime.InteropServices -Imports Microsoft.CodeAnalysis.VisualBasic.Syntax - -Namespace Microsoft.CodeAnalysis.VisualBasic.PopulateSwitch - Friend Module VisualBasicPopulateSwitchHelperClass - Public Function GetCaseLabels(selectBlock As SelectBlockSyntax, ByRef containsDefaultLabel As Boolean) As List(Of ExpressionSyntax) - containsDefaultLabel = False - - Dim caseLabels = New List(Of ExpressionSyntax) - For Each block In selectBlock.CaseBlocks - For Each caseSyntax In block.CaseStatement.Cases - - Dim simpleCaseClause = TryCast(caseSyntax, SimpleCaseClauseSyntax) - If Not simpleCaseClause Is Nothing - caseLabels.Add(simpleCaseClause.Value) - Continue For - End If - - If caseSyntax.IsKind(SyntaxKind.ElseCaseClause) - containsDefaultLabel = True - End If - Next - Next - - Return caseLabels - End Function - End Module -End Namespace \ No newline at end of file