/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/Test2/FindReferences/FindReferencesTests.Tuples.vb
415 строк
10 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 Private ReadOnly tuple2 As XCData = <![CDATA[ namespace System { // struct with two values public struct ValueTuple<T1, T2> { public T1 Item1; public T2 Item2; public ValueTuple(T1 item1, T2 item2) { this.Item1 = item1; this.Item2 = item2; } public override string ToString() { return '{' + Item1?.ToString() + "", "" + Item2?.ToString() + '}'; } } } ]]> <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuples01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:[|Alice|]|}:1, Bob: 2); var y = ([|Alice|]:1, Bob: 2); var z = x.[|$$Alice|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuples02(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:[|$$Alice|]|}:1, Bob: 2); var y = ([|Alice|]:1, Bob: 2); var z = x.[|Alice|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuples03(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ([|Alice|]:1, Bob: 2); var y = ({|Definition:[|$$Alice|]|}:1, Bob: 2); var z = x.[|Alice|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuplesMultidocument(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program1 { static void Main(string[] args) { // this is odd that these are considered references, but that is // how it works for now. // NOTE: types like (int Alice, int Bob) may have distinct declaring references, // but are also equal, in the symbol equality sense, types. var x = ([|Alice|]:1, Bob: 2); var y = ([|Alice|]:1, Bob: 2); var z = x.[|Alice|]; } } ]]> <%= tuple2 %> </Document> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ([|Alice|]:1, Bob: 2); var y = ({|Definition:[|$$Alice|]|}:1, Bob: 2); var z = x.[|Alice|]; } } ]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldDifferentTuples01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:[|Alice|]|}:1, Bob: 2); var y = (Alice:1.1, Bob: 2); var z = x.[|$$Alice|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuplesMatchOuterSymbols01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:[|Program|]|}:1, Main: 2); var y = ([|Program|]:1, Main: 2); var z = x.[|$$Program|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldSameTuplesMatchOuterSymbols02(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = (1,2,3,4,5,6,7,8,9,10,11,{|Definition:[|Program|]|}:1, Main: 2); var x1 = (1,2,3,4,5,6,7,8,9,10,11,[|Program|]:1, Main: 2); var y = (Program:1, Main: 2); var z = x.[|$$Program|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldItem01(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:Alice|}:1, Bob: 2); var y = (Alice:1, Bob: 2); var z = x.$$[|Item1|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldItem02(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ($$[|{|Definition:Alice|}|]:1, Bob: 2); var y = ([|Alice|]:1, Bob: 2); var z = x.Item1; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldItem03(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { var x = ({|Definition:1|}, Bob: 2); var y = (Alice:1, Bob: 2); var z = x.$$[|Item1|]; var z1 = x.[|Item1|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTupleFieldItem04(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferences="true"> <Document><![CDATA[ class Program { static void Main(string[] args) { System.ValueTuple<int, int> x = (1, Bob: 2); var y = (Alice:1, Bob: 2); var z = x.$$[|Item1|]; var z1 = x.[|Item1|]; } } ]]> <%= tuple2 %> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WorkItem("https://github.com/dotnet/roslyn/issues/41598")> <WpfTheory, CombinatorialData> Public Async Function TestTuplesAcrossCoreAndStandard1(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferencesNetCoreApp="true"> <Document><![CDATA[ using System; class Program { static void Main(string[] args) { } public [|ValueTuple|]<int, int> Method() => default; } ]]> </Document> </Project> <Project Language="C#" CommonReferencesNetStandard20="true"> <Document><![CDATA[ using System; class Program { static void Test() { $$var a = (1, 1); } } ]]> </Document> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function <WpfTheory, CombinatorialData> Public Async Function TestTuplesUseInSourceGeneratedDocument(kind As TestKind, host As TestHost) As Task Dim input = <Workspace> <Project Language="C#" CommonReferencesNetCoreApp="true"> <Document><![CDATA[ using System; partial class Program { static void Main(string[] args) { } public [|ValueTuple|]<int, int> Method() => default; } ]]> </Document> <DocumentFromSourceGenerator><![CDATA[ using System; partial class Program { static void Test() { $$var a = (1, 1); } } ]]> </DocumentFromSourceGenerator> </Project> </Workspace> Await TestAPIAndFeature(input, kind, host) End Function End Class End Namespace