diff --git a/src/NonCopyable.sln b/src/NonCopyable.sln index e7ececc..4785ba0 100644 --- a/src/NonCopyable.sln +++ b/src/NonCopyable.sln @@ -1,13 +1,15 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2003 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33829.357 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable", "NonCopyable\NonCopyable\NonCopyable.csproj", "{CC552C73-1EA3-457B-8E98-2D5D3213C5C5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NonCopyable", "NonCopyable\NonCopyable\NonCopyable.csproj", "{CC552C73-1EA3-457B-8E98-2D5D3213C5C5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Test", "NonCopyable\NonCopyable.Test\NonCopyable.Test.csproj", "{88F29EA0-BB85-4E16-AF40-E48B69085017}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NonCopyable.Test", "NonCopyable\NonCopyable.Test\NonCopyable.Test.csproj", "{88F29EA0-BB85-4E16-AF40-E48B69085017}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Vsix", "NonCopyable\NonCopyable.Vsix\NonCopyable.Vsix.csproj", "{6830D342-6930-43F8-AA43-2E222DE700E2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Vsix", "NonCopyable\NonCopyable.Vsix\NonCopyable.Vsix.csproj", "{82193301-CA7B-41C0-BCEF-01503E0A15EB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.TestTypes", "NonCopyable\NonCopyable.TestTypes\NonCopyable.TestTypes.csproj", "{D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -23,10 +25,14 @@ Global {88F29EA0-BB85-4E16-AF40-E48B69085017}.Debug|Any CPU.Build.0 = Debug|Any CPU {88F29EA0-BB85-4E16-AF40-E48B69085017}.Release|Any CPU.ActiveCfg = Release|Any CPU {88F29EA0-BB85-4E16-AF40-E48B69085017}.Release|Any CPU.Build.0 = Release|Any CPU - {6830D342-6930-43F8-AA43-2E222DE700E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6830D342-6930-43F8-AA43-2E222DE700E2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6830D342-6930-43F8-AA43-2E222DE700E2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6830D342-6930-43F8-AA43-2E222DE700E2}.Release|Any CPU.Build.0 = Release|Any CPU + {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Release|Any CPU.Build.0 = Release|Any CPU + {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json index 3002488..31dadc5 100644 --- a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json +++ b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json @@ -7,14 +7,6 @@ "path": "Class1.csx", "message-args": [ "T" ] }, - { - "id": "NoCopy05", - "sevirity": "Error", - "line": 33, - "column": 16, - "path": "Class1.csx", - "message-args": [ "T" ] - }, { "id": "NoCopy04", "sevirity": "Error", diff --git a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx index fc1f43a..7e811f2 100644 --- a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx +++ b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx @@ -30,7 +30,7 @@ static class Ex1 public static T Constraint<[NonCopyable] T>(ref this T x) where T : struct { var t = x; // ❌ - return t; // ❌ + return t; } } diff --git a/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj b/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj index 91cf7c7..2f4c136 100644 --- a/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj +++ b/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj @@ -15,7 +15,10 @@ - + + + Analyzer + diff --git a/src/NonCopyable/NonCopyable.Test/NonCopyable.cs b/src/NonCopyable/NonCopyable.Test/NonCopyable.cs index 667b6c2..5bed6f9 100644 --- a/src/NonCopyable/NonCopyable.Test/NonCopyable.cs +++ b/src/NonCopyable/NonCopyable.Test/NonCopyable.cs @@ -1,6 +1,8 @@ using System.Collections.Generic; +using System.Reflection; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; +using NonCopyable.Test.TestTypes; using TestHelper; using Xunit; @@ -36,7 +38,11 @@ protected override IEnumerable References get { foreach (var r in base.References) yield return r; - yield return MetadataReference.CreateFromFile(GetType().Assembly.Location); + yield return MetadataReference.CreateFromFile(typeof(MyNonCopyable).Assembly.Location); + foreach(var name in typeof(MyNonCopyable).Assembly.GetReferencedAssemblies()) + { + yield return MetadataReference.CreateFromFile(Assembly.Load(name).Location); + } } } } diff --git a/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj b/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj new file mode 100644 index 0000000..dbc1517 --- /dev/null +++ b/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj @@ -0,0 +1,7 @@ + + + + net6.0 + + + diff --git a/src/NonCopyable/NonCopyable.Test/TestTypes/MyNonCopyable.cs b/src/NonCopyable/NonCopyable.TestTypes/TestTypes/MyNonCopyable.cs similarity index 100% rename from src/NonCopyable/NonCopyable.Test/TestTypes/MyNonCopyable.cs rename to src/NonCopyable/NonCopyable.TestTypes/TestTypes/MyNonCopyable.cs diff --git a/src/NonCopyable/NonCopyable.Test/TestTypes/NonCopyableAttribute.cs b/src/NonCopyable/NonCopyable.TestTypes/TestTypes/NonCopyableAttribute.cs similarity index 100% rename from src/NonCopyable/NonCopyable.Test/TestTypes/NonCopyableAttribute.cs rename to src/NonCopyable/NonCopyable.TestTypes/TestTypes/NonCopyableAttribute.cs diff --git a/src/NonCopyable/NonCopyable/NonCopyable.csproj b/src/NonCopyable/NonCopyable/NonCopyable.csproj index 7b9743b..6c4ac46 100644 --- a/src/NonCopyable/NonCopyable/NonCopyable.csproj +++ b/src/NonCopyable/NonCopyable/NonCopyable.csproj @@ -20,6 +20,7 @@ Allow usage of non-copyable in conditional expressions (? :). Treat return statement as having move semantics for locals and parameters. NonCopyable, analyzers true + true