/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/Test2/FindReferences/FindReferencesTests.LocalSymbols.vb
655 строк
19 KB
Cyrus Najmabadi
Organize VB imports
27 июн 2025, 21:53
27 июн 2025, 21:53
e9c47fd
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports Microsoft.CodeAnalysis.Remote.Testing Namespace Microsoft.CodeAnalysis.Editor.UnitTests.FindReferences <Trait(Traits.Feature, Traits.Features.FindReferences)> Partial Public Class FindReferencesTests <WpfTheory, CombinatorialData> Public Async Function TestLocal(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> class C { void Goo() { int {|Definition:$$i|} = 0; Console.WriteLine([|i|]); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WorkItem("https://github.com/dotnet/roslyn/issues/10714")> <WpfTheory, CombinatorialData> Public Async Function TestLocalInAutoPropInitializer(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; class Program { public Action<object> Test { get; set; } = test => { var $${|Definition:goo|} = 1; [|goo|] = 3; }; } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocalInFieldInitializerLambda1(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; class C { Action a = () => { int $${|Definition:i|} = 0; Console.WriteLine([|i|]); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocalInFieldInitializerLambda2(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; class C { Action a = () => { int {|Definition:i|} = 0; Console.WriteLine([|$$i|]); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocalCaseSensitivity(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> class C { void Goo() { int {|Definition:$$i|} = 0; Console.WriteLine(I); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocalCaseInsensitivity(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> class C sub Goo() dim {|Definition:$$i|} = 0 Console.WriteLine([|i|]) Console.WriteLine([|I|]) Console.WriteLine(x) end sub end class </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WorkItem("http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/530636")> <WpfTheory, CombinatorialData> Public Async Function TestLocalInLambdaInField1(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Module M Dim a = Sub() If True Then Dim {|Definition:$$x|} = 1, y = [|x|] + 1 Else Return End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WorkItem("http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/530636")> <WpfTheory, CombinatorialData> Public Async Function TestLocalInLambdaInField2(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Module M Dim a = Sub() If True Then Dim {|Definition:x|} = 1, y = [|$$x|] + 1 Else Return End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <WorkItem("http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608210")> Public Async Function TestLocalInPropertyInitializer(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Class C Property A As Action = Sub() Dim {|Definition:$$x|} = 1 Dim y = [|x|] Dim z = [|x|] End Sub End Class </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <WorkItem("https://github.com/dotnet/roslyn/issues/2667")> Public Async Function TestLocalWithWithStatement(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Class C Public Property P As String Public Property L As New List(Of String) Sub M() Dim {|Definition:$$x|} As New C With [|x|] .P = "abcd" End With With [|x|].L .Add("efgh") End With End Function End Class </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function #Region "FAR on collection initializers" <WpfTheory, CombinatorialData> Public Async Function TestLocal_CSharpNamedIdentifiersUsedInNestedColInit(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class C { void M() { var list = new List<int> { 13, 21, 34 }; int {|Definition:$$i|} = 5; int j = 6; var col = new List<List<int>> {list, new List<int> { [|i|], j } }; } }]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocal_VBNamedIdentifiersUsedInNestedColInit(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document><![CDATA[ Class C sub M() Dim list = new List(of Integer) From {12, 21} Dim {|Definition:$$i|} = 1 Dim j = 6 Dim col = New List(Of List(Of Integer)) From {{list}, {New List(Of Integer) From {[|i|], j}}} End Sub End Class]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocal_CSharpNamedIdentifiersUsedInAVeryLongColInitExp(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class C { void M() { int {|Definition:$$bird|} = 4; var bedbug = new List<bool> { [|bird|] == 92, ([|bird|] | 1) == 0, (((([|bird|] * [|bird|] / /*RN2*/[|bird|]) % ([|bird|] / 5)) | ([|bird|] - ([|bird|] / 5))) & [|bird|]) == 1 }; } }]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocal_VBNamedIdentifiersUsedInAVeryLongColInitEx(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document><![CDATA[ Class C sub M() Dim {|Definition:$$bird|} = 4 Dim col = New List(Of Boolean)() From { [|bird|] = 92, ([|bird|] Or 1) = 0, (((([|bird|] * [|bird|] \ [|bird|]) Mod([|bird|] \ 5)) Or([|bird|] -([|bird|] \ 5))) And [|bird|]) = 1 } End Sub End Class]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function #End Region <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_CS_01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; static class Program { static void Main() { (int elem1, int elem2) tuple; int {|Definition:$$elem2|}; tuple = (5, 6); tuple.elem2 = 23; [|elem2|] = 10; Console.WriteLine(tuple.elem2); Console.WriteLine([|elem2|]); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_CS_02(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; static class Program { static void Main() { (int elem1, int elem2) tuple; int {|Definition:elem2|}; tuple = (5, 6); tuple.elem2 = 23; [|elem2|] = 10; Console.WriteLine(tuple.elem2); Console.WriteLine([|$$elem2|]); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_CS_03(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; static class Program { static void Main() { (int elem1, int {|Definition:$$elem2|}) tuple; int elem2; tuple = (5, 6); tuple.[|elem2|] = 23; elem2 = 10; Console.WriteLine(tuple.[|elem2|]); Console.WriteLine(elem2); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_CS_04(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> using System; static class Program { static void Main() { (int elem1, int {|Definition:elem2|}) tuple; int elem2; tuple = (5, 6); tuple.[|elem2|] = 23; elem2 = 10; Console.WriteLine(tuple.[|$$elem2|]); Console.WriteLine(elem2); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_VB_01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Imports System Module C Sub Main() Dim tuple As (elem1 As Integer, elem2 As Integer) Dim {|Definition:$$elem2|} As Integer tuple = (5, 6) tuple.elem2 = 23 [|elem2|] = 10 Console.WriteLine(tuple.elem2) Console.WriteLine([|elem2|]) End Sub End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_VB_02(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Imports System Module C Sub Main() Dim tuple As (elem1 As Integer, elem2 As Integer) Dim {|Definition:elem2|} As Integer tuple = (5, 6) tuple.elem2 = 23 [|elem2|] = 10 Console.WriteLine(tuple.elem2) Console.WriteLine([|$$elem2|]) End Sub End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_VB_03(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Imports System Module C Sub Main() Dim tuple As (elem1 As Integer, {|Definition:$$elem2|} As Integer) Dim elem2 As Integer tuple = (5, 6) tuple.[|elem2|] = 23 elem2 = 10 Console.WriteLine(tuple.[|elem2|]) Console.WriteLine(elem2) End Sub End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <CompilerTrait(CompilerFeature.Tuples)> <WorkItem("https://github.com/dotnet/roslyn/issues/14881")> <WorkItem("https://github.com/dotnet/roslyn/issues/15476")> Public Async Function TupleElementVsLocal_VB_04(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="Visual Basic" CommonReferences="true"> <Document> Imports System Module C Sub Main() Dim tuple As (elem1 As Integer, {|Definition:elem2|} As Integer) Dim elem2 As Integer tuple = (5, 6) tuple.[|elem2|] = 23 elem2 = 10 Console.WriteLine(tuple.[|$$elem2|]) Console.WriteLine(elem2) End Sub End Module </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestLocal_ValueUsageInfo(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> class C { void Goo() { int {|Definition:$$i|} = 0; Console.WriteLine({|ValueUsageInfo.Read:[|i|]|}); {|ValueUsageInfo.Write:[|i|]|} = 0; {|ValueUsageInfo.ReadWrite:[|i|]|}++; Goo2(in {|ValueUsageInfo.ReadableReference:[|i|]|}, ref {|ValueUsageInfo.ReadableWritableReference:[|i|]|}); Goo3(out {|ValueUsageInfo.WritableReference:[|i|]|}); Console.WriteLine(nameof({|ValueUsageInfo.Name:[|i|]|})); } void Goo2(in int j, ref int k) { } void Goo3(out int i) { i = 0; } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <WorkItem("https://github.com/dotnet/roslyn/issues/50589")> Public Async Function TestLocal_NoMatchWithImplicitObjectNamedParameter_1(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> class C { C(int goo) { } C M() { var {|Definition:$$goo|} = 1; return new(goo: 2); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <WorkItem("https://github.com/dotnet/roslyn/issues/50589")> Public Async Function TestLocal_NoMatchWithImplicitObjectNamedParameter_2(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> class C { C(int {|Definition:$$goo|}) { } C M() { var goo = 1; return new([|goo|]: 2); } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> <WorkItem("https://devdiv.visualstudio.com/DevDiv/_queries/edit/1711987")> Public Async Function TestLocal_ErrorDuplicateMethodInDifferentFiles(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document> partial class C { int M() { var {|Definition:$$goo|} = 1; return [|goo|]; } } </Document> <Document> partial class C { int M() { return goo; } } </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function End Class End Namespace