diff --git a/Compilers.sln b/Compilers.sln index 7c1cd70381763..6d8dc229d87d3 100644 --- a/Compilers.sln +++ b/Compilers.sln @@ -99,16 +99,19 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VbcCore", "src\Compilers\Vi EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "TestUtilities.Shared", "src\Test\Utilities\Shared\TestUtilities.Shared.shproj", "{6FF42825-5464-4151-AC55-ED828168C192}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerPerformanceTest", "src\Compilers\CSharp\Test\Performance\CSharpCompilerPerformanceTest.csproj", "{ECBB1F28-2672-4344-8CB3-83882F291739}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSBuildTaskTests", "src\Compilers\Core\MSBuildTaskTests\MSBuildTaskTests.csproj", "{1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}" EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicCompilerPerformanceTest", "src\Compilers\VisualBasic\Test\Performance\BasicCompilerPerformanceTest.vbproj", "{0835A7FB-C472-4F7D-A500-F9FD072CFF21}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution src\Test\Utilities\Shared\TestUtilities.projitems*{6ff42825-5464-4151-ac55-ed828168c192}*SharedItemsImports = 13 - src\Test\Utilities\Shared\TestUtilities.projitems*{f7712928-1175-47b3-8819-ee086753dee2}*SharedItemsImports = 4 src\Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{d0bc9be7-24f6-40ca-8dc6-fcb93bd44b34}*SharedItemsImports = 13 src\Compilers\Core\SharedCollections\SharedCollections.projitems*{afde6bea-5038-4a4a-a88e-dbd2e4088eed}*SharedItemsImports = 4 - src\Compilers\Core\SharedCollections\SharedCollections.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 src\Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 + src\Compilers\Core\SharedCollections\SharedCollections.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpAnalyzerDriver.projitems*{b501a547-c911-4a05-ac6e-274a50dff30e}*SharedItemsImports = 4 src\Compilers\VisualBasic\BasicAnalyzerDriver\BasicAnalyzerDriver.projitems*{2523d0e6-df32-4a3e-8ae0-a19bffae2ef6}*SharedItemsImports = 4 src\Compilers\Core\SharedCollections\SharedCollections.projitems*{c1930979-c824-496b-a630-70f5369a636f}*SharedItemsImports = 13 @@ -849,6 +852,26 @@ Global {8CE3A581-2969-4864-A803-013E9D977C3A}.Release|x64.ActiveCfg = Release|x64 {8CE3A581-2969-4864-A803-013E9D977C3A}.Release|x64.Build.0 = Release|x64 {8CE3A581-2969-4864-A803-013E9D977C3A}.Release|x86.ActiveCfg = Release|x64 + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|ARM.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|ARM.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x64.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x64.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x86.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x86.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Any CPU.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|ARM.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|ARM.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x64.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x64.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x86.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x86.Build.0 = Release|Any CPU {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Debug|Any CPU.Build.0 = Debug|Any CPU {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Debug|ARM.ActiveCfg = Debug|ARM @@ -869,6 +892,26 @@ Global {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Release|x64.Build.0 = Release|x64 {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Release|x86.ActiveCfg = Release|Any CPU {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2}.Release|x86.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|ARM.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|ARM.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x64.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x64.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x86.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x86.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Any CPU.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|ARM.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|ARM.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x64.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x64.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x86.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -914,6 +957,8 @@ Global {E3CD2895-76A8-4D11-A316-EA67CB5EA42C} = {32A48625-F0AD-419D-828B-A50BDABA38EA} {8CE3A581-2969-4864-A803-013E9D977C3A} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} {6FF42825-5464-4151-AC55-ED828168C192} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9} + {ECBB1F28-2672-4344-8CB3-83882F291739} = {32A48625-F0AD-419D-828B-A50BDABA38EA} {1DFEA9C5-973C-4179-9B1B-0F32288E1EF2} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9} + {0835A7FB-C472-4F7D-A500-F9FD072CFF21} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} EndGlobalSection EndGlobal diff --git a/Roslyn.sln b/Roslyn.sln index b1b50c49f0629..c205102fcce05 100644 --- a/Roslyn.sln +++ b/Roslyn.sln @@ -300,6 +300,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagnostics", "src\Test\Dia EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRuntime.FX46", "src\Test\Utilities\Runtime.FX46\TestRuntime.FX46.csproj", "{23683607-168A-4189-955E-908F0E80E60D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerPerformanceTest", "src\Compilers\CSharp\Test\Performance\CSharpCompilerPerformanceTest.csproj", "{ECBB1F28-2672-4344-8CB3-83882F291739}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Performance-Fixture", "src\Test\Performance\Fixture\Performance-Fixture.csproj", "{308CEBD4-418A-4C3B-97A5-24723B288157}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicCompilerPerformanceTest", "src\Compilers\VisualBasic\Test\Performance\BasicCompilerPerformanceTest.vbproj", "{0835A7FB-C472-4F7D-A500-F9FD072CFF21}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsiCore", "src\Interactive\CsiCore\CsiCore.csproj", "{D1B051A4-F2A1-4E97-9747-C41D13E475FD}" EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VbiCore", "src\Interactive\VbiCore\VbiCore.vbproj", "{1EEFB4B6-A6CC-4869-AF05-A43C8B82A8FD}" @@ -2632,6 +2638,66 @@ Global {23683607-168A-4189-955E-908F0E80E60D}.Release|x64.Build.0 = Release|Any CPU {23683607-168A-4189-955E-908F0E80E60D}.Release|x86.ActiveCfg = Release|Any CPU {23683607-168A-4189-955E-908F0E80E60D}.Release|x86.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|ARM.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|ARM.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x64.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x64.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x86.ActiveCfg = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Debug|x86.Build.0 = Debug|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Any CPU.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|ARM.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|ARM.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x64.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x64.Build.0 = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x86.ActiveCfg = Release|Any CPU + {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x86.Build.0 = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Any CPU.Build.0 = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.ActiveCfg = Debug|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.Build.0 = Debug|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.ActiveCfg = Debug|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.Build.0 = Debug|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x86.ActiveCfg = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x86.Build.0 = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Any CPU.ActiveCfg = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Any CPU.Build.0 = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.ActiveCfg = Release|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.Build.0 = Release|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.ActiveCfg = Release|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.Build.0 = Release|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x86.ActiveCfg = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x86.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|ARM.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|ARM.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x64.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x64.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x86.ActiveCfg = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|x86.Build.0 = Debug|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Any CPU.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|ARM.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|ARM.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x64.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x64.Build.0 = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x86.ActiveCfg = Release|Any CPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Release|x86.Build.0 = Release|Any CPU {D1B051A4-F2A1-4E97-9747-C41D13E475FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D1B051A4-F2A1-4E97-9747-C41D13E475FD}.Debug|Any CPU.Build.0 = Debug|Any CPU {D1B051A4-F2A1-4E97-9747-C41D13E475FD}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -2811,6 +2877,9 @@ Global {ABC7262E-1053-49F3-B846-E3091BB92E8C} = {38940C5F-97FD-4B2A-B2CD-C4E4EF601B05} {E2E889A5-2489-4546-9194-47C63E49EAEB} = {8DBA5174-B0AA-4561-82B1-A46607697753} {23683607-168A-4189-955E-908F0E80E60D} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9} + {ECBB1F28-2672-4344-8CB3-83882F291739} = {32A48625-F0AD-419D-828B-A50BDABA38EA} + {308CEBD4-418A-4C3B-97A5-24723B288157} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9} + {0835A7FB-C472-4F7D-A500-F9FD072CFF21} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} {D1B051A4-F2A1-4E97-9747-C41D13E475FD} = {5CA5F70E-0FDB-467B-B22C-3CD5994F0087} {1EEFB4B6-A6CC-4869-AF05-A43C8B82A8FD} = {5CA5F70E-0FDB-467B-B22C-3CD5994F0087} {E8F0BAA5-7327-43D1-9A51-644E81AE55F1} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} diff --git a/build/BuildNuGets.csx b/build/BuildNuGets.csx index 217726865c596..cdfd56c334594 100644 --- a/build/BuildNuGets.csx +++ b/build/BuildNuGets.csx @@ -2,18 +2,29 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Reflection; +using System.Runtime.CompilerServices; -string usage = @"usage: BuildNuGets.csx "; +string usage = @"usage: BuildNuGets.csx "; -if (Args.Length != 2) +if (Args.Count() != 3) { Console.WriteLine(usage); Environment.Exit(1); } -var binDir = Path.GetFullPath(Args[0]); +string ScriptRoot([CallerFilePath]string path = "") => Path.GetDirectoryName(path); + +var slnRoot = Path.GetFullPath(Path.Combine(ScriptRoot(), "../")); + +// Strip trailing '\' characters because if the path is later passed on the +// command line when surrounded by quotes (in case the path has spaces) some +// utilities will consider the '\"' as an escape sequence for the end quote + +var binDir = Path.GetFullPath(Args[0]).TrimEnd('\\'); var buildVersion = Args[1].Trim(); -var nuspecDirPath = Path.GetFullPath("../../src/NuGet"); +var nuspecDirPath = Path.GetFullPath(Path.Combine(slnRoot, "src/NuGet")); +var outDir = Path.GetFullPath(Args[2]).TrimEnd('\\'); var licenseUrl = @"http://go.microsoft.com/fwlink/?LinkId=529443"; var authors = @"Microsoft"; @@ -21,23 +32,35 @@ var projectURL = @"http://msdn.com/roslyn"; var tags = @"Roslyn CodeAnalysis Compiler CSharp VB VisualBasic Parser Scanner Lexer Emit CodeGeneration Metadata IL Compilation Scripting Syntax Semantics"; var files = Directory.GetFiles(nuspecDirPath, "*.nuspec"); -var procs = new List(files.Length); + +int exit = 0; foreach (var file in files) { var nugetArgs = $@"pack {file} " + $@"-BasePath ""{binDir}"" " + + $@"-OutputDirectory ""{outDir}"" " + "-ExcludeEmptyDirectories " + $@"-prop licenseUrl=""{licenseUrl}"" " + $@"-prop version=""{buildVersion}"" " + $"-prop authors={authors} " + $@"-prop projectURL=""{projectURL}"" " + $@"-prop tags=""{tags}"""; - Console.WriteLine(nugetArgs); - var p = Process.Start(Path.GetFullPath("../../nuget.exe"), nugetArgs); -} + var nugetExePath = Path.GetFullPath(Path.Combine(slnRoot, "nuget.exe")); + var p = new Process(); + p.StartInfo.FileName = nugetExePath; + p.StartInfo.Arguments = nugetArgs; + p.StartInfo.UseShellExecute = false; -foreach (var p in procs) -{ + Console.WriteLine($"Running: nuget.exe {nugetArgs}"); + p.Start(); p.WaitForExit(); + exit = p.ExitCode; + + if (exit != 0) + { + break; + } } + +Environment.Exit(exit); diff --git a/build/Targets/VSL.Imports.targets b/build/Targets/VSL.Imports.targets index 53e4f96fc5d4a..40ee4a056d999 100644 --- a/build/Targets/VSL.Imports.targets +++ b/build/Targets/VSL.Imports.targets @@ -49,30 +49,6 @@ - - - - - {RawFileName}; - $(OutDir) - - false - - - - - <_TargetFrameworkDirectories>$([System.String]::Join(";", $([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToReferenceAssemblies(".NETPortable", "v5.0", "")))) - <_FullFrameworkReferenceAssemblyPaths>$(_TargetFrameworkDirectories) - - - - win7 - ubuntu.14.04 - - + + DNXCore,Version=v5.0 + win7 + ubuntu.14.04 + + Microsoft.Net.Compilers - $(NuGetPackageRoot)\Microsoft.Net.Compilers\1.1.0-beta1-20150727-01\build\Microsoft.Net.Compilers.props + $(NuGetPackageRoot)\Microsoft.Net.Compilers\1.1.0-rc1-20151014-05\build\Microsoft.Net.Compilers.props $(NuGetPackageRoot)\Microsoft.Net.RoslynDiagnostics\1.1.1-beta1-20150818-01\build\Microsoft.Net.RoslynDiagnostics.props $(AdditionalFileItemNames);PublicAPI @@ -92,7 +92,7 @@ true - 1.1.0 + 1.2.0 1.1.0 1.1.37 2.8.5 @@ -347,7 +347,7 @@ $(RoslynSemanticVersion) - $(NuGetReleaseVersion)-rc1 + $(NuGetReleaseVersion)-beta $(NuGetPreReleaseVersion)-$(BuildNumberPart1.Trim())-$(BuildNumberPart2.Trim()) diff --git a/build/ToolsetPackages/project.json b/build/ToolsetPackages/project.json index 10ac3870c83e6..9beeffe3aa901 100644 --- a/build/ToolsetPackages/project.json +++ b/build/ToolsetPackages/project.json @@ -3,7 +3,7 @@ "Microsoft.Build.Mono.Debug": "14.1.0-prerelease", "Microsoft.CodeAnalysis.Test.Resources.Proprietary": "1.1.0-beta1-20150817-01", "Microsoft.DiaSymReader.Native": "1.2.0-rc", - "Microsoft.Net.Compilers": "1.1.0-beta1-20150727-01", + "Microsoft.Net.Compilers": "1.1.0-rc1-20151014-05", "Microsoft.Net.RoslynDiagnostics": "1.1.1-beta1-20150818-01", "FakeSign": "0.9.2", "xunit": "2.1.0-beta4-build3109", diff --git a/build/ToolsetPackages/project.lock.json b/build/ToolsetPackages/project.lock.json index 1f3f002239771..40ddbb017504a 100644 --- a/build/ToolsetPackages/project.lock.json +++ b/build/ToolsetPackages/project.lock.json @@ -30,7 +30,7 @@ } }, "Microsoft.DiaSymReader.Native/1.2.0-rc": {}, - "Microsoft.Net.Compilers/1.1.0-beta1": {}, + "Microsoft.Net.Compilers/1.1.0-rc1-20151014-05": {}, "Microsoft.Net.RoslynDiagnostics/1.1.1-beta1-20150818-01": {}, "Microsoft.Tpl.Dataflow/4.5.24": { "compile": { @@ -114,7 +114,7 @@ "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll": {} } }, - "Microsoft.Net.Compilers/1.1.0-beta1": {}, + "Microsoft.Net.Compilers/1.1.0-rc1-20151014-05": {}, "Microsoft.Net.RoslynDiagnostics/1.1.1-beta1-20150818-01": {}, "Microsoft.Tpl.Dataflow/4.5.24": { "compile": { @@ -1075,15 +1075,15 @@ "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll" ] }, - "Microsoft.Net.Compilers/1.1.0-beta1": { - "sha512": "If6Kfw/iSiRVxEdUmXNULKTQj0ZoX3uzuh3/K3lrB/cFuIIu+2zf/BDT70JbnWzrELY/JlGydkCJqJ2a7vihhA==", + "Microsoft.Net.Compilers/1.1.0-rc1-20151014-05": { + "sha512": "4gRcs9GwC0X67bSAMc+uG8glwoXLetYqe1Ybi2EfmVnLDdeNO3deAgCUhfoWoJqVSxYJ80rYtNlQJvTZJ/4tCQ==", "type": "Package", "files": [ "[Content_Types].xml", "_rels/.rels", "build/Microsoft.Net.Compilers.props", "Microsoft.Net.Compilers.nuspec", - "package/services/metadata/core-properties/5fd3b6f9332540b9bcc59cd42cb93e82.psmdcp", + "package/services/metadata/core-properties/c980ba75c8bc4276a2cc0b019677578b.psmdcp", "ThirdPartyNotices.rtf", "tools/csc.exe", "tools/csc.exe.config", @@ -1097,6 +1097,8 @@ "tools/Microsoft.CodeAnalysis.Scripting.dll", "tools/Microsoft.CodeAnalysis.VisualBasic.dll", "tools/Microsoft.CSharp.Core.targets", + "tools/Microsoft.DiaSymReader.Native.amd64.dll", + "tools/Microsoft.DiaSymReader.Native.x86.dll", "tools/Microsoft.VisualBasic.Core.targets", "tools/System.AppContext.dll", "tools/System.Collections.Immutable.dll", @@ -1256,7 +1258,7 @@ "Microsoft.Build.Mono.Debug >= 14.1.0-prerelease", "Microsoft.CodeAnalysis.Test.Resources.Proprietary >= 1.1.0-beta1-20150817-01", "Microsoft.DiaSymReader.Native >= 1.2.0-rc", - "Microsoft.Net.Compilers >= 1.1.0-beta1", + "Microsoft.Net.Compilers >= 1.1.0-rc1-20151014-05", "Microsoft.Net.RoslynDiagnostics >= 1.1.1-beta1-20150818-01", "xunit >= 2.1.0-beta4-build3109", "xunit.runner.console >= 2.1.0-beta4-build3109" diff --git a/cibuild.cmd b/cibuild.cmd index 51ee4708779e1..c830391537899 100644 --- a/cibuild.cmd +++ b/cibuild.cmd @@ -14,10 +14,22 @@ if /I "%1" == "/debug" set BuildConfiguration=Debug&&shift&& goto :ParseArgument if /I "%1" == "/release" set BuildConfiguration=Release&&shift&& goto :ParseArguments if /I "%1" == "/test32" set Test64=false&&shift&& goto :ParseArguments if /I "%1" == "/test64" set Test64=true&&shift&& goto :ParseArguments +if /I "%1" == "/perf" set Perf=true&&shift&& goto :ParseArguments if /I "%1" == "/restore" set BuildRestore=true&&shift&& goto :ParseArguments call :Usage && exit /b 1 :DoneParsing +if defined Perf ( + if defined Test64 ( + echo ERROR: Cannot combine /perf with either /test32 or /test64 + call :Usage && exit /b 1 + ) + + if "%BuildConfiguration%" == "Debug" ( + echo Warning: Running perf tests on a Debug build is not recommended. Use /release for a Release build. + ) +) + call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" REM Restore the NuGet packages @@ -44,7 +56,17 @@ REM Clean the previous build msbuild /v:m /t:Clean build/Toolset.sln /p:Configuration=%BuildConfiguration% taskkill /F /IM vbcscompiler.exe -msbuild /v:m /m /p:BootstrapBuildPath=%RoslynRoot%Binaries\Bootstrap BuildAndTest.proj /p:Configuration=%BuildConfiguration% /p:Test64=%Test64% +if defined Perf ( + set Target=Build +) else ( + set Target=BuildAndTest +) + +nuget.exe restore -nocache %RoslynRoot%build\ToolsetPackages\project.json +nuget.exe restore -nocache %RoslynRoot%Roslyn.sln +nuget.exe restore -nocache %RoslynRoot%src\Samples\Samples.sln + +msbuild /v:m /m /p:BootstrapBuildPath=%RoslynRoot%Binaries\Bootstrap BuildAndTest.proj /t:%Target% /p:Configuration=%BuildConfiguration% /p:Test64=%Test64% if ERRORLEVEL 1 ( taskkill /F /IM vbcscompiler.exe echo Build failed @@ -55,14 +77,35 @@ REM Kill any instances of VBCSCompiler.exe to release locked files; REM otherwise future CI runs may fail while trying to delete those files. taskkill /F /IM vbcscompiler.exe +REM Verify that our project.lock.json files didn't change as a result of +REM restore. If they do then the commit changed the dependencies without +REM updating the lock files. +REM git diff --exit-code --quiet +REM if ERRORLEVEL 1 ( +REM echo Commit changed dependencies without updating project.lock.json +REM git diff --exit-code +REM exit /b 1 +REM ) + +if defined Perf ( + if DEFINED JenkinsCIPerfCredentials ( + powershell .\ciperf.ps1 -BinariesDirectory %RoslynRoot%Binaries\%BuildConfiguration% %JenkinsCIPerfCredentials% + ) else ( + powershell .\ciperf.ps1 -BinariesDirectory %RoslynRoot%Binaries\%BuildConfiguration% -StorageAccountName roslynscratch -StorageContainer drops -SCRAMScope 'Roslyn\Azure' + ) +) + REM It is okay and expected for taskkill to fail (it's a cleanup routine). Ensure REM caller sees successful exit. exit /b 0 :Usage -@echo Usage: cibuild.cmd [/debug^|/release] -@echo /debug Perform debug build. This is the default. -@echo /release Perform release build -@echo /test32 Run unit tests in the 32-bit runner. This is the default. -@echo /test64 Run units tests in the 64-bit runner. +@echo Usage: cibuild.cmd [/debug^|/release] [/test32^|/test64^|/perf] +@echo /debug Perform debug build. This is the default. +@echo /release Perform release build. +@echo /test32 Run unit tests in the 32-bit runner. This is the default. +@echo /test64 Run units tests in the 64-bit runner. +@echo /perf Submit a job to the performance test system. Usually combined +@echo with /release. May not be combined with /test32 or /test64. +@echo. @goto :eof diff --git a/cibuild.sh b/cibuild.sh index 90b2ac8d1ba21..a663346db9785 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -205,9 +205,9 @@ set_mono_path() fi if [ "$OS_NAME" = "Darwin" ]; then - MONO_TOOLSET_NAME=mono.mac.3 + MONO_TOOLSET_NAME=mono.mac.4 elif [ "$OS_NAME" = "Linux" ]; then - MONO_TOOLSET_NAME=mono.linux.3 + MONO_TOOLSET_NAME=mono.linux.4 else echo "Error: Unsupported OS $OS_NAME" exit 1 diff --git a/ciperf.ps1 b/ciperf.ps1 new file mode 100644 index 0000000000000..677b57dc90e8a --- /dev/null +++ b/ciperf.ps1 @@ -0,0 +1,464 @@ +<# +.SYNOPSIS +Uploads a drop to Azure storage and kicks off a job in Helix to run the perf tests. + +.DESCRIPTION +Uploads a drop to Azure storage and kicks off a job in Helix to run the perf tests. + +.PARAMETER BinariesDirectory +Specifies the location of the built binaries. + +.PARAMETER Branch +Specifies the name of the branch. Defaults to 'master' + +.PARAMETER JobId +Specifies the job identifier. e.g. 'PR1234'. Defaults to 'usernameNNNN' where NNN is determined by the current date and time + +.PARAMETER JobType +Specifies the job type. Defaults to 'CIPerf' + +.PARAMETER Platform +Specifies the platform name. Defaults to 'Windows' + +.PARAMETER Queue +Specifies the Helix queue name. Defaults to 'Windows' + +.PARAMETER Repository +Specifies the name of the repository. Defaults to 'Roslyn' + +.PARAMETER StorageAccountKey +Azure account key to use for accessing Azure storage to store drops, work items and results. + +.PARAMETER StorageAccountName +Azure account name to use for accessing Azure storage to store drops, work items and results. + +.PARAMETER StorageContainer +The name of the Azure blob storage container for drops, work items and results + +.PARAMETER NoUpload +Don't actually upload anything to blob storage (useful for debugging) + +.PARAMETER NoSubmit +Don't submit the job at the end (useful for debugging) + +.PARAMETER SubmitConnectionString +The connection string to use when submitting the final job to Helix + +.PARAMETER SCRAMScope +The scope to use if connection strings and account keys are to be retrieved from SCRAM + +.PARAMETER UseDevelopmentStorage +Use the Azure Storage Emulator on the local machine for storage. Useful for testing. The job cannot be submitted. + +.EXAMPLE +C:\PS> .\CIPerf.ps1 -BinariesDirectory D:\Roslyn\Open\Binaries\Release -StorageAccountName roslyn -StorageContainer drops -SCRAMScope Azure +Typical usage. Uses SCRAM to Azure credentials. Packages up the drop, uploads it to Azure storage, and kicks off a performance run. + +.EXAMPLE +C:\PS> .\CIPerf.ps1 -UseDevelopmentStorage -BinariesDirectory D:\Roslyn\Open\Binaries\Release -StorageContainer test +Test this script using the Azure Storage Emulator. All generated artifacts are uploaded to development storage but no job is submitted +to Helix. +#> + +param ( + [Parameter(ParameterSetName='namedStorage_Submit_SCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_Submit_NoSCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_NoSubmit_SCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_NoSubmit_NoSCRAM', Mandatory = $true)] + [String] $StorageAccountName, + [Parameter(ParameterSetName='namedStorage_Submit_NoSCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_NoSubmit_NoSCRAM', Mandatory = $true)] + [String] $StorageAccountKey, + [Parameter(ParameterSetName='namedStorage_Submit_SCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_NoSubmit_SCRAM', Mandatory = $true)] + [String] $SCRAMScope, + [Parameter(ParameterSetName='devStorage', Mandatory = $true)] + [switch] $UseDevelopmentStorage, + [parameter(Mandatory = $true)] + [String] $StorageContainer, + [switch] $NoUpload, + [Parameter(ParameterSetName='namedStorage_NoSubmit_SCRAM', Mandatory = $true)] + [Parameter(ParameterSetName='namedStorage_NoSubmit_NoSCRAM', Mandatory = $true)] + [switch] $NoSubmit, + [Parameter(ParameterSetName='namedStorage_Submit_NoSCRAM', Mandatory = $true)] + [String] $SubmitConnectionString, + [parameter(Mandatory = $true)] + [String] $BinariesDirectory, + [String] $Repository = "Roslyn", + [String] $Branch = "master", + [String] $JobId = $env:USERNAME + "_" + [System.DateTime]::UtcNow.ToString("yyyyMMddTHHmmss"), + [String] $JobType = "CIPerf", + [String] $Platform = "Windows", + [String] $Queue = "Windows.10.Amd64" +) + +# Create a new SAS token, but don't include the leading question mark +function CreateSASToken( + [Parameter(Mandatory = $true)] + [Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext] $Context, + [Parameter(Mandatory = $true)] + [String] $Container, + [String] $Permission = "r", + [System.TimeSpan] $Duration = [System.TimeSpan]::FromDays(7) + ) { + + $expiryTime = (Get-Date).Add($Duration) + $token = New-AzureStorageContainerSASToken -Context $Context -Permission $Permission -Container $Container -ExpiryTime $expiryTime + + # SAS tokens in Helix should not include the query char + if ($token[0] -eq '?') { + $token = $token.Substring(1) + } + + return $token +} + +# Construct a full URI with a SAS token for the given storage context and blob name +function BuildUri( + [Parameter(Mandatory = $true)] + [Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext] $Context, + [Parameter(Mandatory = $true)] + [String] $Container, + [String] $BlobName, + [String] $SASToken +) { + $ub = New-Object System.UriBuilder -ArgumentList $Context.BlobEndPoint + + if (-not $ub.Path.EndsWith('/')) { + $ub.Path += "/" + } + + $ub.Path += $Container + + if (-not [String]::IsNullOrEmpty($BlobName)) { + $ub.Path += "/" + $BlobName + } + + $ub.Query = $SASToken + + # Using OriginalString because that preserves escaping in the query string + return $ub.Uri.OriginalString +} + + +function CreateDrop( + [Parameter(Mandatory = $true)] + [String] $Binaries, + [Parameter(Mandatory = $true)] + [String] $ZipFile + ) { + + Write-Host "Zipping $Binaries to $ZipFile" + Add-Type -AssemblyName System.IO.Compression.FileSystem + $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal + [System.IO.Compression.ZipFile]::CreateFromDirectory($Binaries, $ZipFile, $compressionLevel, $false) +} + +function CreateXUnitFixture( + [Parameter(Mandatory = $true)] + [String] $StagingPath, + [Parameter(Mandatory = $true)] + [String] $ZipFile, + [Parameter(Mandatory = $false)] + [String] $UnzippedBaseDirectory + ) { + + $PackagesPath = Join-Path -Path $StagingPath -ChildPath Packages + & $NuGetExe install -OutputDirectory $PackagesPath -NonInteractive -ExcludeVersion xunit.extensibility.execution -Version 2.1.0 -Source https://www.nuget.org/api/v2/ + & $NuGetExe install -OutputDirectory $PackagesPath -NonInteractive -ExcludeVersion Microsoft.DotNet.xunit.performance.runner.Windows -Version 1.0.0-alpha-build0023 -Source https://www.myget.org/F/dotnet-buildtools/ + + if ([System.String]::IsNullOrEmpty($UnzippedBaseDirectory)) { + $IncludeBaseDirectory = $false + $UnzippedBaseDirectory = "ToZip" + } else { + $IncludeBaseDirectory = $true + } + + $ToZipPath = Join-Path $StagingPath -ChildPath $UnzippedBaseDirectory + New-Item -ItemType Directory -Path $ToZipPath -ErrorAction SilentlyContinue | Out-Null + + # Move the contents of all "Tools" folders into the root of the archive (overwriting any duplicates) + (Get-ChildItem -Path $PackagesPath -Recurse -Directory -Include "Tools").FullName | Get-ChildItem | Move-Item -Destination $ToZipPath -Force + + # Move extra files + @( + 'xunit.extensibility.core\lib\dotnet\xunit.core.dll', + 'xunit.extensibility.execution\lib\net45\xunit.execution.desktop.dll' + ) | ForEach-Object { Move-Item -Path (Join-Path -Path $PackagesPath -ChildPath $_) -Destination $ToZipPath } + + Add-Type -AssemblyName System.IO.Compression.FileSystem + $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal + [System.IO.Compression.ZipFile]::CreateFromDirectory($ToZipPath, $ZipFile, $compressionLevel, $IncludeBaseDirectory) +} + +function CreateAndUploadXunitFixture( + [Parameter(Mandatory = $true)] + [string] $BlobName, + [Parameter(Mandatory = $true)] + [Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext] $StorageContext, + [Parameter(Mandatory = $true)] + [String] $StorageContainer, + [Parameter(Mandatory = $true)] + [String] $FixturesStagingPath +) { + Write-Host "Xunit fixture is missing. Creating it and uploading to storage..." + + $ZipFile = Join-Path $FixturesStagingPath -ChildPath (Split-Path $BlobName -Leaf) + + CreateXUnitFixture -StagingPath $FixturesStagingPath -ZipFile $ZipFile -UnzippedBaseDirectory "Performance" | Out-Null + + if (!$NoUpload) { + Write-Host "Uploading xunit fixture" + Set-AzureStorageBlobContent -File $ZipFile -Container $StorageContainer -Blob $BlobName -Context $StorageContext | Out-Null + } +} + +function GetXUnitFixtureUri( + [Parameter(Mandatory = $true)] + [string] $BlobName, + [Parameter(Mandatory = $true)] + [Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext] $StorageContext, + [Parameter(Mandatory = $true)] + [String] $StorageContainer, + [Parameter(Mandatory = $true)] + [String] $StorageContainerRSAS, + [Parameter(Mandatory = $true)] + [String] $FixturesStagingPath + ) { + + # Check first if the fixture already exists + if ((Get-AzureStorageBlob -Container $StorageContainer -Blob $BlobName -Context $StorageContext -ErrorAction Ignore) -eq $null) { + CreateAndUploadXunitFixture -BlobName $BlobName -StorageContext $StorageContext -StorageContainer $StorageContainer -FixturesStagingPath $FixturesStagingPath + } + + return BuildUri -Context $StorageContext -Container $StorageContainer -BlobName $BlobName -SASToken $StorageContainerRSAS +} + +function SubmitJobToHelix( + [Parameter(Mandatory = $true)] + [string] $JobJsonPath, + [Parameter(Mandatory = $true)] + [string] $EventHubConnectionString + ) { + + Write-Host "Submitting job to event hub." + $EventHubClient = [Microsoft.ServiceBus.Messaging.EventHubClient]::CreateFromConnectionString($EventHubConnectionString) + $JobJsonStream = [System.IO.File]::Open($JobJsonPath, [System.IO.FileMode]::Open) + $EventData = New-Object Microsoft.ServiceBus.Messaging.EventData -ArgumentList $JobJsonStream + $EventHubClient.Send($EventData) | Out-Null + $JobJsonStream.Dispose() +} + +try { + + if (!(Test-Path $BinariesDirectory)) { + Write-Error "Could not find binaries directory ($BinariesDirectory)" + exit 1 + } + + if ($UseDevelopmentStorage) { + $NoSubmit = $true + } + + if ([System.String]::IsNullOrEmpty($SCRAMScope)) { + # Credentials must be passed on the command line + if ([System.String]::IsNullOrEmpty($StorageAccountKey) -and !$UseDevelopmentStorage) { + Write-Error "If SCRAMScope is not specified, you must supply the StorageAccountKey parameter or use development storage." + exit 1 + } + + if (!($NoSubmit) -and [System.String]::IsNullOrEmpty($SubmitConnectionString)) { + Write-Error "You must supply a connetion string to a Service Bus Event Hub end point to submit the job to Helix or use the -NoSubmit switch" + Write-Error "The connection string may either be retrieved from SCRAM by passing a -SCRAMScope parameter on the command line" + Write-Error "or passed using the -SubmitConnectionString parameter." + Write-Error "The string should be like ""Endpoint=sb://something.servicebus.windows.net/;SharedAccessKeyName=...;SharedAccessKey=...;EntityPath=...""" + exit 1 + } + } else { + if ([System.String]::IsNullOrEmpty($StorageAccountKey)) { + $StorageAccountKey = (Get-GenericCredential -Scope $SCRAMScope -UserName $StorageAccountName).Password + } + + if (!($NoSubmit) -and [System.String]::IsNullOrEmpty($SubmitConnectionString)) { + $SubmitConnectionString = (Get-GenericCredential -Scope $SCRAMScope -UserName "HelixEventHub").Password + } + } + + # TODO: Validate args: + # Since Repostory, Branch, JobId, JobType and Platform are used to create paths + # in the storage container, they may not contain punctuation or non-ASCII chars (whitespace should also be discouraged) + # Hyphen and periods might be allowed (period for the JobId, for example) + + $NuGetExe = Join-Path -Path $PSScriptRoot -ChildPath NuGet.exe + if (!(Test-Path $NuGetExe)) { + Write-Error "Could not find nuget.exe at $NuGetExe." + exit 1 + } + + if (!$NoSubmit) { + try { + # Reference the latest version of Microsoft.ServiceBus.dll + Write-Output "Adding the [Microsoft.ServiceBus.dll] assembly to the script..." + + & $NuGetExe install WindowsAzure.ServiceBus -Version 3.0.2 -NonInteractive -ExcludeVersion -Source https://www.nuget.org/api/v2/ -OutputDirectory $env:TEMP + + $packagesFolder = Join-Path $env:TEMP -ChildPath WindowsAzure.ServiceBus + $assembly = Get-ChildItem $packagesFolder -Include "Microsoft.ServiceBus.dll" -Recurse + Add-Type -Path $assembly.FullName + + Write-Output "The [Microsoft.ServiceBus.dll] assembly has been successfully added to the script." + } + catch [exception] { + Write-Error "Could not add the Microsoft.ServiceBus.dll assembly to the script." + exit 1 + } + } + + Write-Host "Scanning for performance test assemblies" + $TestAssemblies = Get-ChildItem -File -Path $BinariesDirectory -Recurse -Filter "*PerformanceTests.dll" + if ($TestAssemblies.count -le 0) { + Write-Error "No test assemblies found in $BinariesDirectory" + exit 1 + } + + $CorrelationId = "$Repository-$Branch-$JobId-$JobType" + Write-Host "Creating Helix job with CorrelationId $CorrelationId" + + Write-Host "Connecting to Azure storage account" + if ($UseDevelopmentStorage) { + $StorageContext = New-AzureStorageContext -Local + } + else { + $StorageContext = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey + } + + $HelixStage = Join-Path $env:TEMP -ChildPath Helix + if (Test-Path $HelixStage) { + Remove-Item -Recurse -Force $HelixStage + } + + New-Item -ItemType Directory -Path $HelixStage -ErrorAction SilentlyContinue | Out-Null + + $DropZip = Join-Path $HelixStage -ChildPath Drop.zip + + CreateDrop -Binaries $BinariesDirectory -ZipFile $DropZip + + $BlobRootName = "$Repository/$Branch/$JobId/$JobType" + $BlobName = $BlobRootName + "_Drop.zip" + if (!$NoUpload) { + Write-Host "Uploading drop" + Set-AzureStorageBlobContent -File $DropZip -Container $StorageContainer -Blob $BlobName -Context $StorageContext | Out-Null + } + + $StorageContainerRSAS = CreateSASToken -Context $StorageContext -Container $StorageContainer -Permission r + + $DropUri = BuildUri -Context $StorageContext -Container $StorageContainer -BlobName $BlobName -SASToken $StorageContainerRSAS + + $FixturesStagingPath = Join-Path -Path $HelixStage -ChildPath fixtures + + # Look for xunit-performance.zip in the appropriate fixtures folder and create it if it doesn't already exist + $XunitFixtureUri = GetXUnitFixtureUri -BlobName "$Repository/$Branch/fixtures/xunit-performance1.0.0-alpha-build0023/xunit-performance.zip" -StorageContext $StorageContext -StorageContainer $StorageContainer -StorageContainerRSAS $StorageContainerRSAS -FixturesStagingPath $FixturesStagingPath + + Write-Host "Creating work item list" + + $sb = New-Object -TypeName System.Text.StringBuilder + [void] $sb.AppendLine("[") + + # Note: + # We are putting both the Drop (built binaries) and Fixture (xunit) into the CorrelationPayload. + # We do this because downloading and unziping the drop is expensive and we don't want to do that + # on every work item. The Helix executor will look at the CorrelationId for a work item and, only + # if it is new, will it download and unzip the CorrelationPayload. If the CorrelationId has been + # seen before, the downloading and unzipping of the CorrelationPayload can be skipped. + # + # Each ZIP file in the CorrelationPayload will be extracted into the Payload folder on the target + # machine. To avoid filename collisions the fixture(s), (e.g. xunit-performance.zip) should be + # constructed so that they unzip into separate folders (by including the base directory in the + # zip file) + # The "work" payload is actually empty. + # The Command points to a script located inside the CorrelationPayload. + + if ($Platform -eq "Windows") { + # The ~4 piece strips out the long path prefix + # Note that the slashes need to be doubled for JSon encoding + $WorkItemCommand = "%HELIX_CORRELATION_PAYLOAD:~4%\\Perf-Test.cmd" + } else { + Write-Error "Unsupported platform." + exit 1 + } + + foreach ($TestAssembly in $TestAssemblies) { + $WorkItemId = $BlobRootName + "/" + $TestAssembly.BaseName + Write-Host " " $WorkItemId + if ($sb.Length -gt 3) { [void] $sb.AppendLine(",") } + + [void] $sb.AppendLine(" {") + [void] $sb.AppendLine(" ""Command"": ""$WorkItemCommand $TestAssembly"",") + [void] $sb.AppendLine(" ""CorrelationPayloadUris"": [") + [void] $sb.AppendLine(" ""$XunitFixtureUri"",") + [void] $sb.AppendLine(" ""$DropUri""") + [void] $sb.AppendLine(" ],") + [void] $sb.AppendLine(" ""PayloadUri"": """",") + [void] $sb.AppendLine(" ""WorkItemId"": ""$WorkItemId""") + [void] $sb.Append(" }") + } + + [void] $sb.AppendLine() + [void] $sb.AppendLine("]") + + $WorkItemListJson = Join-Path $HelixStage -ChildPath WorkItemList.json + [System.IO.File]::WriteAllLines($WorkItemListJson, $sb.ToString()) + + $BlobName = $BlobRootName + "_WorkItemList.json" + if (!$NoUpload) { + Write-Host "Uploading work item list" + Set-AzureStorageBlobContent -File $WorkItemListJson -Container $StorageContainer -Blob $BlobName -Context $StorageContext | Out-Null + } + + $ListUri = BuildUri -Context $StorageContext -Container $StorageContainer -BlobName $BlobName -SASToken $StorageContainerRSAS + + # Using the same storage account and container for results as for the payload + # In the future, we may want to put results elsewhere + $ResultsUri = BuildUri -Context $StorageContext -Container $StorageContainer + $ResultsUriRSAS = $StorageContainerRSAS + $ResultsUriWSAS = CreateSASToken -Context $StorageContext -Container $StorageContainer -Permission w + + # Create and upload Job.json + Write-Host "Creating job event" + $sb = New-Object -TypeName System.Text.StringBuilder + + [void] $sb.AppendLine("{") + [void] $sb.AppendLine(" ""CorrelationId"": ""$CorrelationId"",") + [void] $sb.AppendLine(" ""DropContainerSAS"": ""$StorageContainerRSAS"",") + [void] $sb.AppendLine(" ""ListUri"": ""$ListUri"",") + [void] $sb.AppendLine(" ""QueueId"": ""$Queue"",") + [void] $sb.AppendLine(" ""ResultsUri"": ""$ResultsUri"",") + [void] $sb.AppendLine(" ""ResultsUriRSAS"": ""$ResultsUriRSAS"",") + [void] $sb.AppendLine(" ""ResultsUriWSAS"": ""$ResultsUriWSAS"",") + [void] $sb.AppendLine(" ""Creator"": ""$env:USERNAME"",") + [void] $sb.AppendLine(" ""Product"": ""$Repository"",") + [void] $sb.AppendLine(" ""Branch"": ""$Branch""") + # TODO: BuildNumber, Architecture and Configuration + [void] $sb.AppendLine("}") + + $JobJson = Join-Path $HelixStage -ChildPath Job.json + [System.IO.File]::WriteAllLines($JobJson, $sb.ToString()) + + # We're uploading the job event to storage only for archival/debugging purposes. It's not actually needed by Helix + $BlobName = $BlobRootName + "_" + $Queue + ".json" + if (!$NoUpload) { + Write-Host "Uploading job event (for archive)" + Set-AzureStorageBlobContent -File $JobJson -Container $StorageContainer -Blob $BlobName -Context $StorageContext | Out-Null + } + + # Submit event to the Helix Event Hub + if (!$NoSubmit) { + SubmitJobToHelix -JobJsonPath $JobJson -EventHubConnectionString $SubmitConnectionString + } + + exit 0 +} +catch [exception] { + Write-Error -Exception $_.Exception + exit 1 +} diff --git a/netci.groovy b/netci.groovy index 4db5b48c4b614..2ccf950b06624 100644 --- a/netci.groovy +++ b/netci.groovy @@ -18,7 +18,7 @@ static void addConcurrentBuild(def myJob, String category) { throttleConcurrentBuilds { throttleDisabled(false) maxTotal(0) - maxPerNode(4) + maxPerNode(1) categories([category]) } } @@ -45,7 +45,7 @@ static void addWrappers(def myJob) { myJob.with { wrappers { timeout { - absolute(90) + absolute(120) abortBuild() } timestamps() @@ -121,7 +121,7 @@ static void addPullRequestTrigger(def myJob, String contextName, String opsysNam autoCloseFailedPullRequests(false) orgWhitelist('Microsoft') allowMembersOfWhitelistedOrgsAsAdmin(true) - permitAll(false) + permitAll(true) extensions { commitStatus { context(contextName.replace('_', '/').substring(7)) @@ -149,7 +149,7 @@ static void addPullRequestTrigger(def myJob, String contextName, String opsysNam switch (opsys) { case 'win': myJob.with { - label('windows-roslyn || windows-roslyn-internal') + label('windows-roslyn') steps { batchFile(".\\cibuild.cmd ${(configuration == 'dbg') ? '/debug' : '/release'} ${(buildTarget == 'unit32') ? '/test32' : '/test64'}") } diff --git a/src/Compilers/CSharp/CscCore/CscCore.csproj b/src/Compilers/CSharp/CscCore/CscCore.csproj index f0b251a2a138a..ff2cdec1f8653 100644 --- a/src/Compilers/CSharp/CscCore/CscCore.csproj +++ b/src/Compilers/CSharp/CscCore/CscCore.csproj @@ -18,8 +18,10 @@ $(OutDir)core-clr\ true True - DNXCore + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + .NETPortable v5.0 + x64 $(BaseNuGetRuntimeIdentifier)-$(RuntimeIndentifier) diff --git a/src/Compilers/CSharp/CscCore/csc.exe.config b/src/Compilers/CSharp/CscCore/csc.exe.config index 0eee90a145749..cfa57ec51abd6 100644 --- a/src/Compilers/CSharp/CscCore/csc.exe.config +++ b/src/Compilers/CSharp/CscCore/csc.exe.config @@ -6,18 +6,26 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/src/Compilers/CSharp/CscCore/project.lock.json b/src/Compilers/CSharp/CscCore/project.lock.json index 56f932ab206bd..d2e5c9aa746d8 100644 --- a/src/Compilers/CSharp/CscCore/project.lock.json +++ b/src/Compilers/CSharp/CscCore/project.lock.json @@ -416,7 +416,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -533,20 +533,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -1451,7 +1437,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1568,20 +1554,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -2642,7 +2614,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -2759,20 +2731,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -4774,8 +4732,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -4784,7 +4742,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, @@ -5074,37 +5032,6 @@ "System.Runtime.Loader.nuspec" ] }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "sha512": "RF7EswqLB7/V+7LHKgmsH0hS6KcFotf9GfaKBgCWfNvAr66r6/bUTNzz9TYn0veMMGLOoItQ6DWA8IAAIFdnTw==", - "type": "Package", - "files": [ - "[Content_Types].xml", - "_rels/.rels", - "lib/dotnet/de/System.Runtime.Numerics.xml", - "lib/dotnet/es/System.Runtime.Numerics.xml", - "lib/dotnet/fr/System.Runtime.Numerics.xml", - "lib/dotnet/it/System.Runtime.Numerics.xml", - "lib/dotnet/ja/System.Runtime.Numerics.xml", - "lib/dotnet/ko/System.Runtime.Numerics.xml", - "lib/dotnet/ru/System.Runtime.Numerics.xml", - "lib/dotnet/System.Runtime.Numerics.dll", - "lib/dotnet/System.Runtime.Numerics.xml", - "lib/dotnet/zh-hans/System.Runtime.Numerics.xml", - "lib/dotnet/zh-hant/System.Runtime.Numerics.xml", - "lib/net45/_._", - "lib/netcore50/System.Runtime.Numerics.dll", - "lib/netcore50/System.Runtime.Numerics.xml", - "lib/win8/_._", - "lib/wpa81/_._", - "package/services/metadata/core-properties/dd30b2ccdf7e4f9d9f37ea0b478b54a2.psmdcp", - "ref/dotnet/System.Runtime.Numerics.dll", - "ref/net45/_._", - "ref/netcore50/System.Runtime.Numerics.dll", - "ref/win8/_._", - "ref/wpa81/_._", - "System.Runtime.Numerics.nuspec" - ] - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "sha512": "6zGC2zfQ1N7eaJasJsn1mLEOcRJNmvUjQGlRpuhZ6UQKBcHBloOOqxIwkbkRXtpC82Y6swGSmKvpD2t005kJbw==", "type": "Package", @@ -5692,7 +5619,6 @@ "System.Runtime.Handles >= 4.0.1-beta-23401", "System.Runtime.InteropServices >= 4.0.21-beta-23401", "System.Runtime.Loader >= 4.0.0-beta-23401", - "System.Runtime.Numerics >= 4.0.1-beta-23401", "System.Runtime.Serialization.Json >= 4.0.1-beta-23401", "System.Security.Cryptography.Algorithms >= 4.0.0-beta-23401", "System.Text.Encoding >= 4.0.11-beta-23401", diff --git a/src/Compilers/CSharp/Portable/project.lock.json b/src/Compilers/CSharp/Portable/project.lock.json index bad2f80bd84ae..553843b3d7808 100644 --- a/src/Compilers/CSharp/Portable/project.lock.json +++ b/src/Compilers/CSharp/Portable/project.lock.json @@ -12,7 +12,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -56,8 +56,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -66,7 +66,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Compilers/CSharp/Test/CommandLine/CommandLineTests.cs b/src/Compilers/CSharp/Test/CommandLine/CommandLineTests.cs index ec01f3be406ce..e567991239b7d 100644 --- a/src/Compilers/CSharp/Test/CommandLine/CommandLineTests.cs +++ b/src/Compilers/CSharp/Test/CommandLine/CommandLineTests.cs @@ -2794,14 +2794,15 @@ public void AppConfigBasicFail() { var srcFile = Temp.CreateFile().WriteAllText(@"class A { static void Main(string[] args) { } }"); var srcDirectory = Path.GetDirectoryName(srcFile.Path); - + string root = Path.GetPathRoot(srcDirectory); // Make sure we pick a drive that exists and is plugged in to avoid 'Drive not ready' + var outWriter = new StringWriter(CultureInfo.InvariantCulture); var exitCode = new MockCSharpCompiler(null, srcDirectory, new[] { "/nologo", "/preferreduilang:en", - @"/appconfig:I:\DoesNotExist\NOwhere\bonobo.exe.config" , + $@"/appconfig:{root}DoesNotExist\NOwhere\bonobo.exe.config" , srcFile.Path }).Run(outWriter); Assert.NotEqual(0, exitCode); - Assert.Equal(@"error CS7093: Cannot read config file 'I:\DoesNotExist\NOwhere\bonobo.exe.config' -- 'Could not find a part of the path 'I:\DoesNotExist\NOwhere\bonobo.exe.config'.'", outWriter.ToString().Trim()); + Assert.Equal($@"error CS7093: Cannot read config file '{root}DoesNotExist\NOwhere\bonobo.exe.config' -- 'Could not find a part of the path '{root}DoesNotExist\NOwhere\bonobo.exe.config'.'", outWriter.ToString().Trim()); CleanupAllGeneratedFiles(srcFile.Path); } diff --git a/src/Compilers/CSharp/Test/CommandLine/project.lock.json b/src/Compilers/CSharp/Test/CommandLine/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/CSharp/Test/CommandLine/project.lock.json +++ b/src/Compilers/CSharp/Test/CommandLine/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/Test/Emit/project.lock.json b/src/Compilers/CSharp/Test/Emit/project.lock.json index 535671ee72f9a..64d76d451653c 100644 --- a/src/Compilers/CSharp/Test/Emit/project.lock.json +++ b/src/Compilers/CSharp/Test/Emit/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/Test/Performance/App.config b/src/Compilers/CSharp/Test/Performance/App.config new file mode 100644 index 0000000000000..a90a662f7446e --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/App.config @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/Compilers/CSharp/Test/Performance/CSharpCompilerPerformanceTest.csproj b/src/Compilers/CSharp/Test/Performance/CSharpCompilerPerformanceTest.csproj new file mode 100644 index 0000000000000..7f937792d2326 --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/CSharpCompilerPerformanceTest.csproj @@ -0,0 +1,72 @@ + + + + + + + + true + Debug + AnyCPU + {ECBB1F28-2672-4344-8CB3-83882F291739} + Library + Properties + Microsoft.CodeAnalysis.CSharp.PerformanceTests + Roslyn.Compilers.CSharp.PerformanceTests + ..\..\..\..\..\ + true + v4.6 + 512 + + + + + + + + + + + + + + + + + + + + + + {76c6f005-c89d-4348-bb4a-391898dbeb52} + TestUtilities.Desktop + + + {f7712928-1175-47b3-8819-ee086753dee2} + TestUtilities.FX45 + + + {1EE8CAD3-55F9-4D91-96B2-084641DA9A6C} + CodeAnalysis + + + {4371944a-d3ba-4b5b-8285-82e5ffc6d1f9} + CSharpCompilerTestUtilities + + + {b501a547-c911-4a05-ac6e-274a50dff30e} + CSharpCodeAnalysis + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Performance/CalibrationBenchmarks.cs b/src/Compilers/CSharp/Test/Performance/CalibrationBenchmarks.cs new file mode 100644 index 0000000000000..833f4633fe26f --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/CalibrationBenchmarks.cs @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading; +using Microsoft.Xunit.Performance; +using Xunit; + +namespace Microsoft.CodeAnalysis.CSharp.PerformanceTests +{ + public class CalibrationBenchmarks + { + [Benchmark] + public void DoNothing() + { + Benchmark.Iterate(() => { }); + } + + [Benchmark] + [InlineData(100)] + public void Sleep(int durationInMilliseconds) + { + Benchmark.Iterate(() => Thread.Sleep(durationInMilliseconds)); + } + } +} diff --git a/src/Compilers/CSharp/Test/Performance/CompilationBenchmarks.cs b/src/Compilers/CSharp/Test/Performance/CompilationBenchmarks.cs new file mode 100644 index 0000000000000..54436a3aa8aa5 --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/CompilationBenchmarks.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.CodeAnalysis.CSharp.Test.Utilities; +using Microsoft.Xunit.Performance; + +namespace Microsoft.CodeAnalysis.CSharp.PerformanceTests +{ + public class CompilationBenchmarks : CSharpTestBase + { + [Benchmark] + public void EmptyCompilation() + { + Benchmark.Iterate(() => + { + var compilation = CreateCSharpCompilation(code: string.Empty); + }); + } + + [Benchmark] + public void CompileHelloWorld() + { + const string helloWorldCSharpSource = @"using static System.Console; + +namespace HelloApplication +{ + class Program + { + static void Main() + { + WriteLine(""Hello, World""); + } + } +} +"; + + Benchmark.Iterate(() => + { + var compilation = CreateCompilationWithMscorlib(helloWorldCSharpSource); + var errors = compilation.GetDiagnostics(); + }); + } + } +} diff --git a/src/Compilers/CSharp/Test/Performance/SyntaxBenchmarks.cs b/src/Compilers/CSharp/Test/Performance/SyntaxBenchmarks.cs new file mode 100644 index 0000000000000..baa2b717118c1 --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/SyntaxBenchmarks.cs @@ -0,0 +1,38 @@ +using Microsoft.Xunit.Performance; + +namespace Microsoft.CodeAnalysis.CSharp.PerformanceTests +{ + public class SyntaxBenchmarks + { + [Benchmark] + public void EmptyParse() + { + Benchmark.Iterate(() => + { + var tree = CSharpSyntaxTree.ParseText(""); + }); + } + + [Benchmark] + public void HelloWorldParse() + { + const string helloCs = @"using static System.Console; + +namespace HelloApplication +{ + class Program + { + static void Main() + { + WriteLine(""Hello, World""); + } + } +} +"; + Benchmark.Iterate(() => + { + var tree = CSharpSyntaxTree.ParseText(helloCs); + }); + } + } +} diff --git a/src/Compilers/CSharp/Test/Performance/project.json b/src/Compilers/CSharp/Test/Performance/project.json new file mode 100644 index 0000000000000..5186a44dc8497 --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/project.json @@ -0,0 +1,8 @@ +{ + "dependencies": { + "Microsoft.DotNet.xunit.performance": "1.0.0-alpha-build0023" + }, + "frameworks": { + "net46": {} + } +} \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Performance/project.lock.json b/src/Compilers/CSharp/Test/Performance/project.lock.json new file mode 100644 index 0000000000000..c2656d7d86d7c --- /dev/null +++ b/src/Compilers/CSharp/Test/Performance/project.lock.json @@ -0,0 +1,1247 @@ +{ + "locked": false, + "version": 1, + "targets": { + ".NETFramework,Version=v4.6": { + "Microsoft.CodeAnalysis.Test.Resources.Proprietary/1.1.0-beta1-20150824-02": { + "compile": { + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll": {} + }, + "runtime": { + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll": {} + } + }, + "Microsoft.DiaSymReader/1.0.6": { + "compile": { + "lib/net20/Microsoft.DiaSymReader.dll": {} + }, + "runtime": { + "lib/net20/Microsoft.DiaSymReader.dll": {} + } + }, + "Microsoft.DiaSymReader.Native/1.2.0-rc": {}, + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "dependencies": { + "System.Collections": "[4.0.10, )", + "System.Diagnostics.Debug": "[4.0.10, )", + "System.Diagnostics.Tracing": "[4.0.20, )", + "System.Globalization": "[4.0.10, )", + "System.IO": "[4.0.10, )", + "System.IO.FileSystem": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Reflection": "[4.0.10, )", + "System.Runtime": "[4.0.20, )", + "System.Runtime.Extensions": "[4.0.10, )", + "System.Text.Encoding": "[4.0.10, )", + "System.Threading": "[4.0.10, )", + "System.Threading.Tasks": "[4.0.10, )", + "xunit.abstractions": "[2.0.0, )", + "xunit.extensibility.core": "[2.1.0, )", + "xunit.extensibility.execution": "[2.1.0, )" + }, + "compile": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + }, + "runtime": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + } + }, + "System.Collections/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Collections.Immutable/1.1.37": { + "dependencies": { + "System.Collections": "[4.0.0, )", + "System.Diagnostics.Debug": "[4.0.0, )", + "System.Globalization": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Resources.ResourceManager": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Extensions": "[4.0.0, )", + "System.Threading": "[4.0.0, )" + }, + "compile": { + "lib/dotnet/System.Collections.Immutable.dll": {} + }, + "runtime": { + "lib/dotnet/System.Collections.Immutable.dll": {} + } + }, + "System.Diagnostics.Debug/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Tracing/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Globalization/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO.FileSystem/4.0.0": { + "dependencies": { + "System.IO": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Handles": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Threading.Tasks": "[4.0.0, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "dependencies": { + "System.Runtime": "[4.0.20, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Linq/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Reflection.Extensions/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection.Metadata/1.1.0-beta-23413": { + "dependencies": { + "System.Collections": "[4.0.0, )", + "System.Collections.Immutable": "[1.1.37, )", + "System.Diagnostics.Debug": "[4.0.0, )", + "System.IO": "[4.0.0, )", + "System.Reflection": "[4.0.0, )", + "System.Reflection.Extensions": "[4.0.0, )", + "System.Reflection.Primitives": "[4.0.0, )", + "System.Resources.ResourceManager": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Extensions": "[4.0.0, )", + "System.Runtime.InteropServices": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Text.Encoding.Extensions": "[4.0.0, )", + "System.Threading": "[4.0.0, )" + }, + "compile": { + "lib/dotnet/System.Reflection.Metadata.dll": {} + }, + "runtime": { + "lib/dotnet/System.Reflection.Metadata.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Resources.ResourceManager/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Runtime/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Extensions/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Handles/4.0.0": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.InteropServices/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Text.Encoding/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Text.Encoding.Extensions/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Threading/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading.Tasks/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "xunit/2.1.0": { + "dependencies": { + "xunit.assert": "[2.1.0, 2.1.0]", + "xunit.core": "[2.1.0, 2.1.0]" + } + }, + "xunit.abstractions/2.0.0": { + "compile": { + "lib/net35/xunit.abstractions.dll": {} + }, + "runtime": { + "lib/net35/xunit.abstractions.dll": {} + } + }, + "xunit.assert/2.1.0": { + "compile": { + "lib/dotnet/xunit.assert.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.assert.dll": {} + } + }, + "xunit.core/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]", + "xunit.extensibility.execution": "[2.1.0, 2.1.0]" + } + }, + "xunit.extensibility.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "[2.0.0, 2.0.0]" + }, + "compile": { + "lib/dotnet/xunit.core.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]" + }, + "compile": { + "lib/net45/xunit.execution.desktop.dll": {} + }, + "runtime": { + "lib/net45/xunit.execution.desktop.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.CodeAnalysis.Test.Resources.Proprietary/1.1.0-beta1-20150824-02": { + "sha512": "mQa72JIzSdIC7wOcW8vl1izgZ+GSeTRrYYpbPKPvrX/PeygTd4SRxord7PL+fTb1q3YjlwMBSqgJsDXVa99fUA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll", + "Microsoft.CodeAnalysis.Test.Resources.Proprietary.nuspec", + "package/services/metadata/core-properties/58b0e57bbbed434fb2c05b7ef3a926cc.psmdcp" + ] + }, + "Microsoft.DiaSymReader/1.0.6": { + "sha512": "ai2eBJrXlHa0hecUKnEyacH0iXxGNOMpc9X0s7VAeqqh5TSTW70QMhTRZ0FNCtf3R/W67K4a+uf3R7MASmAjrg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net20/Microsoft.DiaSymReader.dll", + "lib/net20/Microsoft.DiaSymReader.xml", + "lib/portable-net45+win8/Microsoft.DiaSymReader.dll", + "lib/portable-net45+win8/Microsoft.DiaSymReader.xml", + "Microsoft.DiaSymReader.nuspec", + "package/services/metadata/core-properties/ead7dc5d4bf24fbe8708f348725a9b02.psmdcp" + ] + }, + "Microsoft.DiaSymReader.Native/1.2.0-rc": { + "sha512": "dSk3ln9b2MMOFnXVB47HVbdjl3r7EcikC2qTCmVrfGDJiMyLt2F3kumxICbRTuQhEGNvPnVH9p9lWKIQlNjd+w==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "Microsoft.DiaSymReader.Native.nuspec", + "package/services/metadata/core-properties/9e1fb86d21eb4b64b48d73be0a3ac9f7.psmdcp", + "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll", + "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll", + "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll", + "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll", + "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll", + "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll" + ] + }, + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "sha512": "7TOhATYXNVMF3HHGuM/WFHLt7r4uvFIUliplzIHsfL/KwxaHUbV6RI1f7EZRAioMbJI5520BGOOZ+9XIqtTQuA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.performance.core.dll", + "lib/dotnet/xunit.performance.core.pdb", + "lib/dotnet/xunit.performance.core.XML", + "lib/dotnet/xunit.performance.execution.dotnet.dll", + "lib/dotnet/xunit.performance.execution.dotnet.pdb", + "lib/net46/xunit.performance.core.dll", + "lib/net46/xunit.performance.core.pdb", + "lib/net46/xunit.performance.core.XML", + "lib/net46/xunit.performance.execution.desktop.dll", + "lib/net46/xunit.performance.execution.desktop.pdb", + "Microsoft.DotNet.xunit.performance.nuspec", + "package/services/metadata/core-properties/b700b008fbc64ae1a3ad112bf6153897.psmdcp" + ] + }, + "System.Collections/4.0.10": { + "sha512": "ux6ilcZZjV/Gp7JEZpe+2V1eTueq6NuoGRM3eZCFuPM25hLVVgCRuea6STW8hvqreIOE59irJk5/ovpA5xQipw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Collections.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Collections.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/b4f8061406e54dbda8f11b23186be11a.psmdcp", + "ref/dotnet/de/System.Collections.xml", + "ref/dotnet/es/System.Collections.xml", + "ref/dotnet/fr/System.Collections.xml", + "ref/dotnet/it/System.Collections.xml", + "ref/dotnet/ja/System.Collections.xml", + "ref/dotnet/ko/System.Collections.xml", + "ref/dotnet/ru/System.Collections.xml", + "ref/dotnet/System.Collections.dll", + "ref/dotnet/System.Collections.xml", + "ref/dotnet/zh-hans/System.Collections.xml", + "ref/dotnet/zh-hant/System.Collections.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Collections.dll", + "System.Collections.nuspec" + ] + }, + "System.Collections.Immutable/1.1.37": { + "sha512": "fTpqwZYBzoklTT+XjTRK8KxvmrGkYHzBiylCcKyQcxiOM8k+QvhNBxRvFHDWzy4OEP5f8/9n+xQ9mEgEXY+muA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Collections.Immutable.dll", + "lib/dotnet/System.Collections.Immutable.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml", + "package/services/metadata/core-properties/a02fdeabe1114a24bba55860b8703852.psmdcp", + "System.Collections.Immutable.nuspec" + ] + }, + "System.Diagnostics.Debug/4.0.10": { + "sha512": "pi2KthuvI2LWV2c2V+fwReDsDiKpNl040h6DcwFOb59SafsPT/V1fCy0z66OKwysurJkBMmp5j5CBe3Um+ub0g==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Debug.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Debug.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/bfb05c26051f4a5f9015321db9cb045c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Debug.xml", + "ref/dotnet/es/System.Diagnostics.Debug.xml", + "ref/dotnet/fr/System.Diagnostics.Debug.xml", + "ref/dotnet/it/System.Diagnostics.Debug.xml", + "ref/dotnet/ja/System.Diagnostics.Debug.xml", + "ref/dotnet/ko/System.Diagnostics.Debug.xml", + "ref/dotnet/ru/System.Diagnostics.Debug.xml", + "ref/dotnet/System.Diagnostics.Debug.dll", + "ref/dotnet/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll", + "System.Diagnostics.Debug.nuspec" + ] + }, + "System.Diagnostics.Tracing/4.0.20": { + "sha512": "gn/wexGHc35Fv++5L1gYHMY5g25COfiZ0PGrL+3PfwzoJd4X2LbTAm/U8d385SI6BKQBI/z4dQfvneS9J27+Tw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Tracing.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Tracing.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/13423e75e6344b289b3779b51522737c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Tracing.xml", + "ref/dotnet/es/System.Diagnostics.Tracing.xml", + "ref/dotnet/fr/System.Diagnostics.Tracing.xml", + "ref/dotnet/it/System.Diagnostics.Tracing.xml", + "ref/dotnet/ja/System.Diagnostics.Tracing.xml", + "ref/dotnet/ko/System.Diagnostics.Tracing.xml", + "ref/dotnet/ru/System.Diagnostics.Tracing.xml", + "ref/dotnet/System.Diagnostics.Tracing.dll", + "ref/dotnet/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll", + "System.Diagnostics.Tracing.nuspec" + ] + }, + "System.Globalization/4.0.10": { + "sha512": "kzRtbbCNAxdafFBDogcM36ehA3th8c1PGiz8QRkZn8O5yMBorDHSK8/TGJPYOaCS5zdsGk0u9qXHnW91nqy7fw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Globalization.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Globalization.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/93bcad242a4e4ad7afd0b53244748763.psmdcp", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Globalization.dll", + "System.Globalization.nuspec" + ] + }, + "System.IO/4.0.10": { + "sha512": "kghf1CeYT+W2lw8a50/GxFz5HR9t6RkL4BvjxtTp1NxtEFWywnMA9W8FH/KYXiDNThcw9u/GOViDON4iJFGXIQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/db72fd58a86b4d13a6d2858ebec46705.psmdcp", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll", + "System.IO.nuspec" + ] + }, + "System.IO.FileSystem/4.0.0": { + "sha512": "eo05SPWfG+54UA0wxgRIYOuOslq+2QrJLXZaJDDsfLXG15OLguaItW39NYZTqUb4DeGOkU4R0wpOLOW4ynMUDQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.FileSystem.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/netcore50/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/0405bad2bcdd403884f42a0a79534bc1.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.xml", + "ref/dotnet/es/System.IO.FileSystem.xml", + "ref/dotnet/fr/System.IO.FileSystem.xml", + "ref/dotnet/it/System.IO.FileSystem.xml", + "ref/dotnet/ja/System.IO.FileSystem.xml", + "ref/dotnet/ko/System.IO.FileSystem.xml", + "ref/dotnet/ru/System.IO.FileSystem.xml", + "ref/dotnet/System.IO.FileSystem.dll", + "ref/dotnet/System.IO.FileSystem.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "sha512": "7pJUvYi/Yq3A5nagqCCiOw3+aJp3xXc/Cjr8dnJDnER3/6kX3LEencfqmXUcPl9+7OvRNyPMNhqsLAcMK6K/KA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/2cf3542156f0426483f92b9e37d8d381.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.Primitives.nuspec" + ] + }, + "System.Linq/4.0.0": { + "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Linq.dll", + "lib/net45/_._", + "lib/netcore50/System.Linq.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/6fcde56ce4094f6a8fff4b28267da532.psmdcp", + "ref/dotnet/de/System.Linq.xml", + "ref/dotnet/es/System.Linq.xml", + "ref/dotnet/fr/System.Linq.xml", + "ref/dotnet/it/System.Linq.xml", + "ref/dotnet/ja/System.Linq.xml", + "ref/dotnet/ko/System.Linq.xml", + "ref/dotnet/ru/System.Linq.xml", + "ref/dotnet/System.Linq.dll", + "ref/dotnet/System.Linq.xml", + "ref/dotnet/zh-hans/System.Linq.xml", + "ref/dotnet/zh-hant/System.Linq.xml", + "ref/net45/_._", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "System.Linq.nuspec" + ] + }, + "System.Reflection/4.0.10": { + "sha512": "WZ+4lEE4gqGx6mrqLhSiW4oi6QLPWwdNjzhhTONmhELOrW8Cw9phlO9tltgvRUuQUqYtBiliFwhO5S5fCJElVw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Reflection.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/84d992ce164945bfa10835e447244fb1.psmdcp", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.dll", + "System.Reflection.nuspec" + ] + }, + "System.Reflection.Extensions/4.0.0": { + "sha512": "dbYaZWCyFAu1TGYUqR2n+Q+1casSHPR2vVW0WVNkXpZbrd2BXcZ7cpvpu9C98CTHtNmyfMWCLpCclDqly23t6A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.Extensions.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Extensions.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/0bcc335e1ef540948aef9032aca08bb2.psmdcp", + "ref/dotnet/de/System.Reflection.Extensions.xml", + "ref/dotnet/es/System.Reflection.Extensions.xml", + "ref/dotnet/fr/System.Reflection.Extensions.xml", + "ref/dotnet/it/System.Reflection.Extensions.xml", + "ref/dotnet/ja/System.Reflection.Extensions.xml", + "ref/dotnet/ko/System.Reflection.Extensions.xml", + "ref/dotnet/ru/System.Reflection.Extensions.xml", + "ref/dotnet/System.Reflection.Extensions.dll", + "ref/dotnet/System.Reflection.Extensions.xml", + "ref/dotnet/zh-hans/System.Reflection.Extensions.xml", + "ref/dotnet/zh-hant/System.Reflection.Extensions.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/netcore50/System.Reflection.Extensions.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll", + "System.Reflection.Extensions.nuspec" + ] + }, + "System.Reflection.Metadata/1.1.0-beta-23413": { + "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Reflection.Metadata.dll", + "lib/dotnet/System.Reflection.Metadata.xml", + "lib/portable-net45+win8/System.Reflection.Metadata.dll", + "lib/portable-net45+win8/System.Reflection.Metadata.xml", + "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "System.Reflection.Metadata.nuspec" + ] + }, + "System.Reflection.Primitives/4.0.0": { + "sha512": "n9S0XpKv2ruc17FSnaiX6nV47VfHTZ1wLjKZlAirUZCvDQCH71mVp+Ohabn0xXLh5pK2PKp45HCxkqu5Fxn/lA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/7070509f3bfd418d859635361251dab0.psmdcp", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll", + "System.Reflection.Primitives.nuspec" + ] + }, + "System.Resources.ResourceManager/4.0.0": { + "sha512": "qmqeZ4BJgjfU+G2JbrZt4Dk1LsMxO4t+f/9HarNY6w8pBgweO6jT+cknUH7c3qIrGvyUqraBhU45Eo6UtA0fAw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/657a73ee3f09479c9fedb9538ade8eac.psmdcp", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll", + "System.Resources.ResourceManager.nuspec" + ] + }, + "System.Runtime/4.0.20": { + "sha512": "X7N/9Bz7jVPorqdVFO86ns1sX6MlQM+WTxELtx+Z4VG45x9+LKmWH0GRqjgKprUnVuwmfB9EJ9DQng14Z7/zwg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/d1ded52f75da4446b1c962f9292aa3ef.psmdcp", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll", + "System.Runtime.nuspec" + ] + }, + "System.Runtime.Extensions/4.0.10": { + "sha512": "5dsEwf3Iml7d5OZeT20iyOjT+r+okWpN7xI2v+R4cgd3WSj4DeRPTvPFjDpacbVW4skCAZ8B9hxXJYgkCFKJ1A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c7fee76a13d04c7ea49fb1a24c184f37.psmdcp", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll", + "System.Runtime.Extensions.nuspec" + ] + }, + "System.Runtime.Handles/4.0.0": { + "sha512": "638VhpRq63tVcQ6HDb3um3R/J2BtR1Sa96toHo6PcJGPXEPEsleCuqhBgX2gFCz0y0qkutANwW6VPPY5wQu1XQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/da57aa32ff2441d1acfe85bee4f101ab.psmdcp", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll", + "System.Runtime.Handles.nuspec" + ] + }, + "System.Runtime.InteropServices/4.0.0": { + "sha512": "J8GBB0OsVuKJXR412x6uZdoyNi4y9OMjjJRHPutRHjqujuvthus6Xdxn/i8J1lL2PK+2jWCLpZp72h8x73hkLg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "License.rtf", + "package/services/metadata/core-properties/cb937f04833048a9948507c9ef331a18.psmdcp", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/de/System.Runtime.InteropServices.xml", + "ref/netcore50/es/System.Runtime.InteropServices.xml", + "ref/netcore50/fr/System.Runtime.InteropServices.xml", + "ref/netcore50/it/System.Runtime.InteropServices.xml", + "ref/netcore50/ja/System.Runtime.InteropServices.xml", + "ref/netcore50/ko/System.Runtime.InteropServices.xml", + "ref/netcore50/ru/System.Runtime.InteropServices.xml", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.Runtime.InteropServices.nuspec" + ] + }, + "System.Text.Encoding/4.0.10": { + "sha512": "fNlSFgy4OuDlJrP9SFFxMlaLazq6ipv15sU5TiEgg9UCVnA/OgoVUfymFp4AOk1jOkW5SVxWbeeIUptcM+m/Vw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/829e172aadac4937a5a6a4b386855282.psmdcp", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll", + "System.Text.Encoding.nuspec" + ] + }, + "System.Text.Encoding.Extensions/4.0.0": { + "sha512": "FktA77+2DC0S5oRhgM569pbzFrcA45iQpYiI7+YKl68B6TfI2N5TQbXqSWlh2YXKoFXHi2RFwPMha2lxiFJZ6A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "License.rtf", + "package/services/metadata/core-properties/c37aa1347f574e6c8df522449486a4d2.psmdcp", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/de/System.Text.Encoding.Extensions.xml", + "ref/netcore50/es/System.Text.Encoding.Extensions.xml", + "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", + "ref/netcore50/it/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.Text.Encoding.Extensions.nuspec" + ] + }, + "System.Threading/4.0.10": { + "sha512": "0w6pRxIEE7wuiOJeKabkDgeIKmqf4ER1VNrs6qFwHnooEE78yHwi/bKkg5Jo8/pzGLm0xQJw0nEmPXt1QBAIUA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c17c3791d8fa4efbb8aded2ca8c71fbe.psmdcp", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll", + "System.Threading.nuspec" + ] + }, + "System.Threading.Tasks/4.0.10": { + "sha512": "NOwJGDfk79jR0bnzosbXLVD/PdI8KzBeESoa3CofEM5v9R5EBfcI0Jyf18stx+0IYV9okmDIDxVtxq9TbnR9bQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/a4ed35f8764a4b68bb39ec8d13b3e730.psmdcp", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll", + "System.Threading.Tasks.nuspec" + ] + }, + "xunit/2.1.0": { + "sha512": "u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "package/services/metadata/core-properties/645916a897f44189a642f33e571d5b90.psmdcp", + "xunit.nuspec" + ] + }, + "xunit.abstractions/2.0.0": { + "sha512": "NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.xml", + "package/services/metadata/core-properties/24083640fee244bf9de77f4c35d40a72.psmdcp", + "xunit.abstractions.nuspec" + ] + }, + "xunit.assert/2.1.0": { + "sha512": "Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.assert.dll", + "lib/dotnet/xunit.assert.pdb", + "lib/dotnet/xunit.assert.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.xml", + "package/services/metadata/core-properties/4f538d979dfc48ed9b4c20e5a69d87b1.psmdcp", + "xunit.assert.nuspec" + ] + }, + "xunit.core/2.1.0": { + "sha512": "jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "build/_desktop/xunit.execution.desktop.dll", + "build/dnx451/_._", + "build/monoandroid/_._", + "build/monotouch/_._", + "build/net45/_._", + "build/portable-net45+win8+wp8+wpa81/xunit.core.props", + "build/win8/_._", + "build/win81/xunit.core.props", + "build/wp8/_._", + "build/wpa81/xunit.core.props", + "build/xamarinios/_._", + "package/services/metadata/core-properties/cce23a490b7f4272adfe9aa57c4e1ca3.psmdcp", + "xunit.core.nuspec" + ] + }, + "xunit.extensibility.core/2.1.0": { + "sha512": "ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.core.dll", + "lib/dotnet/xunit.core.dll.tdnet", + "lib/dotnet/xunit.core.pdb", + "lib/dotnet/xunit.core.xml", + "lib/dotnet/xunit.runner.tdnet.dll", + "lib/dotnet/xunit.runner.utility.desktop.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll.tdnet", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.tdnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.desktop.dll", + "package/services/metadata/core-properties/5218831c5b01422bb82b23cafd6488b3.psmdcp", + "xunit.extensibility.core.nuspec" + ] + }, + "xunit.extensibility.execution/2.1.0": { + "sha512": "tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dnx451/xunit.execution.dotnet.dll", + "lib/dnx451/xunit.execution.dotnet.pdb", + "lib/dnx451/xunit.execution.dotnet.xml", + "lib/dotnet/xunit.execution.dotnet.dll", + "lib/dotnet/xunit.execution.dotnet.pdb", + "lib/dotnet/xunit.execution.dotnet.xml", + "lib/monoandroid/xunit.execution.dotnet.dll", + "lib/monoandroid/xunit.execution.dotnet.pdb", + "lib/monoandroid/xunit.execution.dotnet.xml", + "lib/monotouch/xunit.execution.dotnet.dll", + "lib/monotouch/xunit.execution.dotnet.pdb", + "lib/monotouch/xunit.execution.dotnet.xml", + "lib/net45/xunit.execution.desktop.dll", + "lib/net45/xunit.execution.desktop.pdb", + "lib/net45/xunit.execution.desktop.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.xml", + "lib/win8/xunit.execution.dotnet.dll", + "lib/win8/xunit.execution.dotnet.pdb", + "lib/win8/xunit.execution.dotnet.xml", + "lib/wp8/xunit.execution.dotnet.dll", + "lib/wp8/xunit.execution.dotnet.pdb", + "lib/wp8/xunit.execution.dotnet.xml", + "lib/wpa81/xunit.execution.dotnet.dll", + "lib/wpa81/xunit.execution.dotnet.pdb", + "lib/wpa81/xunit.execution.dotnet.xml", + "lib/xamarinios/xunit.execution.dotnet.dll", + "lib/xamarinios/xunit.execution.dotnet.pdb", + "lib/xamarinios/xunit.execution.dotnet.xml", + "package/services/metadata/core-properties/9f5f1211ea9a4e748cecce63d1c73e30.psmdcp", + "xunit.extensibility.execution.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "Microsoft.DotNet.xunit.performance >= 1.0.0-alpha-build0023" + ], + ".NETFramework,Version=v4.6": [] + } +} \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Semantic/project.lock.json b/src/Compilers/CSharp/Test/Semantic/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/CSharp/Test/Semantic/project.lock.json +++ b/src/Compilers/CSharp/Test/Semantic/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/Test/Symbol/project.lock.json b/src/Compilers/CSharp/Test/Symbol/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/CSharp/Test/Symbol/project.lock.json +++ b/src/Compilers/CSharp/Test/Symbol/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/Test/Syntax/project.lock.json b/src/Compilers/CSharp/Test/Syntax/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/CSharp/Test/Syntax/project.lock.json +++ b/src/Compilers/CSharp/Test/Syntax/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/Test/WinRT/project.lock.json b/src/Compilers/CSharp/Test/WinRT/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/CSharp/Test/WinRT/project.lock.json +++ b/src/Compilers/CSharp/Test/WinRT/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/csc/csc.exe.config b/src/Compilers/CSharp/csc/csc.exe.config index 8f4da64769c95..cfa57ec51abd6 100644 --- a/src/Compilers/CSharp/csc/csc.exe.config +++ b/src/Compilers/CSharp/csc/csc.exe.config @@ -8,15 +8,15 @@ - + - + - + diff --git a/src/Compilers/CSharp/csc/project.lock.json b/src/Compilers/CSharp/csc/project.lock.json index 3cd53e6c7e421..8a809d6a71e52 100644 --- a/src/Compilers/CSharp/csc/project.lock.json +++ b/src/Compilers/CSharp/csc/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -408,7 +408,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -841,8 +841,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -851,7 +851,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/CSharp/csc2/project.lock.json b/src/Compilers/CSharp/csc2/project.lock.json index 3cd53e6c7e421..8a809d6a71e52 100644 --- a/src/Compilers/CSharp/csc2/project.lock.json +++ b/src/Compilers/CSharp/csc2/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -408,7 +408,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -841,8 +841,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -851,7 +851,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Core/CodeAnalysisTest/project.lock.json b/src/Compilers/Core/CodeAnalysisTest/project.lock.json index 62bb99bf50b39..197a258005f67 100644 --- a/src/Compilers/Core/CodeAnalysisTest/project.lock.json +++ b/src/Compilers/Core/CodeAnalysisTest/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Core/MSBuildTask/project.lock.json b/src/Compilers/Core/MSBuildTask/project.lock.json index f06c4be4edb2c..01e365fff1083 100644 --- a/src/Compilers/Core/MSBuildTask/project.lock.json +++ b/src/Compilers/Core/MSBuildTask/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -676,8 +676,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -686,7 +686,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Core/MSBuildTaskTests/project.lock.json b/src/Compilers/Core/MSBuildTaskTests/project.lock.json index f00666303623a..26493e98197fb 100644 --- a/src/Compilers/Core/MSBuildTaskTests/project.lock.json +++ b/src/Compilers/Core/MSBuildTaskTests/project.lock.json @@ -102,7 +102,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -627,8 +627,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -637,7 +637,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Core/Portable/project.lock.json b/src/Compilers/Core/Portable/project.lock.json index 1122a57523ec5..1ec5721eaf952 100644 --- a/src/Compilers/Core/Portable/project.lock.json +++ b/src/Compilers/Core/Portable/project.lock.json @@ -12,7 +12,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -56,8 +56,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -66,7 +66,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } @@ -75,7 +75,7 @@ "": [ "Microsoft.DiaSymReader.Native >= 1.2.0-rc", "System.Collections.Immutable >= 1.1.37", - "System.Reflection.Metadata >= 1.1.0-alpha-23413" + "System.Reflection.Metadata >= 1.1.0-alpha-00015" ], ".NETPortable,Version=v4.5,Profile=Profile7": [] } diff --git a/src/Compilers/Core/VBCSCompiler/App.config b/src/Compilers/Core/VBCSCompiler/App.config index b156bc115f30c..ab4482a854cd7 100644 --- a/src/Compilers/Core/VBCSCompiler/App.config +++ b/src/Compilers/Core/VBCSCompiler/App.config @@ -8,15 +8,15 @@ - + - + - + diff --git a/src/Compilers/Core/VBCSCompiler/project.lock.json b/src/Compilers/Core/VBCSCompiler/project.lock.json index 3cd53e6c7e421..8a809d6a71e52 100644 --- a/src/Compilers/Core/VBCSCompiler/project.lock.json +++ b/src/Compilers/Core/VBCSCompiler/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -408,7 +408,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -841,8 +841,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -851,7 +851,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Core/VBCSCompilerTests/project.lock.json b/src/Compilers/Core/VBCSCompilerTests/project.lock.json index bb80513c1b1b3..ccd22a1b2ae54 100644 --- a/src/Compilers/Core/VBCSCompilerTests/project.lock.json +++ b/src/Compilers/Core/VBCSCompilerTests/project.lock.json @@ -102,7 +102,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -627,8 +627,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -637,7 +637,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Test/Resources/Core/project.lock.json b/src/Compilers/Test/Resources/Core/project.lock.json index bad2f80bd84ae..553843b3d7808 100644 --- a/src/Compilers/Test/Resources/Core/project.lock.json +++ b/src/Compilers/Test/Resources/Core/project.lock.json @@ -12,7 +12,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -56,8 +56,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -66,7 +66,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Compilers/Test/Utilities/CSharp/project.lock.json b/src/Compilers/Test/Utilities/CSharp/project.lock.json index 02514cc6a6c25..22d49f1ccdcad 100644 --- a/src/Compilers/Test/Utilities/CSharp/project.lock.json +++ b/src/Compilers/Test/Utilities/CSharp/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -602,8 +602,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -612,7 +612,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/Test/Utilities/VisualBasic/project.lock.json b/src/Compilers/Test/Utilities/VisualBasic/project.lock.json index 02514cc6a6c25..22d49f1ccdcad 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/project.lock.json +++ b/src/Compilers/Test/Utilities/VisualBasic/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -602,8 +602,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -612,7 +612,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/Portable/Compilation/DocumentationComments/DocumentationCommentCompiler.Field.vb b/src/Compilers/VisualBasic/Portable/Compilation/DocumentationComments/DocumentationCommentCompiler.Field.vb index d88d8b40f2608..fbbace21c0b8d 100644 --- a/src/Compilers/VisualBasic/Portable/Compilation/DocumentationComments/DocumentationCommentCompiler.Field.vb +++ b/src/Compilers/VisualBasic/Portable/Compilation/DocumentationComments/DocumentationCommentCompiler.Field.vb @@ -84,6 +84,5 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End Sub End Class - End Class End Namespace diff --git a/src/Compilers/VisualBasic/Portable/Lowering/Diagnostics/DiagnosticsPass_ExpressionLambdas.vb b/src/Compilers/VisualBasic/Portable/Lowering/Diagnostics/DiagnosticsPass_ExpressionLambdas.vb index 215f0839edf0a..158adfff0a143 100644 --- a/src/Compilers/VisualBasic/Portable/Lowering/Diagnostics/DiagnosticsPass_ExpressionLambdas.vb +++ b/src/Compilers/VisualBasic/Portable/Lowering/Diagnostics/DiagnosticsPass_ExpressionLambdas.vb @@ -142,7 +142,13 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End Function Public Overrides Function VisitAssignmentOperator(node As BoundAssignmentOperator) As BoundNode - If Me.IsInExpressionLambda Then + 'COMPAT: old compiler used to allow assignments to properties + ' we will continue allowing that too + 'NOTE: native vbc also allows compound assignments like += but generates incorrect code. + ' we are not going to support += assuming that it is not likely to be used in real scenarios. + If Me.IsInExpressionLambda AndAlso + Not (node.Left.Kind = BoundKind.PropertyAccess AndAlso node.LeftOnTheRightOpt Is Nothing) Then + ' Do not support explicit assignments GenerateExpressionTreeNotSupportedDiagnostic(node) End If diff --git a/src/Compilers/VisualBasic/Portable/Lowering/ExpressionLambdaRewriter/ExpressionLambdaRewriter.vb b/src/Compilers/VisualBasic/Portable/Lowering/ExpressionLambdaRewriter/ExpressionLambdaRewriter.vb index 9f51e98043748..9bf31baa1d45e 100644 --- a/src/Compilers/VisualBasic/Portable/Lowering/ExpressionLambdaRewriter/ExpressionLambdaRewriter.vb +++ b/src/Compilers/VisualBasic/Portable/Lowering/ExpressionLambdaRewriter/ExpressionLambdaRewriter.vb @@ -666,7 +666,7 @@ lSelect: ' All other cases are not supported, note that some cases of invalid ' sequences are handled in DiagnosticsPass, but we still want to catch ' here those sequences created in lowering - Return GenerateDiagnosticAndReturnDummyExpression(ERRID.ERR_ExpressionTreeNotSupported, value) + Return GenerateDiagnosticAndReturnDummyExpression(ERRID.ERR_ExpressionTreeNotSupported, node) End Function Private Function VisitArrayLength(node As BoundArrayLength) As BoundExpression diff --git a/src/Compilers/VisualBasic/Portable/project.lock.json b/src/Compilers/VisualBasic/Portable/project.lock.json index bad2f80bd84ae..553843b3d7808 100644 --- a/src/Compilers/VisualBasic/Portable/project.lock.json +++ b/src/Compilers/VisualBasic/Portable/project.lock.json @@ -12,7 +12,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -56,8 +56,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -66,7 +66,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Compilers/VisualBasic/Test/CommandLine/project.lock.json b/src/Compilers/VisualBasic/Test/CommandLine/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/VisualBasic/Test/CommandLine/project.lock.json +++ b/src/Compilers/VisualBasic/Test/CommandLine/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/Test/Emit/ExpressionTrees/CodeGenExprLambda.vb b/src/Compilers/VisualBasic/Test/Emit/ExpressionTrees/CodeGenExprLambda.vb index 5ca013a66aba6..dc82b2c54878a 100644 --- a/src/Compilers/VisualBasic/Test/Emit/ExpressionTrees/CodeGenExprLambda.vb +++ b/src/Compilers/VisualBasic/Test/Emit/ExpressionTrees/CodeGenExprLambda.vb @@ -7992,5 +7992,211 @@ e2 => () => new MyStack`1() {Void Add(Int32)(42)} ]]>).VerifyDiagnostics() End Sub + + Public Sub PropertyAssignment() + + Dim source = + + + + CompileAndVerify(source, + additionalRefs:={SystemCoreRef}, + options:=TestOptions.ReleaseExe, + expectedOutput:= x.set_City(ItIs(s => IsNullOrEmpty(s))) +x => x.set_City("aa") +aa +]]>).VerifyDiagnostics() + + + End Sub + + + Public Sub PropertyAssignmentParameterized() + + Dim source = + + + + CompileAndVerify(source, + additionalRefs:={SystemCoreRef}, + options:=TestOptions.ReleaseExe, + expectedOutput:= x.set_City(1, ItIs(s => IsNullOrEmpty(s))) +x => x.set_City(value(Module1+_Closure$__4-0).$VB$Local_i, "aa") +aa23 +]]>).VerifyDiagnostics() + + + End Sub + + + Public Sub PropertyAssignmentCompound() + + Dim source = + + + + + Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime(source, + additionalRefs:={SystemCoreRef}, + options:=TestOptions.ReleaseExe) + + compilation.VerifyDiagnostics( + Diagnostic(ERRID.ERR_ExpressionTreeNotSupported, "x.City += ""qq""").WithLocation(39, 25) + ) + + End Sub + End Class End Namespace diff --git a/src/Compilers/VisualBasic/Test/Emit/project.lock.json b/src/Compilers/VisualBasic/Test/Emit/project.lock.json index 535671ee72f9a..64d76d451653c 100644 --- a/src/Compilers/VisualBasic/Test/Emit/project.lock.json +++ b/src/Compilers/VisualBasic/Test/Emit/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/Test/Performance/App.config b/src/Compilers/VisualBasic/Test/Performance/App.config new file mode 100644 index 0000000000000..a90a662f7446e --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/App.config @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/Compilers/VisualBasic/Test/Performance/BasicCompilerPerformanceTest.vbproj b/src/Compilers/VisualBasic/Test/Performance/BasicCompilerPerformanceTest.vbproj new file mode 100644 index 0000000000000..32c90728c23ad --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/BasicCompilerPerformanceTest.vbproj @@ -0,0 +1,83 @@ + + + + + + + + true + Debug + AnyCPU + {0835A7FB-C472-4F7D-A500-F9FD072CFF21} + Library + Microsoft.CodeAnalysis.VisualBasic.PerformanceTests + Roslyn.Compilers.Basic.PerformanceTests + 512 + Windows + v4.6 + + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + {76c6f005-c89d-4348-bb4a-391898dbeb52} + TestUtilities.Desktop + + + {f7712928-1175-47b3-8819-ee086753dee2} + TestUtilities.FX45 + + + {1ee8cad3-55f9-4d91-96b2-084641da9a6c} + CodeAnalysis + + + {4371944a-d3ba-4b5b-8285-82e5ffc6d1f8} + BasicCompilerTestUtilities + + + {2523d0e6-df32-4a3e-8ae0-a19bffae2ef6} + BasicCodeAnalysis + + + + + + + + + + + \ No newline at end of file diff --git a/src/Compilers/VisualBasic/Test/Performance/CalibrationBenchmarks.vb b/src/Compilers/VisualBasic/Test/Performance/CalibrationBenchmarks.vb new file mode 100644 index 0000000000000..f19e886151fda --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/CalibrationBenchmarks.vb @@ -0,0 +1,21 @@ +Imports Microsoft.Xunit.Performance +Imports Xunit + +Namespace Microsoft.CodeAnalysis.VisualBasic.PerformanceTests + + Public Class CalibrationBenchmarks + + Public Sub DoNothing() + Benchmark.Iterate(Sub() + End Sub) + End Sub + + + + Public Sub Sleep(durationInMilliseconds As Integer) + Benchmark.Iterate(Sub() + Threading.Thread.Sleep(durationInMilliseconds) + End Sub) + End Sub + End Class +End Namespace diff --git a/src/Compilers/VisualBasic/Test/Performance/CompilationBenchmarks.vb b/src/Compilers/VisualBasic/Test/Performance/CompilationBenchmarks.vb new file mode 100644 index 0000000000000..54294e3480c4c --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/CompilationBenchmarks.vb @@ -0,0 +1,36 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports Microsoft.Xunit.Performance +Imports Microsoft.CodeAnalysis.VisualBasic.UnitTests + +Namespace Microsoft.CodeAnalysis.VisualBasic.PerformanceTests + Public Class CompilationBenchmarks + Inherits BasicTestBase + + + Public Sub EmptyCompilation() + Benchmark.Iterate(Sub() + CreateVisualBasicCompilation(code:=String.Empty) + End Sub) + End Sub + + + Public Sub CompileHelloWorld() + Const helloWorldBasicSource = "Imports System.Console + +Module Hello + Sub Main() + WriteLine(""Hello, world!"") + End Sub +End Module +" + + Benchmark.Iterate(Sub() + Dim compilation = CreateVisualBasicCompilation(helloWorldBasicSource) + Dim errors = compilation.GetDiagnostics() + End Sub) + End Sub + + End Class + +End Namespace diff --git a/src/Compilers/VisualBasic/Test/Performance/SyntaxBenchmarks.vb b/src/Compilers/VisualBasic/Test/Performance/SyntaxBenchmarks.vb new file mode 100644 index 0000000000000..884a1a4207f5e --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/SyntaxBenchmarks.vb @@ -0,0 +1,27 @@ +Imports Microsoft.Xunit.Performance + +Namespace Microsoft.CodeAnalysis.VisualBasic.PerformanceTests + Public Class SyntaxBenchmarks + + Public Sub EmptyParse() + Benchmark.Iterate(Sub() + Dim tree = VisualBasicSyntaxTree.ParseText("") + End Sub) + End Sub + + + Public Sub HelloWorldParse() + Const helloVb = "Imports System.Console + +Module Hello + Sub Main() + WriteLine(""Hello, world!"") + End Sub +End Module +" + Benchmark.Iterate(Sub() + Dim tree = VisualBasicSyntaxTree.ParseText(helloVb) + End Sub) + End Sub + End Class +End Namespace diff --git a/src/Compilers/VisualBasic/Test/Performance/project.json b/src/Compilers/VisualBasic/Test/Performance/project.json new file mode 100644 index 0000000000000..5186a44dc8497 --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/project.json @@ -0,0 +1,8 @@ +{ + "dependencies": { + "Microsoft.DotNet.xunit.performance": "1.0.0-alpha-build0023" + }, + "frameworks": { + "net46": {} + } +} \ No newline at end of file diff --git a/src/Compilers/VisualBasic/Test/Performance/project.lock.json b/src/Compilers/VisualBasic/Test/Performance/project.lock.json new file mode 100644 index 0000000000000..c2656d7d86d7c --- /dev/null +++ b/src/Compilers/VisualBasic/Test/Performance/project.lock.json @@ -0,0 +1,1247 @@ +{ + "locked": false, + "version": 1, + "targets": { + ".NETFramework,Version=v4.6": { + "Microsoft.CodeAnalysis.Test.Resources.Proprietary/1.1.0-beta1-20150824-02": { + "compile": { + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll": {} + }, + "runtime": { + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll": {} + } + }, + "Microsoft.DiaSymReader/1.0.6": { + "compile": { + "lib/net20/Microsoft.DiaSymReader.dll": {} + }, + "runtime": { + "lib/net20/Microsoft.DiaSymReader.dll": {} + } + }, + "Microsoft.DiaSymReader.Native/1.2.0-rc": {}, + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "dependencies": { + "System.Collections": "[4.0.10, )", + "System.Diagnostics.Debug": "[4.0.10, )", + "System.Diagnostics.Tracing": "[4.0.20, )", + "System.Globalization": "[4.0.10, )", + "System.IO": "[4.0.10, )", + "System.IO.FileSystem": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Reflection": "[4.0.10, )", + "System.Runtime": "[4.0.20, )", + "System.Runtime.Extensions": "[4.0.10, )", + "System.Text.Encoding": "[4.0.10, )", + "System.Threading": "[4.0.10, )", + "System.Threading.Tasks": "[4.0.10, )", + "xunit.abstractions": "[2.0.0, )", + "xunit.extensibility.core": "[2.1.0, )", + "xunit.extensibility.execution": "[2.1.0, )" + }, + "compile": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + }, + "runtime": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + } + }, + "System.Collections/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Collections.Immutable/1.1.37": { + "dependencies": { + "System.Collections": "[4.0.0, )", + "System.Diagnostics.Debug": "[4.0.0, )", + "System.Globalization": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Resources.ResourceManager": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Extensions": "[4.0.0, )", + "System.Threading": "[4.0.0, )" + }, + "compile": { + "lib/dotnet/System.Collections.Immutable.dll": {} + }, + "runtime": { + "lib/dotnet/System.Collections.Immutable.dll": {} + } + }, + "System.Diagnostics.Debug/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Tracing/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Globalization/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO.FileSystem/4.0.0": { + "dependencies": { + "System.IO": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Handles": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Threading.Tasks": "[4.0.0, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "dependencies": { + "System.Runtime": "[4.0.20, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Linq/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Reflection.Extensions/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection.Metadata/1.1.0-beta-23413": { + "dependencies": { + "System.Collections": "[4.0.0, )", + "System.Collections.Immutable": "[1.1.37, )", + "System.Diagnostics.Debug": "[4.0.0, )", + "System.IO": "[4.0.0, )", + "System.Reflection": "[4.0.0, )", + "System.Reflection.Extensions": "[4.0.0, )", + "System.Reflection.Primitives": "[4.0.0, )", + "System.Resources.ResourceManager": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Extensions": "[4.0.0, )", + "System.Runtime.InteropServices": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Text.Encoding.Extensions": "[4.0.0, )", + "System.Threading": "[4.0.0, )" + }, + "compile": { + "lib/dotnet/System.Reflection.Metadata.dll": {} + }, + "runtime": { + "lib/dotnet/System.Reflection.Metadata.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Resources.ResourceManager/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Runtime/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Extensions/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Handles/4.0.0": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.InteropServices/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Text.Encoding/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Text.Encoding.Extensions/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Threading/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading.Tasks/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "xunit/2.1.0": { + "dependencies": { + "xunit.assert": "[2.1.0, 2.1.0]", + "xunit.core": "[2.1.0, 2.1.0]" + } + }, + "xunit.abstractions/2.0.0": { + "compile": { + "lib/net35/xunit.abstractions.dll": {} + }, + "runtime": { + "lib/net35/xunit.abstractions.dll": {} + } + }, + "xunit.assert/2.1.0": { + "compile": { + "lib/dotnet/xunit.assert.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.assert.dll": {} + } + }, + "xunit.core/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]", + "xunit.extensibility.execution": "[2.1.0, 2.1.0]" + } + }, + "xunit.extensibility.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "[2.0.0, 2.0.0]" + }, + "compile": { + "lib/dotnet/xunit.core.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]" + }, + "compile": { + "lib/net45/xunit.execution.desktop.dll": {} + }, + "runtime": { + "lib/net45/xunit.execution.desktop.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.CodeAnalysis.Test.Resources.Proprietary/1.1.0-beta1-20150824-02": { + "sha512": "mQa72JIzSdIC7wOcW8vl1izgZ+GSeTRrYYpbPKPvrX/PeygTd4SRxord7PL+fTb1q3YjlwMBSqgJsDXVa99fUA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net45/Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll", + "Microsoft.CodeAnalysis.Test.Resources.Proprietary.nuspec", + "package/services/metadata/core-properties/58b0e57bbbed434fb2c05b7ef3a926cc.psmdcp" + ] + }, + "Microsoft.DiaSymReader/1.0.6": { + "sha512": "ai2eBJrXlHa0hecUKnEyacH0iXxGNOMpc9X0s7VAeqqh5TSTW70QMhTRZ0FNCtf3R/W67K4a+uf3R7MASmAjrg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net20/Microsoft.DiaSymReader.dll", + "lib/net20/Microsoft.DiaSymReader.xml", + "lib/portable-net45+win8/Microsoft.DiaSymReader.dll", + "lib/portable-net45+win8/Microsoft.DiaSymReader.xml", + "Microsoft.DiaSymReader.nuspec", + "package/services/metadata/core-properties/ead7dc5d4bf24fbe8708f348725a9b02.psmdcp" + ] + }, + "Microsoft.DiaSymReader.Native/1.2.0-rc": { + "sha512": "dSk3ln9b2MMOFnXVB47HVbdjl3r7EcikC2qTCmVrfGDJiMyLt2F3kumxICbRTuQhEGNvPnVH9p9lWKIQlNjd+w==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "Microsoft.DiaSymReader.Native.nuspec", + "package/services/metadata/core-properties/9e1fb86d21eb4b64b48d73be0a3ac9f7.psmdcp", + "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll", + "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll", + "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll", + "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll", + "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll", + "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll" + ] + }, + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "sha512": "7TOhATYXNVMF3HHGuM/WFHLt7r4uvFIUliplzIHsfL/KwxaHUbV6RI1f7EZRAioMbJI5520BGOOZ+9XIqtTQuA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.performance.core.dll", + "lib/dotnet/xunit.performance.core.pdb", + "lib/dotnet/xunit.performance.core.XML", + "lib/dotnet/xunit.performance.execution.dotnet.dll", + "lib/dotnet/xunit.performance.execution.dotnet.pdb", + "lib/net46/xunit.performance.core.dll", + "lib/net46/xunit.performance.core.pdb", + "lib/net46/xunit.performance.core.XML", + "lib/net46/xunit.performance.execution.desktop.dll", + "lib/net46/xunit.performance.execution.desktop.pdb", + "Microsoft.DotNet.xunit.performance.nuspec", + "package/services/metadata/core-properties/b700b008fbc64ae1a3ad112bf6153897.psmdcp" + ] + }, + "System.Collections/4.0.10": { + "sha512": "ux6ilcZZjV/Gp7JEZpe+2V1eTueq6NuoGRM3eZCFuPM25hLVVgCRuea6STW8hvqreIOE59irJk5/ovpA5xQipw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Collections.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Collections.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/b4f8061406e54dbda8f11b23186be11a.psmdcp", + "ref/dotnet/de/System.Collections.xml", + "ref/dotnet/es/System.Collections.xml", + "ref/dotnet/fr/System.Collections.xml", + "ref/dotnet/it/System.Collections.xml", + "ref/dotnet/ja/System.Collections.xml", + "ref/dotnet/ko/System.Collections.xml", + "ref/dotnet/ru/System.Collections.xml", + "ref/dotnet/System.Collections.dll", + "ref/dotnet/System.Collections.xml", + "ref/dotnet/zh-hans/System.Collections.xml", + "ref/dotnet/zh-hant/System.Collections.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Collections.dll", + "System.Collections.nuspec" + ] + }, + "System.Collections.Immutable/1.1.37": { + "sha512": "fTpqwZYBzoklTT+XjTRK8KxvmrGkYHzBiylCcKyQcxiOM8k+QvhNBxRvFHDWzy4OEP5f8/9n+xQ9mEgEXY+muA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Collections.Immutable.dll", + "lib/dotnet/System.Collections.Immutable.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml", + "package/services/metadata/core-properties/a02fdeabe1114a24bba55860b8703852.psmdcp", + "System.Collections.Immutable.nuspec" + ] + }, + "System.Diagnostics.Debug/4.0.10": { + "sha512": "pi2KthuvI2LWV2c2V+fwReDsDiKpNl040h6DcwFOb59SafsPT/V1fCy0z66OKwysurJkBMmp5j5CBe3Um+ub0g==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Debug.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Debug.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/bfb05c26051f4a5f9015321db9cb045c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Debug.xml", + "ref/dotnet/es/System.Diagnostics.Debug.xml", + "ref/dotnet/fr/System.Diagnostics.Debug.xml", + "ref/dotnet/it/System.Diagnostics.Debug.xml", + "ref/dotnet/ja/System.Diagnostics.Debug.xml", + "ref/dotnet/ko/System.Diagnostics.Debug.xml", + "ref/dotnet/ru/System.Diagnostics.Debug.xml", + "ref/dotnet/System.Diagnostics.Debug.dll", + "ref/dotnet/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll", + "System.Diagnostics.Debug.nuspec" + ] + }, + "System.Diagnostics.Tracing/4.0.20": { + "sha512": "gn/wexGHc35Fv++5L1gYHMY5g25COfiZ0PGrL+3PfwzoJd4X2LbTAm/U8d385SI6BKQBI/z4dQfvneS9J27+Tw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Tracing.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Tracing.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/13423e75e6344b289b3779b51522737c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Tracing.xml", + "ref/dotnet/es/System.Diagnostics.Tracing.xml", + "ref/dotnet/fr/System.Diagnostics.Tracing.xml", + "ref/dotnet/it/System.Diagnostics.Tracing.xml", + "ref/dotnet/ja/System.Diagnostics.Tracing.xml", + "ref/dotnet/ko/System.Diagnostics.Tracing.xml", + "ref/dotnet/ru/System.Diagnostics.Tracing.xml", + "ref/dotnet/System.Diagnostics.Tracing.dll", + "ref/dotnet/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll", + "System.Diagnostics.Tracing.nuspec" + ] + }, + "System.Globalization/4.0.10": { + "sha512": "kzRtbbCNAxdafFBDogcM36ehA3th8c1PGiz8QRkZn8O5yMBorDHSK8/TGJPYOaCS5zdsGk0u9qXHnW91nqy7fw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Globalization.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Globalization.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/93bcad242a4e4ad7afd0b53244748763.psmdcp", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Globalization.dll", + "System.Globalization.nuspec" + ] + }, + "System.IO/4.0.10": { + "sha512": "kghf1CeYT+W2lw8a50/GxFz5HR9t6RkL4BvjxtTp1NxtEFWywnMA9W8FH/KYXiDNThcw9u/GOViDON4iJFGXIQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/db72fd58a86b4d13a6d2858ebec46705.psmdcp", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll", + "System.IO.nuspec" + ] + }, + "System.IO.FileSystem/4.0.0": { + "sha512": "eo05SPWfG+54UA0wxgRIYOuOslq+2QrJLXZaJDDsfLXG15OLguaItW39NYZTqUb4DeGOkU4R0wpOLOW4ynMUDQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.FileSystem.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/netcore50/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/0405bad2bcdd403884f42a0a79534bc1.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.xml", + "ref/dotnet/es/System.IO.FileSystem.xml", + "ref/dotnet/fr/System.IO.FileSystem.xml", + "ref/dotnet/it/System.IO.FileSystem.xml", + "ref/dotnet/ja/System.IO.FileSystem.xml", + "ref/dotnet/ko/System.IO.FileSystem.xml", + "ref/dotnet/ru/System.IO.FileSystem.xml", + "ref/dotnet/System.IO.FileSystem.dll", + "ref/dotnet/System.IO.FileSystem.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "sha512": "7pJUvYi/Yq3A5nagqCCiOw3+aJp3xXc/Cjr8dnJDnER3/6kX3LEencfqmXUcPl9+7OvRNyPMNhqsLAcMK6K/KA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/2cf3542156f0426483f92b9e37d8d381.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.Primitives.nuspec" + ] + }, + "System.Linq/4.0.0": { + "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Linq.dll", + "lib/net45/_._", + "lib/netcore50/System.Linq.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/6fcde56ce4094f6a8fff4b28267da532.psmdcp", + "ref/dotnet/de/System.Linq.xml", + "ref/dotnet/es/System.Linq.xml", + "ref/dotnet/fr/System.Linq.xml", + "ref/dotnet/it/System.Linq.xml", + "ref/dotnet/ja/System.Linq.xml", + "ref/dotnet/ko/System.Linq.xml", + "ref/dotnet/ru/System.Linq.xml", + "ref/dotnet/System.Linq.dll", + "ref/dotnet/System.Linq.xml", + "ref/dotnet/zh-hans/System.Linq.xml", + "ref/dotnet/zh-hant/System.Linq.xml", + "ref/net45/_._", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "System.Linq.nuspec" + ] + }, + "System.Reflection/4.0.10": { + "sha512": "WZ+4lEE4gqGx6mrqLhSiW4oi6QLPWwdNjzhhTONmhELOrW8Cw9phlO9tltgvRUuQUqYtBiliFwhO5S5fCJElVw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Reflection.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/84d992ce164945bfa10835e447244fb1.psmdcp", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.dll", + "System.Reflection.nuspec" + ] + }, + "System.Reflection.Extensions/4.0.0": { + "sha512": "dbYaZWCyFAu1TGYUqR2n+Q+1casSHPR2vVW0WVNkXpZbrd2BXcZ7cpvpu9C98CTHtNmyfMWCLpCclDqly23t6A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.Extensions.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Extensions.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/0bcc335e1ef540948aef9032aca08bb2.psmdcp", + "ref/dotnet/de/System.Reflection.Extensions.xml", + "ref/dotnet/es/System.Reflection.Extensions.xml", + "ref/dotnet/fr/System.Reflection.Extensions.xml", + "ref/dotnet/it/System.Reflection.Extensions.xml", + "ref/dotnet/ja/System.Reflection.Extensions.xml", + "ref/dotnet/ko/System.Reflection.Extensions.xml", + "ref/dotnet/ru/System.Reflection.Extensions.xml", + "ref/dotnet/System.Reflection.Extensions.dll", + "ref/dotnet/System.Reflection.Extensions.xml", + "ref/dotnet/zh-hans/System.Reflection.Extensions.xml", + "ref/dotnet/zh-hant/System.Reflection.Extensions.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/netcore50/System.Reflection.Extensions.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll", + "System.Reflection.Extensions.nuspec" + ] + }, + "System.Reflection.Metadata/1.1.0-beta-23413": { + "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Reflection.Metadata.dll", + "lib/dotnet/System.Reflection.Metadata.xml", + "lib/portable-net45+win8/System.Reflection.Metadata.dll", + "lib/portable-net45+win8/System.Reflection.Metadata.xml", + "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "System.Reflection.Metadata.nuspec" + ] + }, + "System.Reflection.Primitives/4.0.0": { + "sha512": "n9S0XpKv2ruc17FSnaiX6nV47VfHTZ1wLjKZlAirUZCvDQCH71mVp+Ohabn0xXLh5pK2PKp45HCxkqu5Fxn/lA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/7070509f3bfd418d859635361251dab0.psmdcp", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll", + "System.Reflection.Primitives.nuspec" + ] + }, + "System.Resources.ResourceManager/4.0.0": { + "sha512": "qmqeZ4BJgjfU+G2JbrZt4Dk1LsMxO4t+f/9HarNY6w8pBgweO6jT+cknUH7c3qIrGvyUqraBhU45Eo6UtA0fAw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/657a73ee3f09479c9fedb9538ade8eac.psmdcp", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll", + "System.Resources.ResourceManager.nuspec" + ] + }, + "System.Runtime/4.0.20": { + "sha512": "X7N/9Bz7jVPorqdVFO86ns1sX6MlQM+WTxELtx+Z4VG45x9+LKmWH0GRqjgKprUnVuwmfB9EJ9DQng14Z7/zwg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/d1ded52f75da4446b1c962f9292aa3ef.psmdcp", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll", + "System.Runtime.nuspec" + ] + }, + "System.Runtime.Extensions/4.0.10": { + "sha512": "5dsEwf3Iml7d5OZeT20iyOjT+r+okWpN7xI2v+R4cgd3WSj4DeRPTvPFjDpacbVW4skCAZ8B9hxXJYgkCFKJ1A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c7fee76a13d04c7ea49fb1a24c184f37.psmdcp", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll", + "System.Runtime.Extensions.nuspec" + ] + }, + "System.Runtime.Handles/4.0.0": { + "sha512": "638VhpRq63tVcQ6HDb3um3R/J2BtR1Sa96toHo6PcJGPXEPEsleCuqhBgX2gFCz0y0qkutANwW6VPPY5wQu1XQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/da57aa32ff2441d1acfe85bee4f101ab.psmdcp", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll", + "System.Runtime.Handles.nuspec" + ] + }, + "System.Runtime.InteropServices/4.0.0": { + "sha512": "J8GBB0OsVuKJXR412x6uZdoyNi4y9OMjjJRHPutRHjqujuvthus6Xdxn/i8J1lL2PK+2jWCLpZp72h8x73hkLg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "License.rtf", + "package/services/metadata/core-properties/cb937f04833048a9948507c9ef331a18.psmdcp", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/de/System.Runtime.InteropServices.xml", + "ref/netcore50/es/System.Runtime.InteropServices.xml", + "ref/netcore50/fr/System.Runtime.InteropServices.xml", + "ref/netcore50/it/System.Runtime.InteropServices.xml", + "ref/netcore50/ja/System.Runtime.InteropServices.xml", + "ref/netcore50/ko/System.Runtime.InteropServices.xml", + "ref/netcore50/ru/System.Runtime.InteropServices.xml", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.Runtime.InteropServices.nuspec" + ] + }, + "System.Text.Encoding/4.0.10": { + "sha512": "fNlSFgy4OuDlJrP9SFFxMlaLazq6ipv15sU5TiEgg9UCVnA/OgoVUfymFp4AOk1jOkW5SVxWbeeIUptcM+m/Vw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/829e172aadac4937a5a6a4b386855282.psmdcp", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll", + "System.Text.Encoding.nuspec" + ] + }, + "System.Text.Encoding.Extensions/4.0.0": { + "sha512": "FktA77+2DC0S5oRhgM569pbzFrcA45iQpYiI7+YKl68B6TfI2N5TQbXqSWlh2YXKoFXHi2RFwPMha2lxiFJZ6A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "License.rtf", + "package/services/metadata/core-properties/c37aa1347f574e6c8df522449486a4d2.psmdcp", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/de/System.Text.Encoding.Extensions.xml", + "ref/netcore50/es/System.Text.Encoding.Extensions.xml", + "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", + "ref/netcore50/it/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.Text.Encoding.Extensions.nuspec" + ] + }, + "System.Threading/4.0.10": { + "sha512": "0w6pRxIEE7wuiOJeKabkDgeIKmqf4ER1VNrs6qFwHnooEE78yHwi/bKkg5Jo8/pzGLm0xQJw0nEmPXt1QBAIUA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c17c3791d8fa4efbb8aded2ca8c71fbe.psmdcp", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll", + "System.Threading.nuspec" + ] + }, + "System.Threading.Tasks/4.0.10": { + "sha512": "NOwJGDfk79jR0bnzosbXLVD/PdI8KzBeESoa3CofEM5v9R5EBfcI0Jyf18stx+0IYV9okmDIDxVtxq9TbnR9bQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/a4ed35f8764a4b68bb39ec8d13b3e730.psmdcp", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll", + "System.Threading.Tasks.nuspec" + ] + }, + "xunit/2.1.0": { + "sha512": "u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "package/services/metadata/core-properties/645916a897f44189a642f33e571d5b90.psmdcp", + "xunit.nuspec" + ] + }, + "xunit.abstractions/2.0.0": { + "sha512": "NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.xml", + "package/services/metadata/core-properties/24083640fee244bf9de77f4c35d40a72.psmdcp", + "xunit.abstractions.nuspec" + ] + }, + "xunit.assert/2.1.0": { + "sha512": "Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.assert.dll", + "lib/dotnet/xunit.assert.pdb", + "lib/dotnet/xunit.assert.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.assert.xml", + "package/services/metadata/core-properties/4f538d979dfc48ed9b4c20e5a69d87b1.psmdcp", + "xunit.assert.nuspec" + ] + }, + "xunit.core/2.1.0": { + "sha512": "jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "build/_desktop/xunit.execution.desktop.dll", + "build/dnx451/_._", + "build/monoandroid/_._", + "build/monotouch/_._", + "build/net45/_._", + "build/portable-net45+win8+wp8+wpa81/xunit.core.props", + "build/win8/_._", + "build/win81/xunit.core.props", + "build/wp8/_._", + "build/wpa81/xunit.core.props", + "build/xamarinios/_._", + "package/services/metadata/core-properties/cce23a490b7f4272adfe9aa57c4e1ca3.psmdcp", + "xunit.core.nuspec" + ] + }, + "xunit.extensibility.core/2.1.0": { + "sha512": "ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.core.dll", + "lib/dotnet/xunit.core.dll.tdnet", + "lib/dotnet/xunit.core.pdb", + "lib/dotnet/xunit.core.xml", + "lib/dotnet/xunit.runner.tdnet.dll", + "lib/dotnet/xunit.runner.utility.desktop.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll.tdnet", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.tdnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.desktop.dll", + "package/services/metadata/core-properties/5218831c5b01422bb82b23cafd6488b3.psmdcp", + "xunit.extensibility.core.nuspec" + ] + }, + "xunit.extensibility.execution/2.1.0": { + "sha512": "tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dnx451/xunit.execution.dotnet.dll", + "lib/dnx451/xunit.execution.dotnet.pdb", + "lib/dnx451/xunit.execution.dotnet.xml", + "lib/dotnet/xunit.execution.dotnet.dll", + "lib/dotnet/xunit.execution.dotnet.pdb", + "lib/dotnet/xunit.execution.dotnet.xml", + "lib/monoandroid/xunit.execution.dotnet.dll", + "lib/monoandroid/xunit.execution.dotnet.pdb", + "lib/monoandroid/xunit.execution.dotnet.xml", + "lib/monotouch/xunit.execution.dotnet.dll", + "lib/monotouch/xunit.execution.dotnet.pdb", + "lib/monotouch/xunit.execution.dotnet.xml", + "lib/net45/xunit.execution.desktop.dll", + "lib/net45/xunit.execution.desktop.pdb", + "lib/net45/xunit.execution.desktop.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.xml", + "lib/win8/xunit.execution.dotnet.dll", + "lib/win8/xunit.execution.dotnet.pdb", + "lib/win8/xunit.execution.dotnet.xml", + "lib/wp8/xunit.execution.dotnet.dll", + "lib/wp8/xunit.execution.dotnet.pdb", + "lib/wp8/xunit.execution.dotnet.xml", + "lib/wpa81/xunit.execution.dotnet.dll", + "lib/wpa81/xunit.execution.dotnet.pdb", + "lib/wpa81/xunit.execution.dotnet.xml", + "lib/xamarinios/xunit.execution.dotnet.dll", + "lib/xamarinios/xunit.execution.dotnet.pdb", + "lib/xamarinios/xunit.execution.dotnet.xml", + "package/services/metadata/core-properties/9f5f1211ea9a4e748cecce63d1c73e30.psmdcp", + "xunit.extensibility.execution.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "Microsoft.DotNet.xunit.performance >= 1.0.0-alpha-build0023" + ], + ".NETFramework,Version=v4.6": [] + } +} \ No newline at end of file diff --git a/src/Compilers/VisualBasic/Test/Semantic/project.lock.json b/src/Compilers/VisualBasic/Test/Semantic/project.lock.json index 62bb99bf50b39..197a258005f67 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/project.lock.json +++ b/src/Compilers/VisualBasic/Test/Semantic/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/Test/Symbol/project.lock.json b/src/Compilers/VisualBasic/Test/Symbol/project.lock.json index 62bb99bf50b39..197a258005f67 100644 --- a/src/Compilers/VisualBasic/Test/Symbol/project.lock.json +++ b/src/Compilers/VisualBasic/Test/Symbol/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/Test/Syntax/project.lock.json b/src/Compilers/VisualBasic/Test/Syntax/project.lock.json index 8715d6d486290..ca2921ef99b3d 100644 --- a/src/Compilers/VisualBasic/Test/Syntax/project.lock.json +++ b/src/Compilers/VisualBasic/Test/Syntax/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/VbcCore/VbcCore.csproj b/src/Compilers/VisualBasic/VbcCore/VbcCore.csproj index 553d15b56da2b..2f0069f6c0f59 100644 --- a/src/Compilers/VisualBasic/VbcCore/VbcCore.csproj +++ b/src/Compilers/VisualBasic/VbcCore/VbcCore.csproj @@ -18,7 +18,8 @@ $(OutDir)core-clr\ true True - DNXCore + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + .NETPortable v5.0 x64 diff --git a/src/Compilers/VisualBasic/VbcCore/project.lock.json b/src/Compilers/VisualBasic/VbcCore/project.lock.json index 56f932ab206bd..d2e5c9aa746d8 100644 --- a/src/Compilers/VisualBasic/VbcCore/project.lock.json +++ b/src/Compilers/VisualBasic/VbcCore/project.lock.json @@ -416,7 +416,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -533,20 +533,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -1451,7 +1437,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1568,20 +1554,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -2642,7 +2614,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -2759,20 +2731,6 @@ "lib/DNXCore50/System.Runtime.Loader.dll": {} } }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "dependencies": { - "System.Globalization": "[4.0.10, )", - "System.Resources.ResourceManager": "[4.0.0, )", - "System.Runtime": "[4.0.20, )", - "System.Runtime.Extensions": "[4.0.10, )" - }, - "compile": { - "ref/dotnet/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/dotnet/System.Runtime.Numerics.dll": {} - } - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "dependencies": { "System.Private.DataContractSerialization": "[4.0.1-beta-23401, )" @@ -4774,8 +4732,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -4784,7 +4742,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, @@ -5074,37 +5032,6 @@ "System.Runtime.Loader.nuspec" ] }, - "System.Runtime.Numerics/4.0.1-beta-23401": { - "sha512": "RF7EswqLB7/V+7LHKgmsH0hS6KcFotf9GfaKBgCWfNvAr66r6/bUTNzz9TYn0veMMGLOoItQ6DWA8IAAIFdnTw==", - "type": "Package", - "files": [ - "[Content_Types].xml", - "_rels/.rels", - "lib/dotnet/de/System.Runtime.Numerics.xml", - "lib/dotnet/es/System.Runtime.Numerics.xml", - "lib/dotnet/fr/System.Runtime.Numerics.xml", - "lib/dotnet/it/System.Runtime.Numerics.xml", - "lib/dotnet/ja/System.Runtime.Numerics.xml", - "lib/dotnet/ko/System.Runtime.Numerics.xml", - "lib/dotnet/ru/System.Runtime.Numerics.xml", - "lib/dotnet/System.Runtime.Numerics.dll", - "lib/dotnet/System.Runtime.Numerics.xml", - "lib/dotnet/zh-hans/System.Runtime.Numerics.xml", - "lib/dotnet/zh-hant/System.Runtime.Numerics.xml", - "lib/net45/_._", - "lib/netcore50/System.Runtime.Numerics.dll", - "lib/netcore50/System.Runtime.Numerics.xml", - "lib/win8/_._", - "lib/wpa81/_._", - "package/services/metadata/core-properties/dd30b2ccdf7e4f9d9f37ea0b478b54a2.psmdcp", - "ref/dotnet/System.Runtime.Numerics.dll", - "ref/net45/_._", - "ref/netcore50/System.Runtime.Numerics.dll", - "ref/win8/_._", - "ref/wpa81/_._", - "System.Runtime.Numerics.nuspec" - ] - }, "System.Runtime.Serialization.Json/4.0.1-beta-23401": { "sha512": "6zGC2zfQ1N7eaJasJsn1mLEOcRJNmvUjQGlRpuhZ6UQKBcHBloOOqxIwkbkRXtpC82Y6swGSmKvpD2t005kJbw==", "type": "Package", @@ -5692,7 +5619,6 @@ "System.Runtime.Handles >= 4.0.1-beta-23401", "System.Runtime.InteropServices >= 4.0.21-beta-23401", "System.Runtime.Loader >= 4.0.0-beta-23401", - "System.Runtime.Numerics >= 4.0.1-beta-23401", "System.Runtime.Serialization.Json >= 4.0.1-beta-23401", "System.Security.Cryptography.Algorithms >= 4.0.0-beta-23401", "System.Text.Encoding >= 4.0.11-beta-23401", diff --git a/src/Compilers/VisualBasic/VbcCore/vbc.exe.config b/src/Compilers/VisualBasic/VbcCore/vbc.exe.config index 0eee90a145749..cfa57ec51abd6 100644 --- a/src/Compilers/VisualBasic/VbcCore/vbc.exe.config +++ b/src/Compilers/VisualBasic/VbcCore/vbc.exe.config @@ -6,18 +6,26 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/src/Compilers/VisualBasic/vbc/project.lock.json b/src/Compilers/VisualBasic/vbc/project.lock.json index 3cd53e6c7e421..8a809d6a71e52 100644 --- a/src/Compilers/VisualBasic/vbc/project.lock.json +++ b/src/Compilers/VisualBasic/vbc/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -408,7 +408,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -841,8 +841,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -851,7 +851,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Compilers/VisualBasic/vbc/vbc.exe.config b/src/Compilers/VisualBasic/vbc/vbc.exe.config index 8f4da64769c95..cfa57ec51abd6 100644 --- a/src/Compilers/VisualBasic/vbc/vbc.exe.config +++ b/src/Compilers/VisualBasic/vbc/vbc.exe.config @@ -8,15 +8,15 @@ - + - + - + diff --git a/src/Compilers/VisualBasic/vbc2/project.lock.json b/src/Compilers/VisualBasic/vbc2/project.lock.json index 3cd53e6c7e421..8a809d6a71e52 100644 --- a/src/Compilers/VisualBasic/vbc2/project.lock.json +++ b/src/Compilers/VisualBasic/vbc2/project.lock.json @@ -78,7 +78,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -243,7 +243,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -408,7 +408,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -841,8 +841,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -851,7 +851,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Debugging/Microsoft.DiaSymReader.PortablePdb.Tests/project.lock.json b/src/Debugging/Microsoft.DiaSymReader.PortablePdb.Tests/project.lock.json index 8fe86a734f31f..556bf43ad2946 100644 --- a/src/Debugging/Microsoft.DiaSymReader.PortablePdb.Tests/project.lock.json +++ b/src/Debugging/Microsoft.DiaSymReader.PortablePdb.Tests/project.lock.json @@ -156,7 +156,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -888,8 +888,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -898,7 +898,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Debugging/Microsoft.DiaSymReader.PortablePdb/project.lock.json b/src/Debugging/Microsoft.DiaSymReader.PortablePdb/project.lock.json index 9498fd38f48cc..2df51df9c0d27 100644 --- a/src/Debugging/Microsoft.DiaSymReader.PortablePdb/project.lock.json +++ b/src/Debugging/Microsoft.DiaSymReader.PortablePdb/project.lock.json @@ -19,7 +19,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -61,8 +61,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -71,7 +71,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } @@ -80,7 +80,7 @@ "": [ "Microsoft.DiaSymReader >= 1.0.6", "System.Collections.Immutable >= 1.1.37", - "System.Reflection.Metadata >= 1.1.0-beta-23413" + "System.Reflection.Metadata >= 1.1.0-alpha-00015" ], ".NETPortable,Version=v4.5,Profile=Profile7": [] } diff --git a/src/EditorFeatures/CSharp/UseAutoProperty/UseAutoPropertyAnalyzer.cs b/src/EditorFeatures/CSharp/UseAutoProperty/UseAutoPropertyAnalyzer.cs index 6a26e19ff0abf..870526221bc41 100644 --- a/src/EditorFeatures/CSharp/UseAutoProperty/UseAutoPropertyAnalyzer.cs +++ b/src/EditorFeatures/CSharp/UseAutoProperty/UseAutoPropertyAnalyzer.cs @@ -67,13 +67,13 @@ private static void AddIneligibleField(ISymbol symbol, ConcurrentBag().RemoveUnnecessaryImportsAsync(document, cancellationToken).WaitAndGetResult(cancellationToken); if (document != newDocument) { ApplyTextChange(document, newDocument); @@ -176,7 +177,7 @@ private void SortAndRemoveUnusedImports(ITextBuffer subjectBuffer, CancellationT var document = subjectBuffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); if (document != null) { - var newDocument = RemoveUnnecessaryImportsService.RemoveUnnecessaryImportsAsync(document, cancellationToken).WaitAndGetResult(cancellationToken); + var newDocument = document.GetLanguageService().RemoveUnnecessaryImportsAsync(document, cancellationToken).WaitAndGetResult(cancellationToken); newDocument = OrganizeImportsService.OrganizeImportsAsync(newDocument, subjectBuffer.GetOption(OrganizerOptions.PlaceSystemNamespaceFirst), cancellationToken).WaitAndGetResult(cancellationToken); if (document != newDocument) { diff --git a/src/EditorFeatures/Core/Implementation/Suggestions/FixAllGetFixesService.cs b/src/EditorFeatures/Core/Implementation/Suggestions/FixAllGetFixesService.cs index f4fed95073f0b..b1ae6823054d8 100644 --- a/src/EditorFeatures/Core/Implementation/Suggestions/FixAllGetFixesService.cs +++ b/src/EditorFeatures/Core/Implementation/Suggestions/FixAllGetFixesService.cs @@ -43,7 +43,7 @@ public async Task GetFixAllChangedSolutionAsync(FixAllProvider fixAllP } fixAllContext.CancellationToken.ThrowIfCancellationRequested(); - return await codeAction.GetChangedSolutionInternalAsync(fixAllContext.CancellationToken).ConfigureAwait(false); + return await codeAction.GetChangedSolutionInternalAsync(cancellationToken: fixAllContext.CancellationToken).ConfigureAwait(false); } public async Task> GetFixAllOperationsAsync(FixAllProvider fixAllProvider, FixAllContext fixAllContext, string fixAllTitle, string waitDialogMessage, bool showPreviewChangesDialog) @@ -126,7 +126,7 @@ private async Task> GetFixAllOperationsAsync(Co } cancellationToken.ThrowIfCancellationRequested(); - var newSolution = await codeAction.GetChangedSolutionInternalAsync(cancellationToken).ConfigureAwait(false); + var newSolution = await codeAction.GetChangedSolutionInternalAsync(cancellationToken: cancellationToken).ConfigureAwait(false); if (showPreviewChangesDialog) { diff --git a/src/EditorFeatures/Core/Implementation/Suggestions/FixMultipleSuggestedAction.cs b/src/EditorFeatures/Core/Implementation/Suggestions/FixMultipleSuggestedAction.cs index 7bd83f9a4cdd3..5ea7c6ddd8aa3 100644 --- a/src/EditorFeatures/Core/Implementation/Suggestions/FixMultipleSuggestedAction.cs +++ b/src/EditorFeatures/Core/Implementation/Suggestions/FixMultipleSuggestedAction.cs @@ -70,7 +70,8 @@ public Solution GetChangedSolution(CancellationToken cancellationToken) var extensionManager = this.Workspace.Services.GetService(); extensionManager.PerformAction(Provider, () => { - newSolution = CodeAction.GetChangedSolutionInternalAsync(cancellationToken).WaitAndGetResult(cancellationToken); + // We don't need to post process changes here as the inner code action created for Fix multiple code fix already executes it. + newSolution = CodeAction.GetChangedSolutionInternalAsync(postProcessChanges: false, cancellationToken: cancellationToken).WaitAndGetResult(cancellationToken); }); return newSolution; diff --git a/src/EditorFeatures/Core/project.lock.json b/src/EditorFeatures/Core/project.lock.json index 8dc836856353b..564b76fa7aae8 100644 --- a/src/EditorFeatures/Core/project.lock.json +++ b/src/EditorFeatures/Core/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/EditorFeatures/Test/MinimalTestExportProvider.cs b/src/EditorFeatures/Test/MinimalTestExportProvider.cs index 249b788a80f80..9816ff3b3cbae 100644 --- a/src/EditorFeatures/Test/MinimalTestExportProvider.cs +++ b/src/EditorFeatures/Test/MinimalTestExportProvider.cs @@ -4,11 +4,9 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Editor.Shared.Options; using Microsoft.CodeAnalysis.Editor.UnitTests.Utilities; -using Microsoft.CodeAnalysis.Internal.Log; using Microsoft.CodeAnalysis.Shared.Options; using Microsoft.CodeAnalysis.SolutionCrawler; using Microsoft.VisualStudio.Composition; @@ -19,7 +17,7 @@ namespace Microsoft.CodeAnalysis.Editor.UnitTests { public static class MinimalTestExportProvider { - private static readonly PartDiscovery s_partDiscovery = PartDiscovery.Combine(new AttributedPartDiscoveryV1(Resolver.DefaultInstance), new AttributedPartDiscovery(Resolver.DefaultInstance, isNonPublicSupported: true)); + private static readonly PartDiscovery s_partDiscovery = CreatePartDiscovery(Resolver.DefaultInstance); private static readonly Lazy s_lazyLanguageNeutralCatalog = new Lazy(() => CreateAssemblyCatalog(GetVisualStudioAssemblies()).WithParts(CreateAssemblyCatalog(GetLanguageNeutralTypes().Select(t => t.Assembly).Distinct()))); public static ComposableCatalog LanguageNeutralCatalog @@ -103,22 +101,44 @@ public static ComposableCatalog CreateAssemblyCatalog(Assembly assembly) return CreateAssemblyCatalog(SpecializedCollections.SingletonEnumerable(assembly)); } - public static ComposableCatalog CreateAssemblyCatalog(IEnumerable assemblies) + public static ComposableCatalog CreateAssemblyCatalog(IEnumerable assemblies, Resolver resolver = null) { + var discovery = resolver == null ? s_partDiscovery : CreatePartDiscovery(resolver); + // If we run CreatePartsAsync on the test thread we may deadlock since it'll schedule stuff back // on the thread. - var parts = Task.Run(async () => await s_partDiscovery.CreatePartsAsync(assemblies).ConfigureAwait(false)).Result; + var parts = Task.Run(async () => await discovery.CreatePartsAsync(assemblies).ConfigureAwait(false)).Result; - return ComposableCatalog.Create(Resolver.DefaultInstance).AddParts(parts); + return ComposableCatalog.Create(resolver ?? Resolver.DefaultInstance).AddParts(parts); } - public static ComposableCatalog CreateTypeCatalog(IEnumerable types) + public static ComposableCatalog CreateTypeCatalog(IEnumerable types, Resolver resolver = null) { + var discovery = resolver == null ? s_partDiscovery : CreatePartDiscovery(resolver); + // If we run CreatePartsAsync on the test thread we may deadlock since it'll schedule stuff back // on the thread. - var parts = Task.Run(async () => await s_partDiscovery.CreatePartsAsync(types).ConfigureAwait(false)).Result; + var parts = Task.Run(async () => await discovery.CreatePartsAsync(types).ConfigureAwait(false)).Result; + + return ComposableCatalog.Create(resolver ?? Resolver.DefaultInstance).AddParts(parts); + } + + public static Resolver CreateResolver() + { + // simple assembly loader is stateless, so okay to share + return new Resolver(SimpleAssemblyLoader.Instance); + } - return ComposableCatalog.Create(Resolver.DefaultInstance).AddParts(parts); + public static PartDiscovery CreatePartDiscovery(Resolver resolver) + { + return PartDiscovery.Combine(new AttributedPartDiscoveryV1(resolver), new AttributedPartDiscovery(resolver, isNonPublicSupported: true)); + } + + public static ExportProvider CreateExportProvider(ComposableCatalog catalog) + { + var configuration = CompositionConfiguration.Create(catalog.WithDesktopSupport().WithCompositionService()); + var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); + return runtimeComposition.CreateExportProviderFactory().CreateExportProvider(); } public static ComposableCatalog WithParts(this ComposableCatalog @this, ComposableCatalog catalog) @@ -141,11 +161,25 @@ public static ComposableCatalog WithPart(this ComposableCatalog catalog, Type t) return catalog.WithParts(CreateTypeCatalog(SpecializedCollections.SingletonEnumerable(t))); } - public static ExportProvider CreateExportProvider(ComposableCatalog catalog) + private class SimpleAssemblyLoader : IAssemblyLoader { - var configuration = CompositionConfiguration.Create(catalog.WithDesktopSupport().WithCompositionService()); - var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); - return runtimeComposition.CreateExportProviderFactory().CreateExportProvider(); + public static readonly IAssemblyLoader Instance = new SimpleAssemblyLoader(); + + public Assembly LoadAssembly(AssemblyName assemblyName) + { + return Assembly.Load(assemblyName); + } + + public Assembly LoadAssembly(string assemblyFullName, string codeBasePath) + { + var assemblyName = new AssemblyName(assemblyFullName); + if (!string.IsNullOrEmpty(codeBasePath)) + { + assemblyName.CodeBase = codeBasePath; + } + + return this.LoadAssembly(assemblyName); + } } } } diff --git a/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs b/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs index c6c87432d0e4d..9edfc31ac5645 100644 --- a/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs +++ b/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs @@ -25,7 +25,7 @@ public class WorkCoordinatorTests [WpfFact] public void RegisterService() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var registrationService = new SolutionCrawlerRegistrationService( SpecializedCollections.EmptyEnumerable>(), @@ -40,7 +40,7 @@ public void RegisterService() [WpfFact, WorkItem(747226)] public async Task SolutionAdded_Simple() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solutionId = SolutionId.CreateNewId(); var projectId = ProjectId.CreateNewId(); @@ -63,7 +63,7 @@ public async Task SolutionAdded_Simple() [WpfFact] public async Task SolutionAdded_Complex() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); @@ -75,7 +75,7 @@ public async Task SolutionAdded_Complex() [WpfFact] public async Task Solution_Remove() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -89,7 +89,7 @@ public async Task Solution_Remove() [WpfFact] public async Task Solution_Clear() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -103,7 +103,7 @@ public async Task Solution_Clear() [WpfFact] public async Task Solution_Reload() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -117,7 +117,7 @@ public async Task Solution_Reload() [WpfFact] public async Task Solution_Change() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solutionInfo = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solutionInfo); @@ -137,7 +137,7 @@ public async Task Solution_Change() [WpfFact] public async Task Project_Add() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -160,7 +160,7 @@ public async Task Project_Add() [WpfFact] public async Task Project_Remove() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -177,7 +177,7 @@ public async Task Project_Remove() [WpfFact] public async Task Project_Change() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solutionInfo = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solutionInfo); @@ -196,7 +196,7 @@ public async Task Project_Change() [WpfFact] public async Task Project_AssemblyName_Change() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solutionInfo = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solutionInfo); @@ -213,7 +213,7 @@ public async Task Project_AssemblyName_Change() [WpfFact] public async Task Project_AnalyzerOptions_Change() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solutionInfo = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solutionInfo); @@ -230,7 +230,7 @@ public async Task Project_AnalyzerOptions_Change() [WpfFact] public async Task Project_Reload() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -245,7 +245,7 @@ public async Task Project_Reload() [WpfFact] public async Task Document_Add() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -263,7 +263,7 @@ public async Task Document_Add() [WpfFact] public async Task Document_Remove() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -282,7 +282,7 @@ public async Task Document_Remove() [WpfFact] public async Task Document_Reload() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -298,7 +298,7 @@ public async Task Document_Reload() [WpfFact] public async Task Document_Reanalyze() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -331,7 +331,7 @@ public async Task Document_Reanalyze() [WorkItem(670335)] public async Task Document_Change() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -348,7 +348,7 @@ public async Task Document_Change() [WpfFact] public async Task Document_AdditionalFileChange() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -376,7 +376,7 @@ public async Task Document_AdditionalFileChange() [WorkItem(670335)] public async Task Document_Cancellation() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -406,7 +406,7 @@ public async Task Document_Cancellation() [WorkItem(670335)] public async Task Document_Cancellation_MultipleTimes() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -440,7 +440,7 @@ public async Task Document_Cancellation_MultipleTimes() [WorkItem(670335)] public async Task Document_InvocationReasons() { - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { var solution = GetInitialSolutionInfo(workspace); workspace.OnSolutionAdded(solution); @@ -700,7 +700,7 @@ public async Task SemanticChange_Propagation() { var solution = GetInitialSolutionInfoWithP2P(); - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { workspace.OnSolutionAdded(solution); await WaitWaiterAsync(workspace.ExportProvider).ConfigureAwait(true); @@ -727,7 +727,7 @@ public async Task ProgressReporterTest() { var solution = GetInitialSolutionInfoWithP2P(); - using (var workspace = new WorkCoordinatorWorkspace(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), SolutionCrawler)) + using (var workspace = new WorkCoordinatorWorkspace(SolutionCrawler)) { await WaitWaiterAsync(workspace.ExportProvider).ConfigureAwait(true); @@ -941,8 +941,8 @@ private class WorkCoordinatorWorkspace : TestWorkspace private readonly IAsynchronousOperationWaiter _workspaceWaiter; private readonly IAsynchronousOperationWaiter _solutionCrawlerWaiter; - public WorkCoordinatorWorkspace(ExportProvider exportProvider, string workspaceKind = null, bool disablePartialSolutions = true) - : base(exportProvider, workspaceKind, disablePartialSolutions) + public WorkCoordinatorWorkspace(string workspaceKind = null, bool disablePartialSolutions = true) + : base(TestExportProvider.CreateExportProviderWithCSharpAndVisualBasic(), workspaceKind, disablePartialSolutions) { _workspaceWaiter = GetListeners(ExportProvider).First(l => l.Metadata.FeatureName == FeatureAttribute.Workspace).Value as IAsynchronousOperationWaiter; _solutionCrawlerWaiter = GetListeners(ExportProvider).First(l => l.Metadata.FeatureName == FeatureAttribute.SolutionCrawler).Value as IAsynchronousOperationWaiter; @@ -955,9 +955,8 @@ protected override void Dispose(bool finalize) { base.Dispose(finalize); - // Bug https://github.com/dotnet/roslyn/issues/5915 - // Assert.False(_workspaceWaiter.HasPendingWork); - // Assert.False(_solutionCrawlerWaiter.HasPendingWork); + Assert.False(_workspaceWaiter.HasPendingWork); + Assert.False(_solutionCrawlerWaiter.HasPendingWork); } } diff --git a/src/EditorFeatures/Test/TestExportProvider.cs b/src/EditorFeatures/Test/TestExportProvider.cs index 375244f4402e9..364011ea08d57 100644 --- a/src/EditorFeatures/Test/TestExportProvider.cs +++ b/src/EditorFeatures/Test/TestExportProvider.cs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Linq; using Microsoft.CodeAnalysis.CodeGeneration; using Microsoft.CodeAnalysis.Formatting; @@ -30,7 +29,7 @@ public static ComposableCatalog EntireAssemblyCatalogWithCSharpAndVisualBasic { if (t_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic == null) { - t_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic = new Lazy(() => MinimalTestExportProvider.CreateAssemblyCatalog(GetNeutralAndCSharpAndVisualBasicTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetVisualStudioAssemblies()))); + t_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic = new Lazy(() => CreateAssemblyCatalogWithCSharpAndVisualBasic()); } return t_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic.Value; @@ -125,9 +124,24 @@ private static Type[] GetNeutralAndCSharpAndVisualBasicTypes() .ToArray(); } + /// + /// Create fresh ExportProvider that doesnt share anything with others. + /// test can use this export provider to create all new MEF components not shared with others. + /// public static ExportProvider CreateExportProviderWithCSharpAndVisualBasic() { - return MinimalTestExportProvider.CreateExportProvider(EntireAssemblyCatalogWithCSharpAndVisualBasic); + return MinimalTestExportProvider.CreateExportProvider(CreateAssemblyCatalogWithCSharpAndVisualBasic()); + } + + /// + /// Create fresh ComposableCatalog that doesnt share anything with others. + /// everything under this catalog should have been created from scratch that doesnt share anything with others. + /// + public static ComposableCatalog CreateAssemblyCatalogWithCSharpAndVisualBasic() + { + return MinimalTestExportProvider.CreateAssemblyCatalog( + GetNeutralAndCSharpAndVisualBasicTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetVisualStudioAssemblies()), + MinimalTestExportProvider.CreateResolver()); } } } diff --git a/src/EditorFeatures/Test/project.lock.json b/src/EditorFeatures/Test/project.lock.json index b5747c44e9a4e..1df57993132d2 100644 --- a/src/EditorFeatures/Test/project.lock.json +++ b/src/EditorFeatures/Test/project.lock.json @@ -238,7 +238,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -630,7 +630,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1473,8 +1473,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1483,7 +1483,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/EditorFeatures/Test2/project.lock.json b/src/EditorFeatures/Test2/project.lock.json index 1e72ebd0a42fd..b9910393f03eb 100644 --- a/src/EditorFeatures/Test2/project.lock.json +++ b/src/EditorFeatures/Test2/project.lock.json @@ -238,7 +238,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1081,8 +1081,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1091,7 +1091,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/EditorFeatures/Text/project.lock.json b/src/EditorFeatures/Text/project.lock.json index b3bb2f17e4d6a..01a86d46b3050 100644 --- a/src/EditorFeatures/Text/project.lock.json +++ b/src/EditorFeatures/Text/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/EditorFeatures/VisualBasic/BasicEditorFeatures.vbproj b/src/EditorFeatures/VisualBasic/BasicEditorFeatures.vbproj index ff7f5738bed65..594cb30d03fd6 100644 --- a/src/EditorFeatures/VisualBasic/BasicEditorFeatures.vbproj +++ b/src/EditorFeatures/VisualBasic/BasicEditorFeatures.vbproj @@ -315,4 +315,4 @@ - + \ No newline at end of file diff --git a/src/EditorFeatures/VisualBasic/GoToDefinition/VisualBasicGoToDefinitionService.vb b/src/EditorFeatures/VisualBasic/GoToDefinition/VisualBasicGoToDefinitionService.vb index a70d31deffda3..abc9606e47c4a 100644 --- a/src/EditorFeatures/VisualBasic/GoToDefinition/VisualBasicGoToDefinitionService.vb +++ b/src/EditorFeatures/VisualBasic/GoToDefinition/VisualBasicGoToDefinitionService.vb @@ -4,6 +4,7 @@ Imports System.Composition Imports Microsoft.CodeAnalysis.Editor.Host Imports Microsoft.CodeAnalysis.Editor.Implementation.GoToDefinition Imports Microsoft.CodeAnalysis.Host.Mef +Imports Microsoft.CodeAnalysis.VisualBasic.Utilities Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.GoToDefinition @@ -16,22 +17,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.GoToDefinition End Sub Protected Overrides Function FindRelatedExplicitlyDeclaredSymbol(symbol As ISymbol, compilation As Compilation) As ISymbol - ' For example: My.Forms.[|LoginForm|] - ' LoginForm is a SynthesizedMyGroupCollectionPropertySymbol with no Location. Use the - ' type of this property, the actual LoginForm type itself, for navigation purposes. - - If symbol.IsKind(SymbolKind.Property) AndAlso symbol.IsImplicitlyDeclared Then - Dim propertySymbol = DirectCast(symbol, IPropertySymbol) - If propertySymbol.ContainingType IsNot Nothing AndAlso - propertySymbol.ContainingType.Name = "MyForms" AndAlso - propertySymbol.ContainingType.ContainingNamespace IsNot Nothing AndAlso - propertySymbol.ContainingType.ContainingNamespace.IsMyNamespace(compilation) Then - - Return propertySymbol.Type - End If - End If - - Return symbol + Return symbol.FindRelatedExplicitlyDeclaredSymbol(compilation) End Function End Class End Namespace diff --git a/src/EditorFeatures/VisualBasic/UseAutoProperty/UseAutoPropertyAnalyzer.vb b/src/EditorFeatures/VisualBasic/UseAutoProperty/UseAutoPropertyAnalyzer.vb index 6457639b3cdfb..07d3b3b351d3b 100644 --- a/src/EditorFeatures/VisualBasic/UseAutoProperty/UseAutoPropertyAnalyzer.vb +++ b/src/EditorFeatures/VisualBasic/UseAutoProperty/UseAutoPropertyAnalyzer.vb @@ -36,11 +36,11 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UseAutoProperty End Function Private Function CheckExpressionSyntactically(expression As ExpressionSyntax) As Boolean - If expression?.Kind() = SyntaxKind.SimpleMemberAccessExpression Then + If expression.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then Dim memberAccessExpression = DirectCast(expression, MemberAccessExpressionSyntax) Return memberAccessExpression.Expression.Kind() = SyntaxKind.MeExpression AndAlso memberAccessExpression.Name.Kind() = SyntaxKind.IdentifierName - ElseIf expression.Kind() = SyntaxKind.IdentifierName + ElseIf expression.IsKind(SyntaxKind.IdentifierName) Return True End If @@ -84,7 +84,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UseAutoProperty Dim statements = setAccessor?.Statements If statements?.Count = 1 Then Dim statement = statements.Value(0) - If statement?.Kind() = SyntaxKind.SimpleAssignmentStatement Then + If statement.IsKind(SyntaxKind.SimpleAssignmentStatement) Then Dim assignmentStatement = DirectCast(statement, AssignmentStatementSyntax) If assignmentStatement.Right.Kind() = SyntaxKind.IdentifierName Then Dim identifier = DirectCast(assignmentStatement.Right, IdentifierNameSyntax) diff --git a/src/EditorFeatures/VisualBasic/project.lock.json b/src/EditorFeatures/VisualBasic/project.lock.json index 8dc836856353b..564b76fa7aae8 100644 --- a/src/EditorFeatures/VisualBasic/project.lock.json +++ b/src/EditorFeatures/VisualBasic/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/EditorFeatures/VisualBasicTest/project.lock.json b/src/EditorFeatures/VisualBasicTest/project.lock.json index aeddc27fb9ff0..a711c56b22c46 100644 --- a/src/EditorFeatures/VisualBasicTest/project.lock.json +++ b/src/EditorFeatures/VisualBasicTest/project.lock.json @@ -238,7 +238,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1081,8 +1081,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1091,7 +1091,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/ExpressionEvaluator/CSharp/Source/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/CSharp/Source/ExpressionCompiler/project.lock.json index 2ec8285a55e3c..6898ccbd8b44e 100644 --- a/src/ExpressionEvaluator/CSharp/Source/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/CSharp/Source/ExpressionCompiler/project.lock.json @@ -20,7 +20,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -78,8 +78,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -88,7 +88,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/project.lock.json index bc0d1778c36e2..ca09c08efb961 100644 --- a/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/project.lock.json b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/project.lock.json index 39ce77da6a338..ffcb9db4ea198 100644 --- a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/project.lock.json +++ b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/project.lock.json index ef9666f0caa39..93a667935a9e6 100644 --- a/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/Core/Source/ExpressionCompiler/project.lock.json @@ -20,7 +20,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -78,8 +78,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -88,7 +88,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/ExpressionEvaluator/Core/Test/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/Core/Test/ExpressionCompiler/project.lock.json index 98e0a946070d3..7579fa2554007 100644 --- a/src/ExpressionEvaluator/Core/Test/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/Core/Test/ExpressionCompiler/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -602,8 +602,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -612,7 +612,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/ExpressionEvaluator/VisualBasic/Source/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/VisualBasic/Source/ExpressionCompiler/project.lock.json index 2ec8285a55e3c..6898ccbd8b44e 100644 --- a/src/ExpressionEvaluator/VisualBasic/Source/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/VisualBasic/Source/ExpressionCompiler/project.lock.json @@ -20,7 +20,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -78,8 +78,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -88,7 +88,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/project.lock.json b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/project.lock.json index bc0d1778c36e2..ca09c08efb961 100644 --- a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/project.lock.json +++ b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/project.lock.json b/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/project.lock.json index 62bb99bf50b39..197a258005f67 100644 --- a/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/project.lock.json +++ b/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -603,8 +603,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -613,7 +613,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Features/CSharp/Portable/CodeFixes/RemoveUnnecessaryUsings/RemoveUnnecessaryUsingsCodeFixProvider.cs b/src/Features/CSharp/Portable/CodeFixes/RemoveUnnecessaryUsings/RemoveUnnecessaryUsingsCodeFixProvider.cs index 33a75c46e9a96..85f7c2d9e1f28 100644 --- a/src/Features/CSharp/Portable/CodeFixes/RemoveUnnecessaryUsings/RemoveUnnecessaryUsingsCodeFixProvider.cs +++ b/src/Features/CSharp/Portable/CodeFixes/RemoveUnnecessaryUsings/RemoveUnnecessaryUsingsCodeFixProvider.cs @@ -33,11 +33,8 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context) var span = context.Span; var cancellationToken = context.CancellationToken; - var model = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false); - var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); var service = document.GetLanguageService(); - - var newDocument = service.RemoveUnnecessaryImports(document, model, root, cancellationToken); + var newDocument = await service.RemoveUnnecessaryImportsAsync(document, cancellationToken).ConfigureAwait(false); if (newDocument == document || newDocument == null) { return; diff --git a/src/Features/CSharp/Portable/CodeFixes/Suppression/CSharpSuppressionCodeFixProvider.cs b/src/Features/CSharp/Portable/CodeFixes/Suppression/CSharpSuppressionCodeFixProvider.cs index 3d39a0c1c23fb..adcc5dcd94d7c 100644 --- a/src/Features/CSharp/Portable/CodeFixes/Suppression/CSharpSuppressionCodeFixProvider.cs +++ b/src/Features/CSharp/Portable/CodeFixes/Suppression/CSharpSuppressionCodeFixProvider.cs @@ -4,12 +4,12 @@ using System.Composition; using System.Globalization; using System.Linq; +using System.Threading; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CodeFixes.Suppression; using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Formatting; -using Microsoft.CodeAnalysis.Simplification; namespace Microsoft.CodeAnalysis.CSharp.CodeFixes.Suppression { @@ -92,7 +92,7 @@ protected override bool IsEndOfFileToken(SyntaxToken token) return token.Kind() == SyntaxKind.EndOfFileToken; } - protected override SyntaxNode AddGlobalSuppressMessageAttribute(SyntaxNode newRoot, ISymbol targetSymbol, Diagnostic diagnostic) + protected override SyntaxNode AddGlobalSuppressMessageAttribute(SyntaxNode newRoot, ISymbol targetSymbol, Diagnostic diagnostic, Workspace workspace, CancellationToken cancellationToken) { var compilationRoot = (CompilationUnitSyntax)newRoot; var isFirst = !compilationRoot.AttributeLists.Any(); @@ -100,6 +100,7 @@ protected override SyntaxNode AddGlobalSuppressMessageAttribute(SyntaxNode newRo SyntaxFactory.TriviaList(SyntaxFactory.Comment(GlobalSuppressionsFileHeaderComment)) : default(SyntaxTriviaList); var attributeList = CreateAttributeList(targetSymbol, diagnostic, leadingTrivia: leadingTriviaForAttributeList, needsLeadingEndOfLine: !isFirst); + attributeList = (AttributeListSyntax)Formatter.Format(attributeList, workspace, cancellationToken: cancellationToken); return compilationRoot.AddAttributeLists(attributeList); } @@ -110,8 +111,7 @@ private AttributeListSyntax CreateAttributeList( bool needsLeadingEndOfLine) { var attributeArguments = CreateAttributeArguments(targetSymbol, diagnostic); - var attribute = SyntaxFactory.Attribute(SyntaxFactory.ParseName(SuppressMessageAttributeName), attributeArguments) - .WithAdditionalAnnotations(Simplifier.Annotation); + var attribute = SyntaxFactory.Attribute(SyntaxFactory.ParseName(SuppressMessageAttributeName), attributeArguments); var attributes = new SeparatedSyntaxList().Add(attribute); var targetSpecifier = SyntaxFactory.AttributeTargetSpecifier(SyntaxFactory.Token(SyntaxKind.AssemblyKeyword)); @@ -124,9 +124,7 @@ private AttributeListSyntax CreateAttributeList( triviaList = triviaList.Add(endOfLineTrivia); } - return attributeList - .WithLeadingTrivia(leadingTrivia.AddRange(triviaList)) - .WithAdditionalAnnotations(Formatter.Annotation); + return attributeList.WithLeadingTrivia(leadingTrivia.AddRange(triviaList)); } private AttributeArgumentListSyntax CreateAttributeArguments(ISymbol targetSymbol, Diagnostic diagnostic) diff --git a/src/Features/CSharp/Portable/RemoveUnnecessaryImports/CSharpRemoveUnnecessaryImportsService.cs b/src/Features/CSharp/Portable/RemoveUnnecessaryImports/CSharpRemoveUnnecessaryImportsService.cs index 4bc0adf295685..d7a3892de1590 100644 --- a/src/Features/CSharp/Portable/RemoveUnnecessaryImports/CSharpRemoveUnnecessaryImportsService.cs +++ b/src/Features/CSharp/Portable/RemoveUnnecessaryImports/CSharpRemoveUnnecessaryImportsService.cs @@ -1,23 +1,24 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Composition; using System.Linq; using System.Threading; +using System.Threading.Tasks; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Formatting; -using Microsoft.CodeAnalysis.Host; using Microsoft.CodeAnalysis.Host.Mef; using Microsoft.CodeAnalysis.Internal.Log; using Microsoft.CodeAnalysis.RemoveUnnecessaryImports; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; -using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.CSharp.RemoveUnnecessaryImports { [ExportLanguageService(typeof(IRemoveUnnecessaryImportsService), LanguageNames.CSharp), Shared] - internal partial class CSharpRemoveUnnecessaryImportsService : IRemoveUnnecessaryImportsService + internal partial class CSharpRemoveUnnecessaryImportsService : + AbstractRemoveUnnecessaryImportsService, IRemoveUnnecessaryImportsService { public static IEnumerable GetUnnecessaryImports(SemanticModel semanticModel, SyntaxNode root, CancellationToken cancellationToken) { @@ -50,23 +51,21 @@ public static IEnumerable GetUnnecessaryImports(SemanticModel semant return unnecessaryImports; } - public Document RemoveUnnecessaryImports(Document document, SemanticModel model, SyntaxNode root, CancellationToken cancellationToken) + public async Task RemoveUnnecessaryImportsAsync(Document document, CancellationToken cancellationToken) { using (Logger.LogBlock(FunctionId.Refactoring_RemoveUnnecessaryImports_CSharp, cancellationToken)) { - var unnecessaryImports = GetUnnecessaryImports(model, root, cancellationToken) as ISet; - if (unnecessaryImports == null) + var unnecessaryImports = await GetCommonUnnecessaryImportsOfAllContextAsync(document, cancellationToken).ConfigureAwait(false); + if (unnecessaryImports == null || unnecessaryImports.Any(import => import.OverlapsHiddenPosition(cancellationToken))) { return document; } - var oldRoot = (CompilationUnitSyntax)root; - if (unnecessaryImports.Any(import => oldRoot.OverlapsHiddenPosition(cancellationToken))) - { - return document; - } + var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); + var oldRoot = (CompilationUnitSyntax)root; var newRoot = (CompilationUnitSyntax)new Rewriter(unnecessaryImports, cancellationToken).Visit(oldRoot); + if (cancellationToken.IsCancellationRequested) { return null; @@ -76,6 +75,11 @@ public Document RemoveUnnecessaryImports(Document document, SemanticModel model, } } + protected override IEnumerable GetUnusedUsings(SemanticModel model, SyntaxNode root, CancellationToken cancellationToken) + { + return GetUnnecessaryImports(model, root, cancellationToken) as IEnumerable; + } + private SyntaxNode FormatResult(Document document, CompilationUnitSyntax newRoot, CancellationToken cancellationToken) { var spans = new List(); diff --git a/src/Features/CSharp/Portable/project.lock.json b/src/Features/CSharp/Portable/project.lock.json index e7990b5e7904a..96dcee10a4d1f 100644 --- a/src/Features/CSharp/Portable/project.lock.json +++ b/src/Features/CSharp/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.FixAllProvider.cs b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.FixAllProvider.cs index 2f345c42b99ab..9243b7154fd58 100644 --- a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.FixAllProvider.cs +++ b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.FixAllProvider.cs @@ -1,16 +1,10 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Collections.Immutable; -using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeActions; -using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.LanguageServices; -using Microsoft.CodeAnalysis.Shared.Extensions; -using Microsoft.CodeAnalysis.Text; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.CodeFixes.Suppression @@ -50,7 +44,7 @@ public async override Task GetFixAsync(FixAllContext fixAllContext) return !isGlobalSuppression ? await batchFixer.GetFixAsync(documentsAndDiagnosticsToFixMap, fixAllContext).ConfigureAwait(false) : - CreateGlobalSuppressionFixAllAction(title, suppressionFixer, fixAllContext.Document, documentsAndDiagnosticsToFixMap); + GlobalSuppressMessageFixAllCodeAction.Create(title, suppressionFixer, fixAllContext.Document, documentsAndDiagnosticsToFixMap); } else { @@ -60,23 +54,9 @@ await batchFixer.GetFixAsync(documentsAndDiagnosticsToFixMap, fixAllContext).Con return !isGlobalSuppression ? await batchFixer.GetFixAsync(projectsAndDiagnosticsToFixMap, fixAllContext).ConfigureAwait(false) : - CreateGlobalSuppressionFixAllAction(title, suppressionFixer, fixAllContext.Project, projectsAndDiagnosticsToFixMap); + GlobalSuppressMessageFixAllCodeAction.Create(title, suppressionFixer, fixAllContext.Project, projectsAndDiagnosticsToFixMap); } } - - private static CodeAction CreateGlobalSuppressionFixAllAction(string title, AbstractSuppressionCodeFixProvider fixer, Document triggerDocument, ImmutableDictionary> diagnosticsByDocument) - { - return new CodeAction.SolutionChangeAction(title, - ct => GlobalSuppressMessageFixAllCodeAction.CreateChangedSolutionAsync(fixer, triggerDocument, diagnosticsByDocument, ct), - equivalenceKey: title); - } - - private static CodeAction CreateGlobalSuppressionFixAllAction(string title, AbstractSuppressionCodeFixProvider fixer, Project triggerProject, ImmutableDictionary> diagnosticsByProject) - { - return new CodeAction.SolutionChangeAction(title, - ct => GlobalSuppressMessageFixAllCodeAction.CreateChangedSolutionAsync(fixer, triggerProject, diagnosticsByProject, ct), - equivalenceKey: title); - } } } } diff --git a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageCodeAction.cs b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageCodeAction.cs index d51f7078e4ac9..b7e2d5da839b6 100644 --- a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageCodeAction.cs +++ b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageCodeAction.cs @@ -23,9 +23,10 @@ public GlobalSuppressMessageCodeAction(ISymbol targetSymbol, Project project, Di protected override async Task GetChangedSuppressionDocumentAsync(CancellationToken cancellationToken) { var suppressionsDoc = await GetOrCreateSuppressionsDocumentAsync(cancellationToken).ConfigureAwait(false); + var workspace = suppressionsDoc.Project.Solution.Workspace; var suppressionsRoot = await suppressionsDoc.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); var semanticModel = await suppressionsDoc.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false); - suppressionsRoot = Fixer.AddGlobalSuppressMessageAttribute(suppressionsRoot, _targetSymbol, _diagnostic); + suppressionsRoot = Fixer.AddGlobalSuppressMessageAttribute(suppressionsRoot, _targetSymbol, _diagnostic, workspace, cancellationToken); return suppressionsDoc.WithSyntaxRoot(suppressionsRoot); } diff --git a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs index ba32cff59c5d7..3108e6fe69811 100644 --- a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs +++ b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs @@ -1,10 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis.CodeActions; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.CodeFixes.Suppression @@ -21,7 +23,35 @@ private GlobalSuppressMessageFixAllCodeAction(AbstractSuppressionCodeFixProvider _diagnosticsBySymbol = diagnosticsBySymbol; } - internal static async Task CreateChangedSolutionAsync(AbstractSuppressionCodeFixProvider fixer, Document triggerDocument, ImmutableDictionary> diagnosticsByDocument, CancellationToken cancellationToken) + internal static CodeAction Create(string title, AbstractSuppressionCodeFixProvider fixer, Document triggerDocument, ImmutableDictionary> diagnosticsByDocument) + { + return new GlobalSuppressionSolutionChangeAction(title, + ct => CreateChangedSolutionAsync(fixer, triggerDocument, diagnosticsByDocument, ct), + equivalenceKey: title); + } + + internal static CodeAction Create(string title, AbstractSuppressionCodeFixProvider fixer, Project triggerProject, ImmutableDictionary> diagnosticsByProject) + { + return new GlobalSuppressionSolutionChangeAction(title, + ct => CreateChangedSolutionAsync(fixer, triggerProject, diagnosticsByProject, ct), + equivalenceKey: title); + } + + private class GlobalSuppressionSolutionChangeAction : SolutionChangeAction + { + public GlobalSuppressionSolutionChangeAction(string title, Func> createChangedSolution, string equivalenceKey) + : base(title, createChangedSolution, equivalenceKey) + { + } + + protected override Task PostProcessChangesAsync(Document document, CancellationToken cancellationToken) + { + // PERF: We don't to formatting on the entire global suppressions document, but instead do it for each attribute individual in the fixer. + return Task.FromResult(document); + } + } + + private static async Task CreateChangedSolutionAsync(AbstractSuppressionCodeFixProvider fixer, Document triggerDocument, ImmutableDictionary> diagnosticsByDocument, CancellationToken cancellationToken) { var currentSolution = triggerDocument.Project.Solution; foreach (var grouping in diagnosticsByDocument.GroupBy(d => d.Key.Project)) @@ -40,7 +70,7 @@ internal static async Task CreateChangedSolutionAsync(AbstractSuppress return currentSolution; } - internal static async Task CreateChangedSolutionAsync(AbstractSuppressionCodeFixProvider fixer, Project triggerProject, ImmutableDictionary> diagnosticsByProject, CancellationToken cancellationToken) + private static async Task CreateChangedSolutionAsync(AbstractSuppressionCodeFixProvider fixer, Project triggerProject, ImmutableDictionary> diagnosticsByProject, CancellationToken cancellationToken) { var currentSolution = triggerProject.Solution; foreach (var kvp in diagnosticsByProject) @@ -65,6 +95,7 @@ internal static async Task CreateChangedSolutionAsync(AbstractSuppress protected override async Task GetChangedSuppressionDocumentAsync(CancellationToken cancellationToken) { var suppressionsDoc = await GetOrCreateSuppressionsDocumentAsync(cancellationToken).ConfigureAwait(false); + var workspace = suppressionsDoc.Project.Solution.Workspace; var suppressionsRoot = await suppressionsDoc.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); foreach (var kvp in _diagnosticsBySymbol) @@ -75,7 +106,7 @@ protected override async Task GetChangedSuppressionDocumentAsync(Cance foreach (var diagnostic in diagnostics) { Contract.ThrowIfFalse(!diagnostic.IsSuppressed); - suppressionsRoot = Fixer.AddGlobalSuppressMessageAttribute(suppressionsRoot, targetSymbol, diagnostic); + suppressionsRoot = Fixer.AddGlobalSuppressMessageAttribute(suppressionsRoot, targetSymbol, diagnostic, workspace, cancellationToken); } } diff --git a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.cs b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.cs index dd3b5c0fb09d0..c40cd3880c659 100644 --- a/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.cs +++ b/src/Features/Core/Portable/CodeFixes/Suppression/AbstractSuppressionCodeFixProvider.cs @@ -42,7 +42,7 @@ public bool CanBeSuppressedOrUnsuppressed(Diagnostic diagnostic) protected abstract SyntaxTriviaList CreatePragmaDisableDirectiveTrivia(Diagnostic diagnostic, Func formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine); protected abstract SyntaxTriviaList CreatePragmaRestoreDirectiveTrivia(Diagnostic diagnostic, Func formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine); - protected abstract SyntaxNode AddGlobalSuppressMessageAttribute(SyntaxNode newRoot, ISymbol targetSymbol, Diagnostic diagnostic); + protected abstract SyntaxNode AddGlobalSuppressMessageAttribute(SyntaxNode newRoot, ISymbol targetSymbol, Diagnostic diagnostic, Workspace workspace, CancellationToken cancellationToken); protected abstract string DefaultFileExtension { get; } protected abstract string SingleLineCommentStart { get; } diff --git a/src/Features/Core/Portable/Diagnostics/EngineV1/DiagnosticIncrementalAnalyzer_GetDiagnostics.cs b/src/Features/Core/Portable/Diagnostics/EngineV1/DiagnosticIncrementalAnalyzer_GetDiagnostics.cs index c07dccfa8459c..3c8689028906b 100644 --- a/src/Features/Core/Portable/Diagnostics/EngineV1/DiagnosticIncrementalAnalyzer_GetDiagnostics.cs +++ b/src/Features/Core/Portable/Diagnostics/EngineV1/DiagnosticIncrementalAnalyzer_GetDiagnostics.cs @@ -34,7 +34,7 @@ internal partial class DiagnosticIncrementalAnalyzer public async override Task> GetDiagnosticsAsync(Solution solution, ProjectId projectId, DocumentId documentId, bool includeSuppressedDiagnostics = false, CancellationToken cancellationToken = default(CancellationToken)) { - var diagnostics = await (new IDELatestDiagnosticGetter(this).GetDiagnosticsAsync(solution, projectId, documentId, cancellationToken)).ConfigureAwait(false); + var diagnostics = await (new IDELatestDiagnosticGetter(this, concurrent: documentId == null).GetDiagnosticsAsync(solution, projectId, documentId, cancellationToken)).ConfigureAwait(false); return FilterSuppressedDiagnostics(diagnostics, includeSuppressedDiagnostics); } @@ -208,7 +208,7 @@ private async Task AppendDiagnosticsAsync(Project project, CancellationToken can for (int i = 0; i < documents.Length; i++) { var document = documents[i]; - tasks[i] = Task.Run(async () => await AppendDiagnosticsAsync(document, cancellationToken).ConfigureAwait(false), cancellationToken); + tasks[i] = AppendDiagnosticsAsync(document, cancellationToken); }; await Task.WhenAll(tasks).ConfigureAwait(false); diff --git a/src/Features/Core/Portable/Features.csproj b/src/Features/Core/Portable/Features.csproj index 32b703c2653f4..4dd63caeaeeca 100644 --- a/src/Features/Core/Portable/Features.csproj +++ b/src/Features/Core/Portable/Features.csproj @@ -237,6 +237,7 @@ + @@ -462,7 +463,6 @@ - diff --git a/src/Features/Core/Portable/RemoveUnnecessaryImports/AbstractRemoveUnnecessaryImportsService.cs b/src/Features/Core/Portable/RemoveUnnecessaryImports/AbstractRemoveUnnecessaryImportsService.cs new file mode 100644 index 0000000000000..b216a4c8b1bef --- /dev/null +++ b/src/Features/Core/Portable/RemoveUnnecessaryImports/AbstractRemoveUnnecessaryImportsService.cs @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Host; +using Microsoft.CodeAnalysis.Shared.Extensions; +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.RemoveUnnecessaryImports +{ + internal abstract class AbstractRemoveUnnecessaryImportsService : ILanguageService, IEqualityComparer where T : SyntaxNode + { + protected abstract IEnumerable GetUnusedUsings(SemanticModel model, SyntaxNode root, CancellationToken cancellationToken); + + protected async Task> GetCommonUnnecessaryImportsOfAllContextAsync(Document document, CancellationToken cancellationToken) + { + var model = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false); + var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); + + var unnecessaryImports = new HashSet(GetUnnecessaryImportsOrEmpty(model, root, cancellationToken), this); + foreach (var current in document.GetLinkedDocuments()) + { + var currentModel = await current.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false); + var currentRoot = await current.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); + + unnecessaryImports.IntersectWith(GetUnnecessaryImportsOrEmpty(currentModel, currentRoot, cancellationToken)); + } + + return unnecessaryImports; + } + + private IEnumerable GetUnnecessaryImportsOrEmpty(SemanticModel model, SyntaxNode root, CancellationToken cancellationToken) + { + var imports = GetUnusedUsings(model, root, cancellationToken) ?? SpecializedCollections.EmptyEnumerable(); + return imports.Cast(); + } + + bool IEqualityComparer.Equals(T x, T y) + { + return x.Span == y.Span; + } + + int IEqualityComparer.GetHashCode(T obj) + { + return obj.Span.GetHashCode(); + } + } +} diff --git a/src/Features/Core/Portable/RemoveUnnecessaryImports/IRemoveUnnecessaryImportsService.cs b/src/Features/Core/Portable/RemoveUnnecessaryImports/IRemoveUnnecessaryImportsService.cs index 5ef9999428efe..315f0425f0c12 100644 --- a/src/Features/Core/Portable/RemoveUnnecessaryImports/IRemoveUnnecessaryImportsService.cs +++ b/src/Features/Core/Portable/RemoveUnnecessaryImports/IRemoveUnnecessaryImportsService.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Collections.Generic; using System.Threading; +using System.Threading.Tasks; using Microsoft.CodeAnalysis.Host; namespace Microsoft.CodeAnalysis.RemoveUnnecessaryImports @@ -10,6 +10,6 @@ internal interface IRemoveUnnecessaryImportsService : ILanguageService { /// Returns the rewritten document, or the document passed in if no changes were made. If cancellation /// was observed, it returns null. - Document RemoveUnnecessaryImports(Document document, SemanticModel model, SyntaxNode root, CancellationToken cancellationToken); + Task RemoveUnnecessaryImportsAsync(Document document, CancellationToken cancellationToken); } } diff --git a/src/Features/Core/Portable/RemoveUnnecessaryImports/RemoveUnnecessaryImportsService.cs b/src/Features/Core/Portable/RemoveUnnecessaryImports/RemoveUnnecessaryImportsService.cs deleted file mode 100644 index bbbe22e182ded..0000000000000 --- a/src/Features/Core/Portable/RemoveUnnecessaryImports/RemoveUnnecessaryImportsService.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.CodeAnalysis.Shared.Extensions; - -namespace Microsoft.CodeAnalysis.RemoveUnnecessaryImports -{ - internal static class RemoveUnnecessaryImportsService - { - public static async Task RemoveUnnecessaryImportsAsync(Document document, CancellationToken cancellationToken = default(CancellationToken)) - { - document = document.GetLanguageService().RemoveUnnecessaryImports( - document, - await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false), - await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false), - cancellationToken); - - // The underlying service returns null if cancellation happened. For a public API, we should be throwing. - cancellationToken.ThrowIfCancellationRequested(); - - return document; - } - } -} diff --git a/src/Features/Core/Portable/Shared/Extensions/DocumentExtensions.cs b/src/Features/Core/Portable/Shared/Extensions/DocumentExtensions.cs index 10b17574d3d01..cfe9f0894de6a 100644 --- a/src/Features/Core/Portable/Shared/Extensions/DocumentExtensions.cs +++ b/src/Features/Core/Portable/Shared/Extensions/DocumentExtensions.cs @@ -84,5 +84,15 @@ public static async Task IsValidContextForDocumentOrLinkedDocumentsAsync( return false; } + + public static IEnumerable GetLinkedDocuments(this Document document) + { + var solution = document.Project.Solution; + + foreach (var linkedDocumentId in document.GetLinkedDocumentIds()) + { + yield return solution.GetDocument(linkedDocumentId); + } + } } } diff --git a/src/Features/Core/Portable/project.lock.json b/src/Features/Core/Portable/project.lock.json index e7990b5e7904a..96dcee10a4d1f 100644 --- a/src/Features/Core/Portable/project.lock.json +++ b/src/Features/Core/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Features/VisualBasic/Portable/CodeFixes/RemoveUnnecessaryImports/RemoveUnnecessaryImportsCodeFixProvider.vb b/src/Features/VisualBasic/Portable/CodeFixes/RemoveUnnecessaryImports/RemoveUnnecessaryImportsCodeFixProvider.vb index 91405bc9e87c8..787ec26d730b9 100644 --- a/src/Features/VisualBasic/Portable/CodeFixes/RemoveUnnecessaryImports/RemoveUnnecessaryImportsCodeFixProvider.vb +++ b/src/Features/VisualBasic/Portable/CodeFixes/RemoveUnnecessaryImports/RemoveUnnecessaryImportsCodeFixProvider.vb @@ -28,10 +28,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeFixes.RemoveUnnecessaryImports Dim document = context.Document Dim cancellationToken = context.CancellationToken - Dim model = Await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(False) - Dim root = Await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(False) Dim service = document.GetLanguageService(Of IRemoveUnnecessaryImportsService)() - Dim newDocument = service.RemoveUnnecessaryImports(document, model, root, cancellationToken) + Dim newDocument = Await service.RemoveUnnecessaryImportsAsync(document, cancellationToken).ConfigureAwait(False) If newDocument Is document OrElse newDocument Is Nothing Then Return End If diff --git a/src/Features/VisualBasic/Portable/CodeFixes/Suppression/VisualBasicSuppressionCodeFixProvider.vb b/src/Features/VisualBasic/Portable/CodeFixes/Suppression/VisualBasicSuppressionCodeFixProvider.vb index 15e2c4127bd18..ea1479929481d 100644 --- a/src/Features/VisualBasic/Portable/CodeFixes/Suppression/VisualBasicSuppressionCodeFixProvider.vb +++ b/src/Features/VisualBasic/Portable/CodeFixes/Suppression/VisualBasicSuppressionCodeFixProvider.vb @@ -2,10 +2,10 @@ Imports System.Composition Imports System.Globalization +Imports System.Threading Imports Microsoft.CodeAnalysis.CodeFixes Imports Microsoft.CodeAnalysis.CodeFixes.Suppression Imports Microsoft.CodeAnalysis.Formatting -Imports Microsoft.CodeAnalysis.Simplification Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Syntax @@ -119,7 +119,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeFixes.Suppression Return token.Kind = SyntaxKind.EndOfFileToken End Function - Protected Overrides Function AddGlobalSuppressMessageAttribute(newRoot As SyntaxNode, targetSymbol As ISymbol, diagnostic As Diagnostic) As SyntaxNode + Protected Overrides Function AddGlobalSuppressMessageAttribute(newRoot As SyntaxNode, targetSymbol As ISymbol, diagnostic As Diagnostic, workspace As Workspace, cancellationToken As CancellationToken) As SyntaxNode Dim compilationRoot = DirectCast(newRoot, CompilationUnitSyntax) Dim isFirst = Not compilationRoot.Attributes.Any() Dim attributeList = CreateAttributeList(targetSymbol, diagnostic) @@ -130,7 +130,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeFixes.Suppression attributeStatement = attributeStatement.WithLeadingTrivia(attributeStatement.GetLeadingTrivia.Add(SyntaxFactory.ElasticCarriageReturnLineFeed)) End If - attributeStatement = attributeStatement.WithAdditionalAnnotations(Formatter.Annotation) + attributeStatement = CType(Formatter.Format(attributeStatement, workspace, cancellationToken:=cancellationToken), AttributesStatementSyntax) Dim leadingTrivia = If(isFirst AndAlso Not compilationRoot.HasLeadingTrivia, SyntaxFactory.TriviaList(SyntaxFactory.CommentTrivia(GlobalSuppressionsFileHeaderComment)), @@ -145,8 +145,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeFixes.Suppression Dim attributeName = SyntaxFactory.ParseName(SuppressMessageAttributeName) Dim attributeArguments = CreateAttributeArguments(targetSymbol, diagnostic) - Dim attribute As AttributeSyntax = SyntaxFactory.Attribute(attributeTarget, attributeName, attributeArguments) _ - .WithAdditionalAnnotations(Simplifier.Annotation) + Dim attribute As AttributeSyntax = SyntaxFactory.Attribute(attributeTarget, attributeName, attributeArguments) Return SyntaxFactory.AttributeList().AddAttributes(attribute) End Function diff --git a/src/Features/VisualBasic/Portable/RemoveUnnecessaryImports/VisualBasicRemoveUnnecessaryImportsService.vb b/src/Features/VisualBasic/Portable/RemoveUnnecessaryImports/VisualBasicRemoveUnnecessaryImportsService.vb index 9ecab40e1055b..1478149a9683b 100644 --- a/src/Features/VisualBasic/Portable/RemoveUnnecessaryImports/VisualBasicRemoveUnnecessaryImportsService.vb +++ b/src/Features/VisualBasic/Portable/RemoveUnnecessaryImports/VisualBasicRemoveUnnecessaryImportsService.vb @@ -1,19 +1,18 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +Imports System.Composition Imports System.Threading Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.Formatting -Imports Microsoft.CodeAnalysis.Internal.Log -Imports Microsoft.CodeAnalysis.Host Imports Microsoft.CodeAnalysis.Host.Mef +Imports Microsoft.CodeAnalysis.Internal.Log Imports Microsoft.CodeAnalysis.RemoveUnnecessaryImports -Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Syntax -Imports System.Composition Namespace Microsoft.CodeAnalysis.VisualBasic.RemoveUnnecessaryImports Partial Friend Class VisualBasicRemoveUnnecessaryImportsService + Inherits AbstractRemoveUnnecessaryImportsService(Of ImportsClauseSyntax) Implements IRemoveUnnecessaryImportsService Public Shared Function GetUnnecessaryImports(model As SemanticModel, root As SyntaxNode, cancellationToken As CancellationToken) As IEnumerable(Of SyntaxNode) @@ -33,21 +32,32 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.RemoveUnnecessaryImports End Function).ToSet() End Function - Public Function RemoveUnnecessaryImports(document As Document, model As SemanticModel, root As SyntaxNode, cancellationToken As CancellationToken) As Document Implements IRemoveUnnecessaryImportsService.RemoveUnnecessaryImports + Public Async Function RemoveUnnecessaryImportsAsync(document As Document, cancellationToken As CancellationToken) As Task(Of Document) Implements IRemoveUnnecessaryImportsService.RemoveUnnecessaryImportsAsync Using Logger.LogBlock(FunctionId.Refactoring_RemoveUnnecessaryImports_VisualBasic, cancellationToken) - Dim unnecessaryImports = DirectCast(GetIndividualUnnecessaryImports(model, root, cancellationToken), ISet(Of ImportsClauseSyntax)) + + Dim unnecessaryImports = Await GetCommonUnnecessaryImportsOfAllContextAsync(document, cancellationToken).ConfigureAwait(False) If unnecessaryImports Is Nothing OrElse unnecessaryImports.Any(Function(import) import.OverlapsHiddenPosition(cancellationToken)) Then Return document End If + Dim root = Await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(False) + Dim oldRoot = DirectCast(root, CompilationUnitSyntax) Dim newRoot = New Rewriter(unnecessaryImports, cancellationToken).Visit(oldRoot) newRoot = newRoot.WithAdditionalAnnotations(Formatter.Annotation) + If cancellationToken.IsCancellationRequested Then + Return Nothing + End If + Return document.WithSyntaxRoot(newRoot) End Using End Function + Protected Overrides Function GetUnusedUsings(model As SemanticModel, root As SyntaxNode, cancellationToken As CancellationToken) As IEnumerable(Of ImportsClauseSyntax) + Return DirectCast(GetIndividualUnnecessaryImports(model, root, cancellationToken), IEnumerable(Of ImportsClauseSyntax)) + End Function + Private Shared Function GetIndividualUnnecessaryImports(semanticModel As SemanticModel, root As SyntaxNode, cancellationToken As CancellationToken) As IEnumerable(Of SyntaxNode) Dim diagnostics = semanticModel.GetDiagnostics(cancellationToken:=cancellationToken) diff --git a/src/Features/VisualBasic/Portable/project.lock.json b/src/Features/VisualBasic/Portable/project.lock.json index e7990b5e7904a..96dcee10a4d1f 100644 --- a/src/Features/VisualBasic/Portable/project.lock.json +++ b/src/Features/VisualBasic/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Interactive/CsiCore/CsiCore.csproj b/src/Interactive/CsiCore/CsiCore.csproj index d3a653c38124e..407706510fdbe 100644 --- a/src/Interactive/CsiCore/CsiCore.csproj +++ b/src/Interactive/CsiCore/CsiCore.csproj @@ -16,7 +16,8 @@ $(OutDir)core-clr\ true True - DNXCore + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + .NETPortable v5.0 true @@ -54,4 +55,4 @@ - \ No newline at end of file + diff --git a/src/Interactive/CsiCore/project.lock.json b/src/Interactive/CsiCore/project.lock.json index e8b3b090617ac..3a121fd726f53 100644 --- a/src/Interactive/CsiCore/project.lock.json +++ b/src/Interactive/CsiCore/project.lock.json @@ -484,7 +484,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1573,7 +1573,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -2818,7 +2818,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -5039,8 +5039,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -5049,7 +5049,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/EditorFeatures/CSharp/project.lock.json b/src/Interactive/EditorFeatures/CSharp/project.lock.json index 9999a749b04c3..25cbf9effb6b3 100644 --- a/src/Interactive/EditorFeatures/CSharp/project.lock.json +++ b/src/Interactive/EditorFeatures/CSharp/project.lock.json @@ -195,7 +195,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -904,8 +904,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -914,7 +914,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/EditorFeatures/Core/project.lock.json b/src/Interactive/EditorFeatures/Core/project.lock.json index 9dc1b100be91a..44db0b3e2623e 100644 --- a/src/Interactive/EditorFeatures/Core/project.lock.json +++ b/src/Interactive/EditorFeatures/Core/project.lock.json @@ -195,7 +195,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -904,8 +904,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -914,7 +914,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/EditorFeatures/VisualBasic/project.lock.json b/src/Interactive/EditorFeatures/VisualBasic/project.lock.json index 4d289afb3c8de..67ce648b6e5fa 100644 --- a/src/Interactive/EditorFeatures/VisualBasic/project.lock.json +++ b/src/Interactive/EditorFeatures/VisualBasic/project.lock.json @@ -206,7 +206,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -946,8 +946,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -956,7 +956,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/Features/project.lock.json b/src/Interactive/Features/project.lock.json index 9dc1b100be91a..44db0b3e2623e 100644 --- a/src/Interactive/Features/project.lock.json +++ b/src/Interactive/Features/project.lock.json @@ -195,7 +195,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -904,8 +904,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -914,7 +914,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/Host/project.lock.json b/src/Interactive/Host/project.lock.json index 19492209968f0..952eda949d814 100644 --- a/src/Interactive/Host/project.lock.json +++ b/src/Interactive/Host/project.lock.json @@ -195,7 +195,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -493,7 +493,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1202,8 +1202,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1212,7 +1212,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/HostTest/project.lock.json b/src/Interactive/HostTest/project.lock.json index 2d9afff1d91c4..7780df3749b50 100644 --- a/src/Interactive/HostTest/project.lock.json +++ b/src/Interactive/HostTest/project.lock.json @@ -211,7 +211,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -996,8 +996,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1006,7 +1006,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/VbiCore/VbiCore.vbproj b/src/Interactive/VbiCore/VbiCore.vbproj index de96b1172ac6d..c06ae50453dd0 100644 --- a/src/Interactive/VbiCore/VbiCore.vbproj +++ b/src/Interactive/VbiCore/VbiCore.vbproj @@ -18,7 +18,8 @@ $(OutDir)core-clr\ true True - DNXCore + {14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + .NETPortable v5.0 true diff --git a/src/Interactive/VbiCore/project.lock.json b/src/Interactive/VbiCore/project.lock.json index 7a42e16f7963b..0b0c0a8f9ae39 100644 --- a/src/Interactive/VbiCore/project.lock.json +++ b/src/Interactive/VbiCore/project.lock.json @@ -510,7 +510,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1625,7 +1625,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -2896,7 +2896,7 @@ "lib/DNXCore50/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -5148,8 +5148,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -5158,7 +5158,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/csi/project.lock.json b/src/Interactive/csi/project.lock.json index 0462682a31d29..fa5c51b792352 100644 --- a/src/Interactive/csi/project.lock.json +++ b/src/Interactive/csi/project.lock.json @@ -179,7 +179,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -461,7 +461,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1149,8 +1149,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1159,7 +1159,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Interactive/vbi/project.lock.json b/src/Interactive/vbi/project.lock.json index a5b7a5c06e120..5b8297d7aeca7 100644 --- a/src/Interactive/vbi/project.lock.json +++ b/src/Interactive/vbi/project.lock.json @@ -190,7 +190,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -483,7 +483,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1202,8 +1202,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1212,7 +1212,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/InteractiveWindow/EditorTest/project.lock.json b/src/InteractiveWindow/EditorTest/project.lock.json index 743bf56ea8256..a3ebbf45b6a9e 100644 --- a/src/InteractiveWindow/EditorTest/project.lock.json +++ b/src/InteractiveWindow/EditorTest/project.lock.json @@ -126,7 +126,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -668,8 +668,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -678,7 +678,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/InteractiveWindow/Version.props b/src/InteractiveWindow/Version.props index 9b44e55995199..85e3ef4d18ef9 100644 --- a/src/InteractiveWindow/Version.props +++ b/src/InteractiveWindow/Version.props @@ -1,5 +1,5 @@ - 1.1.0 + 1.2.0 \ No newline at end of file diff --git a/src/Scripting/CSharp/project.lock.json b/src/Scripting/CSharp/project.lock.json index 25a49872f4e37..2be6b7776f8fa 100644 --- a/src/Scripting/CSharp/project.lock.json +++ b/src/Scripting/CSharp/project.lock.json @@ -174,7 +174,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -866,8 +866,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -876,7 +876,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/CSharpTest.Desktop/project.lock.json b/src/Scripting/CSharpTest.Desktop/project.lock.json index 8329ba62d0e9c..b5282e02d1092 100644 --- a/src/Scripting/CSharpTest.Desktop/project.lock.json +++ b/src/Scripting/CSharpTest.Desktop/project.lock.json @@ -223,7 +223,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1154,8 +1154,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1164,7 +1164,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/CSharpTest/project.lock.json b/src/Scripting/CSharpTest/project.lock.json index 164571ddd3c25..0ec1fb151b764 100644 --- a/src/Scripting/CSharpTest/project.lock.json +++ b/src/Scripting/CSharpTest/project.lock.json @@ -262,7 +262,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1339,8 +1339,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1349,7 +1349,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/Core/project.lock.json b/src/Scripting/Core/project.lock.json index 82ed08b571a5c..57b9b00b7d295 100644 --- a/src/Scripting/Core/project.lock.json +++ b/src/Scripting/Core/project.lock.json @@ -174,7 +174,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -866,8 +866,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -876,7 +876,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/CoreTest.Desktop/project.lock.json b/src/Scripting/CoreTest.Desktop/project.lock.json index 5fe6e128a6478..bdaa922c5afa4 100644 --- a/src/Scripting/CoreTest.Desktop/project.lock.json +++ b/src/Scripting/CoreTest.Desktop/project.lock.json @@ -204,7 +204,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1089,8 +1089,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1099,7 +1099,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/CoreTest/project.lock.json b/src/Scripting/CoreTest/project.lock.json index e4310ec7c70f8..8aff39ef97d0e 100644 --- a/src/Scripting/CoreTest/project.lock.json +++ b/src/Scripting/CoreTest/project.lock.json @@ -262,7 +262,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1339,8 +1339,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1349,7 +1349,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/VisualBasic/project.lock.json b/src/Scripting/VisualBasic/project.lock.json index 2e8a36249e645..e98150ccef5c8 100644 --- a/src/Scripting/VisualBasic/project.lock.json +++ b/src/Scripting/VisualBasic/project.lock.json @@ -226,7 +226,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1025,8 +1025,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1035,7 +1035,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/VisualBasicTest.Desktop/project.lock.json b/src/Scripting/VisualBasicTest.Desktop/project.lock.json index e208a394421c9..4a859c55da43b 100644 --- a/src/Scripting/VisualBasicTest.Desktop/project.lock.json +++ b/src/Scripting/VisualBasicTest.Desktop/project.lock.json @@ -215,7 +215,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1131,8 +1131,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1141,7 +1141,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Scripting/VisualBasicTest/project.lock.json b/src/Scripting/VisualBasicTest/project.lock.json index f23fa909a8d5e..71dd55b8feae3 100644 --- a/src/Scripting/VisualBasicTest/project.lock.json +++ b/src/Scripting/VisualBasicTest/project.lock.json @@ -288,7 +288,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1396,8 +1396,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1406,7 +1406,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Test/Diagnostics/project.lock.json b/src/Test/Diagnostics/project.lock.json index 2a3ea7ac0461a..5d421f9727465 100644 --- a/src/Test/Diagnostics/project.lock.json +++ b/src/Test/Diagnostics/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -594,8 +594,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -604,7 +604,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Test/PdbUtilities/project.lock.json b/src/Test/PdbUtilities/project.lock.json index 9def1b8c1e2b5..743079b9a1034 100644 --- a/src/Test/PdbUtilities/project.lock.json +++ b/src/Test/PdbUtilities/project.lock.json @@ -20,7 +20,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -78,8 +78,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -88,7 +88,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } @@ -98,7 +98,7 @@ "Microsoft.DiaSymReader >= 1.0.6", "Microsoft.DiaSymReader.Native >= 1.2.0-rc", "System.Collections.Immutable >= 1.1.37", - "System.Reflection.Metadata >= 1.1.0-beta-23413" + "System.Reflection.Metadata >= 1.1.0-alpha-00015" ], ".NETPortable,Version=v4.5,Profile=Profile7": [] } diff --git a/src/Test/Performance/Fixture/Perf-Test.cmd b/src/Test/Performance/Fixture/Perf-Test.cmd new file mode 100644 index 0000000000000..038bd35c1d7b5 --- /dev/null +++ b/src/Test/Performance/Fixture/Perf-Test.cmd @@ -0,0 +1,133 @@ +@echo off +setlocal enabledelayedexpansion + +echo Hello from the Roslyn XUnit Performance test. +echo Command line: %0 %* +echo Running from %CD% +ver + +rem ========================================================= +rem Create a new local Results folder (delete any existing) +rem Note: The for statement is used to resolve the relative +rem path to an absolute path. +rem Note that the results are relative to the current working +rem directory. In Helix, the CWD is the "Exec" subfolder +rem beneath the work item folder. +rem ========================================================= +for /f %%i in ("..\Results") do set RESULTS=%%~fi +if exist %RESULTS% rd /s /q %RESULTS% +md %RESULTS% + +set > %RESULTS%\Environment.txt + +rem ========================================================= +rem If no extra arguments are on the command line, then look +rem for all performance test assemblies. +rem ========================================================= +set TEST_ASSEMBLIES=%* +if "%TEST_ASSEMBLIES%" == "" ( + set TEST_ASSEMBLIES=*.PerformanceTests.dll +) + +rem ======================================================== +rem This script is running from the root of the drop. +rem We could use HELIX_CORRELATION_PAYLOAD, but that usually +rem has the extended path prefix \\?\ on it which breaks all +rem sorts of scenarios. +rem ======================================================== +for /f %%i in ("%~dp0.") do set DROP=%%~fi + +rem ======================================================== +rem Run the tests from the root of the drop directory. +rem This allows us to use relative path names in the test +rem runner command line making it considerably shorter. +rem ======================================================== +pushd %DROP% + +rem ======================================================== +rem Prepare to run XUNIT tests +rem ======================================================== +set FIXTURE=Performance +if not exist %FIXTURE% ( + + rem =================================================== + rem Try to create the xunit fixture ourselves. This is + rem useful for local runs. + rem =================================================== + if exist ..\..\nuget.exe ( + echo Note: xunit performance fixture not found. Trying to create it. + set PACKAGES=%TEMP%\xunit%RANDOM% + ..\..\nuget.exe install -OutputDirectory !PACKAGES! -NonInteractive -ExcludeVersion xunit.extensibility.execution -Version 2.1.0 -Source https://www.nuget.org/api/v2/ + ..\..\nuget.exe install -OutputDirectory !PACKAGES! -NonInteractive -ExcludeVersion Microsoft.DotNet.xunit.performance.runner.Windows -Version 1.0.0-alpha-build0023 -Source https://www.myget.org/F/dotnet-buildtools/ + + xcopy /s /i /y !PACKAGES!\xunit.runner.console\tools\* %FIXTURE% + xcopy /s /i /y !PACKAGES!\Microsoft.DotNet.xunit.performance.runner.Windows\tools\* %FIXTURE% + copy /y !PACKAGES!\xunit.extensibility.core\lib\dotnet\xunit.core.dll %FIXTURE% + copy /y !PACKAGES!\xunit.extensibility.execution\lib\net45\xunit.execution.desktop.dll %FIXTURE% + + ) else ( + echo ERROR: xunit performance fixture not found + popd + goto :eof + ) +) + +if not exist %FIXTURE%\xunit.performance.run.exe ( + echo ERROR: xunit.performance.run.exe not found + popd + goto :eof +) + +if not exist %FIXTURE%\xunit.console.exe ( + echo ERROR: xunit.console.exe not found + popd + goto :eof +) + +echo Running tests from %CD% + +if defined HELIX_CORRELATION_ID ( + set RUNID=%HELIX_CORRELATION_ID% +) else ( + set RUNID=%COMPUTERNAME%_%USERNAME%_%DATE:~10%%DATE:~4,2%%DATE:~7,2%T%TIME:~0,2%%TIME:~3,2%%TIME:~6,2% +) + +for %%f in (%TEST_ASSEMBLIES%) do ( + + if not exist %%f ( + echo ERROR: Cannot find %%f in %CD% + ) else ( + %FIXTURE%\xunit.performance.run.exe %%f -verbose -runnerargs "-verbose" -outdir %RESULTS% -outfile %%~nf -runid %RUNID% + + if exist %RESULTS%\%%~nf.etl ( + if defined HELIX_PYTHONPATH ( + if defined HELIX_SCRIPT_ROOT ( + echo Zipping %%~nf.etl + pushd %RESULTS% + %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\zip_script.py -zipFile %%~nf.etl.zip %%~nf.etl + del %%~nf.etl + popd + ) + ) + ) + ) +) + +popd + +echo All tests done. +echo Results in %RESULTS% + +rem ======================================================== +rem Upload Results if running under HELIX +rem ======================================================== +if DEFINED HELIX_RESULTS_CONTAINER_URI ( + if defined HELIX_PYTHONPATH ( + if defined HELIX_SCRIPT_ROOT ( + for %%f in (%RESULTS%\*) do ( + echo Uploading %%f + %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py -result %%f -result_name %%~nxf -upload_client_type Blob + ) + ) + ) +) diff --git a/src/Test/Performance/Fixture/Performance-Fixture.csproj b/src/Test/Performance/Fixture/Performance-Fixture.csproj new file mode 100644 index 0000000000000..660482f5970e2 --- /dev/null +++ b/src/Test/Performance/Fixture/Performance-Fixture.csproj @@ -0,0 +1,33 @@ + + + + + + + + Debug + AnyCPU + {308CEBD4-418A-4C3B-97A5-24723B288157} + Library + Roslyn.Performance-Fixture + true + ..\..\..\..\ + true + + v4.6 + true + + + none + false + + + + PreserveNewest + + + + + + + \ No newline at end of file diff --git a/src/Test/Performance/Fixture/project.json b/src/Test/Performance/Fixture/project.json new file mode 100644 index 0000000000000..1691c3b4058f4 --- /dev/null +++ b/src/Test/Performance/Fixture/project.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "Microsoft.DotNet.xunit.performance": "1.0.0-alpha-build0023" + }, + "frameworks": { + "net46": { } + }, + "runtimes": { + "win7-": { } + } +} diff --git a/src/Test/Performance/Fixture/project.lock.json b/src/Test/Performance/Fixture/project.lock.json new file mode 100644 index 0000000000000..5453833cf8142 --- /dev/null +++ b/src/Test/Performance/Fixture/project.lock.json @@ -0,0 +1,1012 @@ +{ + "locked": false, + "version": 1, + "targets": { + ".NETFramework,Version=v4.6": { + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "dependencies": { + "System.Collections": "[4.0.10, )", + "System.Diagnostics.Debug": "[4.0.10, )", + "System.Diagnostics.Tracing": "[4.0.20, )", + "System.Globalization": "[4.0.10, )", + "System.IO": "[4.0.10, )", + "System.IO.FileSystem": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Reflection": "[4.0.10, )", + "System.Runtime": "[4.0.20, )", + "System.Runtime.Extensions": "[4.0.10, )", + "System.Text.Encoding": "[4.0.10, )", + "System.Threading": "[4.0.10, )", + "System.Threading.Tasks": "[4.0.10, )", + "xunit.abstractions": "[2.0.0, )", + "xunit.extensibility.core": "[2.1.0, )", + "xunit.extensibility.execution": "[2.1.0, )" + }, + "compile": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + }, + "runtime": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + } + }, + "System.Collections/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Debug/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Tracing/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Globalization/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO.FileSystem/4.0.0": { + "dependencies": { + "System.IO": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Handles": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Threading.Tasks": "[4.0.0, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "dependencies": { + "System.Runtime": "[4.0.20, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Linq/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Extensions/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Handles/4.0.0": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Text.Encoding/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading.Tasks/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "xunit.abstractions/2.0.0": { + "compile": { + "lib/net35/xunit.abstractions.dll": {} + }, + "runtime": { + "lib/net35/xunit.abstractions.dll": {} + } + }, + "xunit.extensibility.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "[2.0.0, 2.0.0]" + }, + "compile": { + "lib/dotnet/xunit.core.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]" + }, + "compile": { + "lib/net45/xunit.execution.desktop.dll": {} + }, + "runtime": { + "lib/net45/xunit.execution.desktop.dll": {} + } + } + }, + ".NETFramework,Version=v4.6/win7-": { + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "dependencies": { + "System.Collections": "[4.0.10, )", + "System.Diagnostics.Debug": "[4.0.10, )", + "System.Diagnostics.Tracing": "[4.0.20, )", + "System.Globalization": "[4.0.10, )", + "System.IO": "[4.0.10, )", + "System.IO.FileSystem": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Linq": "[4.0.0, )", + "System.Reflection": "[4.0.10, )", + "System.Runtime": "[4.0.20, )", + "System.Runtime.Extensions": "[4.0.10, )", + "System.Text.Encoding": "[4.0.10, )", + "System.Threading": "[4.0.10, )", + "System.Threading.Tasks": "[4.0.10, )", + "xunit.abstractions": "[2.0.0, )", + "xunit.extensibility.core": "[2.1.0, )", + "xunit.extensibility.execution": "[2.1.0, )" + }, + "compile": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + }, + "runtime": { + "lib/net46/xunit.performance.core.dll": {}, + "lib/net46/xunit.performance.execution.desktop.dll": {} + } + }, + "System.Collections/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Debug/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Diagnostics.Tracing/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Globalization/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.IO.FileSystem/4.0.0": { + "dependencies": { + "System.IO": "[4.0.0, )", + "System.IO.FileSystem.Primitives": "[4.0.0, )", + "System.Runtime": "[4.0.0, )", + "System.Runtime.Handles": "[4.0.0, )", + "System.Text.Encoding": "[4.0.0, )", + "System.Threading.Tasks": "[4.0.0, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "dependencies": { + "System.Runtime": "[4.0.20, )" + }, + "frameworkAssemblies": [ + "mscorlib" + ], + "compile": { + "ref/net46/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/net46/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Linq/4.0.0": { + "compile": { + "ref/net45/_._": {} + }, + "runtime": { + "lib/net45/_._": {} + } + }, + "System.Reflection/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime/4.0.20": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Extensions/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Runtime.Handles/4.0.0": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Text.Encoding/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "System.Threading.Tasks/4.0.10": { + "compile": { + "ref/net46/_._": {} + }, + "runtime": { + "lib/net46/_._": {} + } + }, + "xunit.abstractions/2.0.0": { + "compile": { + "lib/net35/xunit.abstractions.dll": {} + }, + "runtime": { + "lib/net35/xunit.abstractions.dll": {} + } + }, + "xunit.extensibility.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "[2.0.0, 2.0.0]" + }, + "compile": { + "lib/dotnet/xunit.core.dll": {} + }, + "runtime": { + "lib/dotnet/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.1.0": { + "dependencies": { + "xunit.extensibility.core": "[2.1.0, 2.1.0]" + }, + "compile": { + "lib/net45/xunit.execution.desktop.dll": {} + }, + "runtime": { + "lib/net45/xunit.execution.desktop.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0023": { + "sha512": "7TOhATYXNVMF3HHGuM/WFHLt7r4uvFIUliplzIHsfL/KwxaHUbV6RI1f7EZRAioMbJI5520BGOOZ+9XIqtTQuA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.performance.core.dll", + "lib/dotnet/xunit.performance.core.pdb", + "lib/dotnet/xunit.performance.core.XML", + "lib/dotnet/xunit.performance.execution.dotnet.dll", + "lib/dotnet/xunit.performance.execution.dotnet.pdb", + "lib/net46/xunit.performance.core.dll", + "lib/net46/xunit.performance.core.pdb", + "lib/net46/xunit.performance.core.XML", + "lib/net46/xunit.performance.execution.desktop.dll", + "lib/net46/xunit.performance.execution.desktop.pdb", + "Microsoft.DotNet.xunit.performance.nuspec", + "package/services/metadata/core-properties/b700b008fbc64ae1a3ad112bf6153897.psmdcp" + ] + }, + "System.Collections/4.0.10": { + "sha512": "ux6ilcZZjV/Gp7JEZpe+2V1eTueq6NuoGRM3eZCFuPM25hLVVgCRuea6STW8hvqreIOE59irJk5/ovpA5xQipw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Collections.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Collections.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/b4f8061406e54dbda8f11b23186be11a.psmdcp", + "ref/dotnet/de/System.Collections.xml", + "ref/dotnet/es/System.Collections.xml", + "ref/dotnet/fr/System.Collections.xml", + "ref/dotnet/it/System.Collections.xml", + "ref/dotnet/ja/System.Collections.xml", + "ref/dotnet/ko/System.Collections.xml", + "ref/dotnet/ru/System.Collections.xml", + "ref/dotnet/System.Collections.dll", + "ref/dotnet/System.Collections.xml", + "ref/dotnet/zh-hans/System.Collections.xml", + "ref/dotnet/zh-hant/System.Collections.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Collections.dll", + "System.Collections.nuspec" + ] + }, + "System.Diagnostics.Debug/4.0.10": { + "sha512": "pi2KthuvI2LWV2c2V+fwReDsDiKpNl040h6DcwFOb59SafsPT/V1fCy0z66OKwysurJkBMmp5j5CBe3Um+ub0g==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Debug.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Debug.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/bfb05c26051f4a5f9015321db9cb045c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Debug.xml", + "ref/dotnet/es/System.Diagnostics.Debug.xml", + "ref/dotnet/fr/System.Diagnostics.Debug.xml", + "ref/dotnet/it/System.Diagnostics.Debug.xml", + "ref/dotnet/ja/System.Diagnostics.Debug.xml", + "ref/dotnet/ko/System.Diagnostics.Debug.xml", + "ref/dotnet/ru/System.Diagnostics.Debug.xml", + "ref/dotnet/System.Diagnostics.Debug.dll", + "ref/dotnet/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll", + "System.Diagnostics.Debug.nuspec" + ] + }, + "System.Diagnostics.Tracing/4.0.20": { + "sha512": "gn/wexGHc35Fv++5L1gYHMY5g25COfiZ0PGrL+3PfwzoJd4X2LbTAm/U8d385SI6BKQBI/z4dQfvneS9J27+Tw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Diagnostics.Tracing.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Diagnostics.Tracing.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/13423e75e6344b289b3779b51522737c.psmdcp", + "ref/dotnet/de/System.Diagnostics.Tracing.xml", + "ref/dotnet/es/System.Diagnostics.Tracing.xml", + "ref/dotnet/fr/System.Diagnostics.Tracing.xml", + "ref/dotnet/it/System.Diagnostics.Tracing.xml", + "ref/dotnet/ja/System.Diagnostics.Tracing.xml", + "ref/dotnet/ko/System.Diagnostics.Tracing.xml", + "ref/dotnet/ru/System.Diagnostics.Tracing.xml", + "ref/dotnet/System.Diagnostics.Tracing.dll", + "ref/dotnet/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml", + "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll", + "System.Diagnostics.Tracing.nuspec" + ] + }, + "System.Globalization/4.0.10": { + "sha512": "kzRtbbCNAxdafFBDogcM36ehA3th8c1PGiz8QRkZn8O5yMBorDHSK8/TGJPYOaCS5zdsGk0u9qXHnW91nqy7fw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Globalization.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Globalization.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/93bcad242a4e4ad7afd0b53244748763.psmdcp", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Globalization.dll", + "System.Globalization.nuspec" + ] + }, + "System.IO/4.0.10": { + "sha512": "kghf1CeYT+W2lw8a50/GxFz5HR9t6RkL4BvjxtTp1NxtEFWywnMA9W8FH/KYXiDNThcw9u/GOViDON4iJFGXIQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/db72fd58a86b4d13a6d2858ebec46705.psmdcp", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll", + "System.IO.nuspec" + ] + }, + "System.IO.FileSystem/4.0.0": { + "sha512": "eo05SPWfG+54UA0wxgRIYOuOslq+2QrJLXZaJDDsfLXG15OLguaItW39NYZTqUb4DeGOkU4R0wpOLOW4ynMUDQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.IO.FileSystem.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/netcore50/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/0405bad2bcdd403884f42a0a79534bc1.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.xml", + "ref/dotnet/es/System.IO.FileSystem.xml", + "ref/dotnet/fr/System.IO.FileSystem.xml", + "ref/dotnet/it/System.IO.FileSystem.xml", + "ref/dotnet/ja/System.IO.FileSystem.xml", + "ref/dotnet/ko/System.IO.FileSystem.xml", + "ref/dotnet/ru/System.IO.FileSystem.xml", + "ref/dotnet/System.IO.FileSystem.dll", + "ref/dotnet/System.IO.FileSystem.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0": { + "sha512": "7pJUvYi/Yq3A5nagqCCiOw3+aJp3xXc/Cjr8dnJDnER3/6kX3LEencfqmXUcPl9+7OvRNyPMNhqsLAcMK6K/KA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/2cf3542156f0426483f92b9e37d8d381.psmdcp", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "System.IO.FileSystem.Primitives.nuspec" + ] + }, + "System.Linq/4.0.0": { + "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/System.Linq.dll", + "lib/net45/_._", + "lib/netcore50/System.Linq.dll", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "package/services/metadata/core-properties/6fcde56ce4094f6a8fff4b28267da532.psmdcp", + "ref/dotnet/de/System.Linq.xml", + "ref/dotnet/es/System.Linq.xml", + "ref/dotnet/fr/System.Linq.xml", + "ref/dotnet/it/System.Linq.xml", + "ref/dotnet/ja/System.Linq.xml", + "ref/dotnet/ko/System.Linq.xml", + "ref/dotnet/ru/System.Linq.xml", + "ref/dotnet/System.Linq.dll", + "ref/dotnet/System.Linq.xml", + "ref/dotnet/zh-hans/System.Linq.xml", + "ref/dotnet/zh-hant/System.Linq.xml", + "ref/net45/_._", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "System.Linq.nuspec" + ] + }, + "System.Reflection/4.0.10": { + "sha512": "WZ+4lEE4gqGx6mrqLhSiW4oi6QLPWwdNjzhhTONmhELOrW8Cw9phlO9tltgvRUuQUqYtBiliFwhO5S5fCJElVw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Reflection.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Reflection.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/84d992ce164945bfa10835e447244fb1.psmdcp", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.dll", + "System.Reflection.nuspec" + ] + }, + "System.Runtime/4.0.20": { + "sha512": "X7N/9Bz7jVPorqdVFO86ns1sX6MlQM+WTxELtx+Z4VG45x9+LKmWH0GRqjgKprUnVuwmfB9EJ9DQng14Z7/zwg==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/d1ded52f75da4446b1c962f9292aa3ef.psmdcp", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll", + "System.Runtime.nuspec" + ] + }, + "System.Runtime.Extensions/4.0.10": { + "sha512": "5dsEwf3Iml7d5OZeT20iyOjT+r+okWpN7xI2v+R4cgd3WSj4DeRPTvPFjDpacbVW4skCAZ8B9hxXJYgkCFKJ1A==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c7fee76a13d04c7ea49fb1a24c184f37.psmdcp", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll", + "System.Runtime.Extensions.nuspec" + ] + }, + "System.Runtime.Handles/4.0.0": { + "sha512": "638VhpRq63tVcQ6HDb3um3R/J2BtR1Sa96toHo6PcJGPXEPEsleCuqhBgX2gFCz0y0qkutANwW6VPPY5wQu1XQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/da57aa32ff2441d1acfe85bee4f101ab.psmdcp", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll", + "System.Runtime.Handles.nuspec" + ] + }, + "System.Text.Encoding/4.0.10": { + "sha512": "fNlSFgy4OuDlJrP9SFFxMlaLazq6ipv15sU5TiEgg9UCVnA/OgoVUfymFp4AOk1jOkW5SVxWbeeIUptcM+m/Vw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/829e172aadac4937a5a6a4b386855282.psmdcp", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll", + "System.Text.Encoding.nuspec" + ] + }, + "System.Threading/4.0.10": { + "sha512": "0w6pRxIEE7wuiOJeKabkDgeIKmqf4ER1VNrs6qFwHnooEE78yHwi/bKkg5Jo8/pzGLm0xQJw0nEmPXt1QBAIUA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/c17c3791d8fa4efbb8aded2ca8c71fbe.psmdcp", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll", + "System.Threading.nuspec" + ] + }, + "System.Threading.Tasks/4.0.10": { + "sha512": "NOwJGDfk79jR0bnzosbXLVD/PdI8KzBeESoa3CofEM5v9R5EBfcI0Jyf18stx+0IYV9okmDIDxVtxq9TbnR9bQ==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "package/services/metadata/core-properties/a4ed35f8764a4b68bb39ec8d13b3e730.psmdcp", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll", + "System.Threading.Tasks.nuspec" + ] + }, + "xunit.abstractions/2.0.0": { + "sha512": "NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll", + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.xml", + "package/services/metadata/core-properties/24083640fee244bf9de77f4c35d40a72.psmdcp", + "xunit.abstractions.nuspec" + ] + }, + "xunit.extensibility.core/2.1.0": { + "sha512": "ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dotnet/xunit.core.dll", + "lib/dotnet/xunit.core.dll.tdnet", + "lib/dotnet/xunit.core.pdb", + "lib/dotnet/xunit.core.xml", + "lib/dotnet/xunit.runner.tdnet.dll", + "lib/dotnet/xunit.runner.utility.desktop.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll.tdnet", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.core.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.tdnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.desktop.dll", + "package/services/metadata/core-properties/5218831c5b01422bb82b23cafd6488b3.psmdcp", + "xunit.extensibility.core.nuspec" + ] + }, + "xunit.extensibility.execution/2.1.0": { + "sha512": "tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/dnx451/xunit.execution.dotnet.dll", + "lib/dnx451/xunit.execution.dotnet.pdb", + "lib/dnx451/xunit.execution.dotnet.xml", + "lib/dotnet/xunit.execution.dotnet.dll", + "lib/dotnet/xunit.execution.dotnet.pdb", + "lib/dotnet/xunit.execution.dotnet.xml", + "lib/monoandroid/xunit.execution.dotnet.dll", + "lib/monoandroid/xunit.execution.dotnet.pdb", + "lib/monoandroid/xunit.execution.dotnet.xml", + "lib/monotouch/xunit.execution.dotnet.dll", + "lib/monotouch/xunit.execution.dotnet.pdb", + "lib/monotouch/xunit.execution.dotnet.xml", + "lib/net45/xunit.execution.desktop.dll", + "lib/net45/xunit.execution.desktop.pdb", + "lib/net45/xunit.execution.desktop.xml", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.dll", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.pdb", + "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.xml", + "lib/win8/xunit.execution.dotnet.dll", + "lib/win8/xunit.execution.dotnet.pdb", + "lib/win8/xunit.execution.dotnet.xml", + "lib/wp8/xunit.execution.dotnet.dll", + "lib/wp8/xunit.execution.dotnet.pdb", + "lib/wp8/xunit.execution.dotnet.xml", + "lib/wpa81/xunit.execution.dotnet.dll", + "lib/wpa81/xunit.execution.dotnet.pdb", + "lib/wpa81/xunit.execution.dotnet.xml", + "lib/xamarinios/xunit.execution.dotnet.dll", + "lib/xamarinios/xunit.execution.dotnet.pdb", + "lib/xamarinios/xunit.execution.dotnet.xml", + "package/services/metadata/core-properties/9f5f1211ea9a4e748cecce63d1c73e30.psmdcp", + "xunit.extensibility.execution.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "Microsoft.DotNet.xunit.performance >= 1.0.0-alpha-build0023" + ], + ".NETFramework,Version=v4.6": [] + } +} \ No newline at end of file diff --git a/src/Test/Utilities/Desktop/TestUtilities.Desktop.csproj b/src/Test/Utilities/Desktop/TestUtilities.Desktop.csproj index c60bb5fe47619..0d356c21d0cf0 100644 --- a/src/Test/Utilities/Desktop/TestUtilities.Desktop.csproj +++ b/src/Test/Utilities/Desktop/TestUtilities.Desktop.csproj @@ -135,6 +135,7 @@ + @@ -143,6 +144,7 @@ + diff --git a/src/Test/Utilities/Desktop/project.lock.json b/src/Test/Utilities/Desktop/project.lock.json index 7654cbdaf059b..92bb6d3334ad4 100644 --- a/src/Test/Utilities/Desktop/project.lock.json +++ b/src/Test/Utilities/Desktop/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -602,8 +602,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -612,7 +612,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Test/Utilities/Portable.FX45/TestUtilities.FX45.csproj b/src/Test/Utilities/Portable.FX45/TestUtilities.FX45.csproj index 8da7e42cef392..1cbbdebbeab7c 100644 --- a/src/Test/Utilities/Portable.FX45/TestUtilities.FX45.csproj +++ b/src/Test/Utilities/Portable.FX45/TestUtilities.FX45.csproj @@ -90,6 +90,7 @@ + @@ -98,6 +99,7 @@ + diff --git a/src/Test/Utilities/Portable.FX45/project.lock.json b/src/Test/Utilities/Portable.FX45/project.lock.json index 144f9edc471a4..2a1ce1a803d70 100644 --- a/src/Test/Utilities/Portable.FX45/project.lock.json +++ b/src/Test/Utilities/Portable.FX45/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -325,7 +325,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -556,7 +556,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1064,8 +1064,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1074,7 +1074,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, @@ -1567,7 +1567,7 @@ "Microsoft.CodeAnalysis.Test.Resources.Proprietary >= 1.1.0-beta1-20150824-02", "Microsoft.DiaSymReader >= 1.0.6", "System.Collections.Immutable >= 1.1.37", - "System.Reflection.Metadata >= 1.1.0-beta-23413", + "System.Reflection.Metadata >= 1.1.0-alpha-00015", "xunit >= 2.1.0" ], ".NETFramework,Version=v4.5": [] diff --git a/src/Test/Utilities/Portable/TestUtilities.csproj b/src/Test/Utilities/Portable/TestUtilities.csproj index 312aba29922f4..4d9d328dbc2bf 100644 --- a/src/Test/Utilities/Portable/TestUtilities.csproj +++ b/src/Test/Utilities/Portable/TestUtilities.csproj @@ -82,6 +82,7 @@ + @@ -90,6 +91,7 @@ + diff --git a/src/Test/Utilities/Portable/project.lock.json b/src/Test/Utilities/Portable/project.lock.json index 3760988f8a3cb..f7ed9c5d38da5 100644 --- a/src/Test/Utilities/Portable/project.lock.json +++ b/src/Test/Utilities/Portable/project.lock.json @@ -201,7 +201,7 @@ "ref/dotnet/System.Reflection.Extensions.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1155,8 +1155,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1165,7 +1165,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Test/Utilities/Runtime.FX46/project.lock.json b/src/Test/Utilities/Runtime.FX46/project.lock.json index 67536907ac456..b943a7df95191 100644 --- a/src/Test/Utilities/Runtime.FX46/project.lock.json +++ b/src/Test/Utilities/Runtime.FX46/project.lock.json @@ -140,7 +140,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -487,7 +487,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1090,8 +1090,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1100,7 +1100,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, @@ -1723,7 +1723,7 @@ "System.IO.FileSystem >= 4.0.0", "System.IO.FileSystem.Primitives >= 4.0.0", "System.Reflection >= 4.0.10", - "System.Reflection.Metadata >= 1.1.0-beta-23413", + "System.Reflection.Metadata >= 1.1.0-alpha-00015", "System.Runtime >= 4.0.20", "System.Runtime.Extensions >= 4.0.10", "System.Runtime.InteropServices >= 4.0.20", diff --git a/src/Tools/Source/FakeSign/project.lock.json b/src/Tools/Source/FakeSign/project.lock.json index 59a10dcf8b8fa..ab5e22a704413 100644 --- a/src/Tools/Source/FakeSign/project.lock.json +++ b/src/Tools/Source/FakeSign/project.lock.json @@ -77,7 +77,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -241,7 +241,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -658,8 +658,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -668,7 +668,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, @@ -1035,7 +1035,7 @@ }, "projectFileDependencyGroups": { "": [ - "System.Reflection.Metadata >= 1.1.0-beta-23413" + "System.Reflection.Metadata >= 1.1.0-alpha-00015" ], ".NETFramework,Version=v4.5.2": [] } diff --git a/src/Tools/Source/MetadataVisualizer/project.lock.json b/src/Tools/Source/MetadataVisualizer/project.lock.json index bdbca6e04821a..1e44301d2eef7 100644 --- a/src/Tools/Source/MetadataVisualizer/project.lock.json +++ b/src/Tools/Source/MetadataVisualizer/project.lock.json @@ -86,7 +86,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -259,7 +259,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -706,8 +706,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -716,7 +716,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Tools/Source/Pdb2Xml/project.lock.json b/src/Tools/Source/Pdb2Xml/project.lock.json index cf09278ac383c..7bfdcfecb4fb3 100644 --- a/src/Tools/Source/Pdb2Xml/project.lock.json +++ b/src/Tools/Source/Pdb2Xml/project.lock.json @@ -86,7 +86,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -259,7 +259,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -706,8 +706,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -716,7 +716,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Tools/Source/RunTests/Program.cs b/src/Tools/Source/RunTests/Program.cs index b208734ac3864..f79882c946981 100644 --- a/src/Tools/Source/RunTests/Program.cs +++ b/src/Tools/Source/RunTests/Program.cs @@ -47,7 +47,9 @@ internal static int Main(string[] args) var testRunner = new TestRunner(xunit, useHtml); var start = DateTime.Now; - Console.WriteLine("Running {0} tests", list.Count); + + Console.WriteLine("Running {0} test assemblies", list.Count); + var orderedList = OrderAssemblyList(list); var result = testRunner.RunAllAsync(orderedList, cts.Token).Result; var span = DateTime.Now - start; diff --git a/src/VisualStudio/CSharp/Impl/project.lock.json b/src/VisualStudio/CSharp/Impl/project.lock.json index d79cd3c738e45..50c7c589aa869 100644 --- a/src/VisualStudio/CSharp/Impl/project.lock.json +++ b/src/VisualStudio/CSharp/Impl/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/CSharp/Repl/project.lock.json b/src/VisualStudio/CSharp/Repl/project.lock.json index 4628d6b9945c8..fab37edc99072 100644 --- a/src/VisualStudio/CSharp/Repl/project.lock.json +++ b/src/VisualStudio/CSharp/Repl/project.lock.json @@ -211,7 +211,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -949,8 +949,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -959,7 +959,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/CSharp/Test/project.lock.json b/src/VisualStudio/CSharp/Test/project.lock.json index 9e84fde6d8841..4deb9d999737d 100644 --- a/src/VisualStudio/CSharp/Test/project.lock.json +++ b/src/VisualStudio/CSharp/Test/project.lock.json @@ -246,7 +246,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1104,8 +1104,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1114,7 +1114,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/Core/Def/Implementation/Extensions/DocumentExtensions.cs b/src/VisualStudio/Core/Def/Implementation/Extensions/DocumentExtensions.cs index a4cb29e514c84..13fe0ffac7d1a 100644 --- a/src/VisualStudio/Core/Def/Implementation/Extensions/DocumentExtensions.cs +++ b/src/VisualStudio/Core/Def/Implementation/Extensions/DocumentExtensions.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Threading; +using System.Threading.Tasks; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.LanguageServices; using Microsoft.CodeAnalysis.Text; @@ -59,5 +60,15 @@ public static IList> GetVisibleCodeBlocks(this Document do return codeBlocks; } + + public async static Task GetSpanFromPositionAsync(this Document document, int startLine, int startColumn, int endLine, int endColumn, CancellationToken cancellationToken) + { + var tree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false); + var startLinePosition = new LinePosition(startLine, startColumn); + var endLinePosition = new LinePosition(endLine, endColumn); + var linePositionSpan = new LinePositionSpan(start: startLinePosition, end: endLinePosition); + var text = await tree.GetTextAsync(cancellationToken).ConfigureAwait(false); + return text.Lines.GetTextSpan(linePositionSpan); + } } } diff --git a/src/VisualStudio/Core/Def/Implementation/TableDataSource/Suppression/VisualStudioSuppressionFixService.cs b/src/VisualStudio/Core/Def/Implementation/TableDataSource/Suppression/VisualStudioSuppressionFixService.cs index 68483225d85e0..a4fd676cd8d40 100644 --- a/src/VisualStudio/Core/Def/Implementation/TableDataSource/Suppression/VisualStudioSuppressionFixService.cs +++ b/src/VisualStudio/Core/Def/Implementation/TableDataSource/Suppression/VisualStudioSuppressionFixService.cs @@ -17,13 +17,11 @@ using Microsoft.CodeAnalysis.Editor.Implementation.Suggestions; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem; using Microsoft.VisualStudio.LanguageServices.Implementation.TableDataSource; +using Microsoft.VisualStudio.LanguageServices.Implementation.TaskList; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.Shell.TableControl; using Roslyn.Utilities; - -using Task = System.Threading.Tasks.Task; - namespace Microsoft.VisualStudio.LanguageServices.Implementation.Suppression { /// @@ -35,6 +33,7 @@ internal sealed class VisualStudioSuppressionFixService : IVisualStudioSuppressi private readonly VisualStudioWorkspaceImpl _workspace; private readonly IWpfTableControl _tableControl; private readonly IDiagnosticAnalyzerService _diagnosticService; + private readonly ExternalErrorDiagnosticUpdateSource _buildErrorDiagnosticService; private readonly ICodeFixService _codeFixService; private readonly IFixMultipleOccurrencesService _fixMultipleOccurencesService; private readonly ICodeActionEditHandlerService _editHandlerService; @@ -46,6 +45,7 @@ public VisualStudioSuppressionFixService( SVsServiceProvider serviceProvider, VisualStudioWorkspaceImpl workspace, IDiagnosticAnalyzerService diagnosticService, + ExternalErrorDiagnosticUpdateSource buildErrorDiagnosticService, ICodeFixService codeFixService, ICodeActionEditHandlerService editHandlerService, IVisualStudioDiagnosticListSuppressionStateService suppressionStateService, @@ -53,6 +53,7 @@ public VisualStudioSuppressionFixService( { _workspace = workspace; _diagnosticService = diagnosticService; + _buildErrorDiagnosticService = buildErrorDiagnosticService; _codeFixService = codeFixService; _suppressionStateService = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService; _editHandlerService = editHandlerService; @@ -122,16 +123,19 @@ private static Func GetShouldFixInProjectDelegate(VisualStudioWor } } - private async Task> GetAllDiagnosticsAsync(Func shouldFixInProject, CancellationToken cancellationToken) + private ImmutableArray GetAllBuildDiagnostics(Func shouldFixInProject, CancellationToken cancellationToken) { var builder = ImmutableArray.CreateBuilder(); + var buildDiagnostics = _buildErrorDiagnosticService.GetBuildErrors().Where(d => d.ProjectId != null && d.Severity != DiagnosticSeverity.Hidden); var solution = _workspace.CurrentSolution; - foreach (var project in solution.Projects) + foreach (var diagnosticsByProject in buildDiagnostics.GroupBy(d => d.ProjectId)) { - if (shouldFixInProject(project)) + cancellationToken.ThrowIfCancellationRequested(); + + var project = solution.GetProject(diagnosticsByProject.Key); + if (project != null && shouldFixInProject(project)) { - var diagnostics = await _diagnosticService.GetDiagnosticsAsync(solution, project.Id, includeSuppressedDiagnostics: true, cancellationToken: cancellationToken).ConfigureAwait(false); - builder.AddRange(diagnostics.Where(d => d.Severity != DiagnosticSeverity.Hidden)); + builder.AddRange(diagnosticsByProject); } } @@ -154,12 +158,10 @@ private IEnumerable GetDiagnosticsToFix(Func shou Action computeDiagnosticsToFix = cancellationToken => { // If we are fixing selected diagnostics in error list, then get the diagnostics from error list entry snapshots. - // Otherwise, get all diagnostics from the diagnostic service. - var diagnosticsToFixTask = selectedEntriesOnly ? - _suppressionStateService.GetSelectedItemsAsync(isAddSuppression, cancellationToken) : - GetAllDiagnosticsAsync(shouldFixInProject, cancellationToken); - - diagnosticsToFix = diagnosticsToFixTask.WaitAndGetResult(cancellationToken); + // Otherwise, get all build diagnostics from the error list. + diagnosticsToFix = selectedEntriesOnly ? + _suppressionStateService.GetSelectedItemsAsync(isAddSuppression, cancellationToken).WaitAndGetResult(cancellationToken) : + GetAllBuildDiagnostics(shouldFixInProject, cancellationToken); }; var title = GetFixTitle(isAddSuppression); @@ -226,6 +228,8 @@ private bool ApplySuppressionFix(IEnumerable diagnosticsToFix, F return; } + cancellationToken.ThrowIfCancellationRequested(); + // Equivalence key determines what fix will be applied. // Make sure we don't include any specific diagnostic ID, as we want all of the given diagnostics (which can have varied ID) to be fixed. var equivalenceKey = isAddSuppression ? @@ -241,6 +245,8 @@ private bool ApplySuppressionFix(IEnumerable diagnosticsToFix, F // Use the Fix multiple occurrences service to compute a bulk suppression fix for the specified document and project diagnostics, // show a preview changes dialog and then apply the fix to the workspace. + cancellationToken.ThrowIfCancellationRequested(); + var documentDiagnosticsPerLanguage = GetDocumentDiagnosticsMappedToNewSolution(documentDiagnosticsToFixMap, newSolution, language); if (!documentDiagnosticsPerLanguage.IsEmpty) { @@ -256,7 +262,7 @@ private bool ApplySuppressionFix(IEnumerable diagnosticsToFix, F equivalenceKey, title, waitDialogMessage, - cancellationToken: CancellationToken.None); + cancellationToken); if (newSolution == null) { // User cancelled or fixer threw an exception, so we just bail out. @@ -281,7 +287,7 @@ private bool ApplySuppressionFix(IEnumerable diagnosticsToFix, F equivalenceKey, title, waitDialogMessage, - CancellationToken.None); + cancellationToken); if (newSolution == null) { // User cancelled or fixer threw an exception, so we just bail out. diff --git a/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioBaseDiagnosticListTable.LiveTableDataSource.cs b/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioBaseDiagnosticListTable.LiveTableDataSource.cs index 65451bcdef136..adf319e05b04d 100644 --- a/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioBaseDiagnosticListTable.LiveTableDataSource.cs +++ b/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioBaseDiagnosticListTable.LiveTableDataSource.cs @@ -287,6 +287,9 @@ public override bool TryGetValue(int index, string columnName, out object conten case StandardTableKeyNames.ErrorCodeToolTip: content = GetHelpLinkToolTipText(data); return content != null; + case StandardTableKeyNames.HelpKeyword: + content = data.Id; + return content != null; case StandardTableKeyNames.HelpLink: content = GetHelpLink(data); return content != null; diff --git a/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioDiagnosticListTable.BuildTableDataSource.cs b/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioDiagnosticListTable.BuildTableDataSource.cs index 32ac4ea10fb92..194b63a928968 100644 --- a/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioDiagnosticListTable.BuildTableDataSource.cs +++ b/src/VisualStudio/Core/Def/Implementation/TableDataSource/VisualStudioDiagnosticListTable.BuildTableDataSource.cs @@ -193,6 +193,9 @@ public override bool TryGetValue(int index, string columnName, out object conten case StandardTableKeyNames.ErrorCodeToolTip: content = GetHelpLinkToolTipText(data); return content != null; + case StandardTableKeyNames.HelpKeyword: + content = data.Id; + return content != null; case StandardTableKeyNames.HelpLink: content = GetHelpLink(data); return content != null; @@ -229,6 +232,9 @@ public override bool TryGetValue(int index, string columnName, out object conten case ProjectGuids: content = item.ProjectGuids; return ((Guid[])content).Length > 0; + case SuppressionStateColumnDefinition.ColumnName: + content = data.IsSuppressed ? ServicesVSResources.SuppressionStateSuppressed : ServicesVSResources.SuppressionStateActive; + return true; default: content = null; return false; diff --git a/src/VisualStudio/Core/Def/Implementation/TaskList/ProjectExternalErrorReporter.cs b/src/VisualStudio/Core/Def/Implementation/TaskList/ProjectExternalErrorReporter.cs index 9e3902885be90..79b36b5a3cdaf 100644 --- a/src/VisualStudio/Core/Def/Implementation/TaskList/ProjectExternalErrorReporter.cs +++ b/src/VisualStudio/Core/Def/Implementation/TaskList/ProjectExternalErrorReporter.cs @@ -5,15 +5,18 @@ using System.Collections.Immutable; using System.Diagnostics; using System.Runtime.InteropServices; +using System.Threading; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Editor.Implementation.Diagnostics; +using Microsoft.VisualStudio.LanguageServices.Implementation.Extensions; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.Extensions; using Microsoft.VisualStudio.LanguageServices.Implementation.Venus; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.TextManager.Interop; using Roslyn.Utilities; +using TextSpan = Microsoft.CodeAnalysis.Text.TextSpan; using VsTextSpan = Microsoft.VisualStudio.TextManager.Interop.TextSpan; namespace Microsoft.VisualStudio.LanguageServices.Implementation.TaskList @@ -224,10 +227,16 @@ private DiagnosticData GetDiagnosticData( string mappedFilePath, int mappedStartLine, int mappedStartColumn, int mappedEndLine, int mappedEndColumn, string originalFilePath, int originalStartLine, int originalStartColumn, int originalEndLine, int originalEndColumn) { + var document = id != null ? _workspace.CurrentSolution.GetDocument(id) : null; + var sourceSpan = document != null ? + document.GetSpanFromPositionAsync(originalStartLine, originalStartColumn, originalEndLine, originalEndColumn, CancellationToken.None).WaitAndGetResult(CancellationToken.None) : + (TextSpan?)null; + return new DiagnosticData( id: errorId, category: WellKnownDiagnosticTags.Build, message: message, + title: message, enuMessageForBingSearch: message, // Unfortunately, there is no way to get ENU text for this since this is an external error. severity: severity, defaultSeverity: severity, @@ -238,7 +247,7 @@ private DiagnosticData GetDiagnosticData( workspace: _workspace, projectId: _projectId, location: new DiagnosticDataLocation(id, - sourceSpan: null, + sourceSpan: sourceSpan, originalFilePath: originalFilePath, originalStartLine: originalStartLine, originalStartColumn: originalStartColumn, diff --git a/src/VisualStudio/Core/Def/project.lock.json b/src/VisualStudio/Core/Def/project.lock.json index c5716e5172926..fc49009a0a13c 100644 --- a/src/VisualStudio/Core/Def/project.lock.json +++ b/src/VisualStudio/Core/Def/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -307,7 +307,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -745,8 +745,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -755,7 +755,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/Core/Impl/project.lock.json b/src/VisualStudio/Core/Impl/project.lock.json index d79cd3c738e45..50c7c589aa869 100644 --- a/src/VisualStudio/Core/Impl/project.lock.json +++ b/src/VisualStudio/Core/Impl/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/Core/SolutionExplorerShim/project.lock.json b/src/VisualStudio/Core/SolutionExplorerShim/project.lock.json index d79cd3c738e45..50c7c589aa869 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/project.lock.json +++ b/src/VisualStudio/Core/SolutionExplorerShim/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/Core/Test/CodeModel/CSharp/CodeAttributeTests.vb b/src/VisualStudio/Core/Test/CodeModel/CSharp/CodeAttributeTests.vb index a3363d83284a8..7a5c54918186a 100644 --- a/src/VisualStudio/Core/Test/CodeModel/CSharp/CodeAttributeTests.vb +++ b/src/VisualStudio/Core/Test/CodeModel/CSharp/CodeAttributeTests.vb @@ -618,7 +618,7 @@ class C { } End Sub - + Public Sub AddAttributeArgument3() Dim code = @@ -639,6 +639,26 @@ class CAttribute : Attribute { } TestAddAttributeArgument(code, expectedCode, New AttributeArgumentData With {.Name = "AllowMultiple", .Value = "false", .Position = 1}) End Sub + + + Public Sub AddAttributeArgumentStress() + Dim code = + +[$$A] +class C +{ +} + + + TestElement(code, + Sub(codeAttribute) + For i = 1 To 100 + Dim value = i.ToString() + Dim codeAttributeArgument = codeAttribute.AddArgument(value, Position:=1) + Next + End Sub) + End Sub + #End Region #Region "Delete tests" diff --git a/src/VisualStudio/Core/Test/CodeModel/VisualBasic/CodeAttributeTests.vb b/src/VisualStudio/Core/Test/CodeModel/VisualBasic/CodeAttributeTests.vb index bac69f3e2b69d..9efac91744cd1 100644 --- a/src/VisualStudio/Core/Test/CodeModel/VisualBasic/CodeAttributeTests.vb +++ b/src/VisualStudio/Core/Test/CodeModel/VisualBasic/CodeAttributeTests.vb @@ -798,7 +798,7 @@ End Class End Sub - + Public Sub AddAttributeArgument2() Dim code = @@ -822,7 +822,7 @@ End Class End Sub - + Public Sub TestAddArgument3() Dim code = diff --git a/src/VisualStudio/Core/Test/Diagnostics/DiagnosticTableDataSourceTests.vb b/src/VisualStudio/Core/Test/Diagnostics/DiagnosticTableDataSourceTests.vb index f265f081c7053..5fce7a00852f0 100644 --- a/src/VisualStudio/Core/Test/Diagnostics/DiagnosticTableDataSourceTests.vb +++ b/src/VisualStudio/Core/Test/Diagnostics/DiagnosticTableDataSourceTests.vb @@ -434,6 +434,35 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.Diagnostics End Using End Sub + + Public Sub TestHelpKeyword() + Using workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(String.Empty) + Dim documentId = workspace.CurrentSolution.Projects.First().DocumentIds.First() + Dim projectId = documentId.ProjectId + + Dim item1 = CreateItem(workspace, projectId, documentId, DiagnosticSeverity.Error, "http://link/") + Dim provider = New TestDiagnosticService(item1) + + Dim tableManagerProvider = New TestTableManagerProvider() + + Dim table = New VisualStudioDiagnosticListTable(workspace, provider, tableManagerProvider) + provider.RaiseDiagnosticsUpdated(workspace) + + Dim manager = DirectCast(table.TableManager, TestTableManagerProvider.TestTableManager) + Dim source = DirectCast(manager.Sources.First(), AbstractRoslynTableDataSource(Of DiagnosticData)) + Dim sinkAndSubscription = manager.Sinks_TestOnly.First() + + Dim sink = DirectCast(sinkAndSubscription.Key, TestTableManagerProvider.TestTableManager.TestSink) + Dim snapshot = sink.Entries.First().GetCurrentSnapshot() + Assert.Equal(1, snapshot.Count) + + Dim keyword As Object = Nothing + Assert.True(snapshot.TryGetValue(0, StandardTableKeyNames.HelpKeyword, keyword)) + + Assert.Equal(item1.Id, keyword.ToString()) + End Using + End Sub + Public Sub TestBingHelpLink() Using workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(String.Empty) diff --git a/src/VisualStudio/Core/Test/project.lock.json b/src/VisualStudio/Core/Test/project.lock.json index 1f964fa279a07..c9bd7ebf4fd9d 100644 --- a/src/VisualStudio/Core/Test/project.lock.json +++ b/src/VisualStudio/Core/Test/project.lock.json @@ -246,7 +246,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1104,8 +1104,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1114,7 +1114,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/InteractiveServices/project.lock.json b/src/VisualStudio/InteractiveServices/project.lock.json index 4628d6b9945c8..fab37edc99072 100644 --- a/src/VisualStudio/InteractiveServices/project.lock.json +++ b/src/VisualStudio/InteractiveServices/project.lock.json @@ -211,7 +211,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -949,8 +949,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -959,7 +959,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/Setup/ProvideRoslynBindingRedirection.cs b/src/VisualStudio/Setup/ProvideRoslynBindingRedirection.cs index de65abc102a8e..0a81a57408644 100644 --- a/src/VisualStudio/Setup/ProvideRoslynBindingRedirection.cs +++ b/src/VisualStudio/Setup/ProvideRoslynBindingRedirection.cs @@ -34,12 +34,12 @@ public ProvideRoslynBindingRedirectionAttribute(string assemblyName) AssemblyName = assemblyName, PublicKeyToken = "31BF3856AD364E35", OldVersionLowerBound = "0.7.0.0", - OldVersionUpperBound = "1.1.0.0", + OldVersionUpperBound = "1.2.0.0", #if OFFICIAL_BUILD // If this is an official build we want to generate binding // redirects from our old versions to the release version - NewVersion = "1.1.0.0", + NewVersion = "1.2.0.0", #else // Non-official builds get redirects to local 42.42.42.42, // which will only be built locally diff --git a/src/VisualStudio/Setup/project.lock.json b/src/VisualStudio/Setup/project.lock.json index 5dcc98cfc3264..efe64a35d25cb 100644 --- a/src/VisualStudio/Setup/project.lock.json +++ b/src/VisualStudio/Setup/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -307,7 +307,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -745,8 +745,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -755,7 +755,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/SetupInteractive/project.lock.json b/src/VisualStudio/SetupInteractive/project.lock.json index 2d12e86aa93bc..1827de02905ac 100644 --- a/src/VisualStudio/SetupInteractive/project.lock.json +++ b/src/VisualStudio/SetupInteractive/project.lock.json @@ -222,7 +222,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -991,8 +991,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1001,7 +1001,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/VisualBasic/Impl/project.lock.json b/src/VisualStudio/VisualBasic/Impl/project.lock.json index d79cd3c738e45..50c7c589aa869 100644 --- a/src/VisualStudio/VisualBasic/Impl/project.lock.json +++ b/src/VisualStudio/VisualBasic/Impl/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/VisualBasic/Repl/project.lock.json b/src/VisualStudio/VisualBasic/Repl/project.lock.json index 2d12e86aa93bc..1827de02905ac 100644 --- a/src/VisualStudio/VisualBasic/Repl/project.lock.json +++ b/src/VisualStudio/VisualBasic/Repl/project.lock.json @@ -222,7 +222,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -991,8 +991,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1001,7 +1001,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/VisualStudioDiagnosticsToolWindow/project.lock.json b/src/VisualStudio/VisualStudioDiagnosticsToolWindow/project.lock.json index dea8389619773..2f4a68622d154 100644 --- a/src/VisualStudio/VisualStudioDiagnosticsToolWindow/project.lock.json +++ b/src/VisualStudio/VisualStudioDiagnosticsToolWindow/project.lock.json @@ -118,7 +118,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -617,8 +617,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -627,7 +627,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/VisualStudio/VisualStudioInteractiveComponents/project.lock.json b/src/VisualStudio/VisualStudioInteractiveComponents/project.lock.json index 39c0df161db0f..f3705065e520e 100644 --- a/src/VisualStudio/VisualStudioInteractiveComponents/project.lock.json +++ b/src/VisualStudio/VisualStudioInteractiveComponents/project.lock.json @@ -222,7 +222,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -547,7 +547,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -1316,8 +1316,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -1326,7 +1326,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Workspaces/CSharp/Portable/project.lock.json b/src/Workspaces/CSharp/Portable/project.lock.json index 7018f03746727..da49a4db494ce 100644 --- a/src/Workspaces/CSharp/Portable/project.lock.json +++ b/src/Workspaces/CSharp/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Workspaces/CSharpTest/project.lock.json b/src/Workspaces/CSharpTest/project.lock.json index 7556e958c57b7..43b850fd88dcc 100644 --- a/src/Workspaces/CSharpTest/project.lock.json +++ b/src/Workspaces/CSharpTest/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -640,8 +640,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -650,7 +650,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Workspaces/Core/Desktop/project.lock.json b/src/Workspaces/Core/Desktop/project.lock.json index a1244a5f27d2d..49fe83e97a511 100644 --- a/src/Workspaces/Core/Desktop/project.lock.json +++ b/src/Workspaces/Core/Desktop/project.lock.json @@ -94,7 +94,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -548,8 +548,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -558,7 +558,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Workspaces/Core/Portable/CodeActions/CodeAction.cs b/src/Workspaces/Core/Portable/CodeActions/CodeAction.cs index 4fb866867f540..094f2f3d600f5 100644 --- a/src/Workspaces/Core/Portable/CodeActions/CodeAction.cs +++ b/src/Workspaces/Core/Portable/CodeActions/CodeAction.cs @@ -138,12 +138,12 @@ protected virtual Task GetChangedDocumentAsync(CancellationToken cance /// /// used by batch fixer engine to get new solution /// - internal async Task GetChangedSolutionInternalAsync(CancellationToken cancellationToken) + internal async Task GetChangedSolutionInternalAsync(bool postProcessChanges = true, CancellationToken cancellationToken = default(CancellationToken)) { var solution = await GetChangedSolutionAsync(cancellationToken).ConfigureAwait(false); - if (solution == null) + if (solution == null || !postProcessChanges) { - return null; + return solution; } return await this.PostProcessChangesAsync(solution, cancellationToken).ConfigureAwait(false); diff --git a/src/Workspaces/Core/Portable/CodeFixes/FixAllOccurrences/BatchFixAllProvider.cs b/src/Workspaces/Core/Portable/CodeFixes/FixAllOccurrences/BatchFixAllProvider.cs index 093132bfbca12..1489323b9eb18 100644 --- a/src/Workspaces/Core/Portable/CodeFixes/FixAllOccurrences/BatchFixAllProvider.cs +++ b/src/Workspaces/Core/Portable/CodeFixes/FixAllOccurrences/BatchFixAllProvider.cs @@ -406,7 +406,7 @@ public virtual async Task TryMergeFixesAsync(Solution oldSolution, IEn { cancellationToken.ThrowIfCancellationRequested(); // TODO: Parallelize GetChangedSolutionInternalAsync for codeActions - var changedSolution = await codeAction.GetChangedSolutionInternalAsync(cancellationToken).ConfigureAwait(false); + var changedSolution = await codeAction.GetChangedSolutionInternalAsync(cancellationToken: cancellationToken).ConfigureAwait(false); var solutionChanges = new SolutionChanges(changedSolution, oldSolution); diff --git a/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine_MapCreation.cs b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine_MapCreation.cs index 7fb64e8752f55..7d28a4dde3d11 100644 --- a/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine_MapCreation.cs +++ b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine_MapCreation.cs @@ -165,16 +165,22 @@ private async Task DetermineAllSymbolsCoreAsync(ISymbol symbol, ConcurrentSet { - var symbols = await f.DetermineCascadedSymbolsAsync(searchSymbol, _solution, projects, _cancellationToken).ConfigureAwait(false) ?? SpecializedCollections.EmptyEnumerable(); + var symbolTasks = new List(); - _cancellationToken.ThrowIfCancellationRequested(); + var symbols = await f.DetermineCascadedSymbolsAsync(searchSymbol, _solution, projects, _cancellationToken).ConfigureAwait(false); + AddSymbolTasks(result, symbols, symbolTasks); - List symbolTasks = new List(); - foreach (var child in symbols) + // Defer to the language to see if it wants to cascade here in some special way. + var symbolProject = _solution.GetProject(searchSymbol.ContainingAssembly); + var service = symbolProject?.LanguageServices.GetService(); + if (service != null) { - symbolTasks.Add(Task.Run(async () => await DetermineAllSymbolsCoreAsync(child, result).ConfigureAwait(false), _cancellationToken)); + symbols = await service.DetermineCascadedSymbolsAsync(searchSymbol, symbolProject, _cancellationToken).ConfigureAwait(false); + AddSymbolTasks(result, symbols, symbolTasks); } + _cancellationToken.ThrowIfCancellationRequested(); + await Task.WhenAll(symbolTasks).ConfigureAwait(false); }, _cancellationToken)); } @@ -183,6 +189,18 @@ private async Task DetermineAllSymbolsCoreAsync(ISymbol symbol, ConcurrentSet result, IEnumerable symbols, List symbolTasks) + { + if (symbols != null) + { + foreach (var child in symbols) + { + _cancellationToken.ThrowIfCancellationRequested(); + symbolTasks.Add(Task.Run(async () => await DetermineAllSymbolsCoreAsync(child, result).ConfigureAwait(false), _cancellationToken)); + } + } + } + private ImmutableHashSet GetProjectScope() { if (_documents == null) diff --git a/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/ILanguageServiceReferenceFinder.cs b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/ILanguageServiceReferenceFinder.cs new file mode 100644 index 0000000000000..2ed592c86a688 --- /dev/null +++ b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/ILanguageServiceReferenceFinder.cs @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Host; + +namespace Microsoft.CodeAnalysis.FindSymbols.Finders +{ + /// + /// Extensibility interface to allow individual languages to extend the 'Find References' service. + /// Languages can use this to provide specialized cascading logic between symbols that 'Find + /// References' is searching for. + /// + internal interface ILanguageServiceReferenceFinder : ILanguageService + { + Task> DetermineCascadedSymbolsAsync(ISymbol symbol, Project project, CancellationToken cancellationToken); + } +} \ No newline at end of file diff --git a/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs index 8f89d877517d7..aa11b4190857c 100644 --- a/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs +++ b/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/NamedTypeSymbolReferenceFinder.cs @@ -1,5 +1,6 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; @@ -25,20 +26,30 @@ protected override Task> DetermineCascadedSymbolsAsync( IImmutableSet projects, CancellationToken cancellationToken) { - IEnumerable result = SpecializedCollections.EmptyEnumerable(); - + List result = null; if (symbol.AssociatedSymbol != null) { - result = result.Concat(SpecializedCollections.SingletonEnumerable(symbol.AssociatedSymbol)); + result = Add(result, SpecializedCollections.SingletonEnumerable(symbol.AssociatedSymbol)); } // cascade to constructors - result = result.Concat(symbol.Constructors); + result = Add(result, symbol.Constructors); // cascade to destructor - result = result.Concat(symbol.GetMembers(WellKnownMemberNames.DestructorName)); + result = Add(result, symbol.GetMembers(WellKnownMemberNames.DestructorName)); + + return Task.FromResult>(result ?? SpecializedCollections.EmptyList()); + } + + private List Add(List result, IEnumerable enumerable) + { + if (enumerable != null) + { + result = result ?? new List(); + result.AddRange(enumerable); + } - return Task.FromResult(result); + return result; } protected override async Task> DetermineDocumentsToSearchAsync( diff --git a/src/Workspaces/Core/Portable/Workspace/Solution/RecoverableTextAndVersion.cs b/src/Workspaces/Core/Portable/Workspace/Solution/RecoverableTextAndVersion.cs index baca70b6a86d8..31cfd42045d6d 100644 --- a/src/Workspaces/Core/Portable/Workspace/Solution/RecoverableTextAndVersion.cs +++ b/src/Workspaces/Core/Portable/Workspace/Solution/RecoverableTextAndVersion.cs @@ -87,7 +87,7 @@ public bool TryGetTextVersion(out VersionStamp version) { if (_text == null) { - using (Gate.DisposableWait(cancellationToken)) + using (await Gate.DisposableWaitAsync(cancellationToken).ConfigureAwait(false)) { if (_text == null) { diff --git a/src/Workspaces/Core/Portable/Workspaces.csproj b/src/Workspaces/Core/Portable/Workspaces.csproj index 9561999597494..5694f2e52a68f 100644 --- a/src/Workspaces/Core/Portable/Workspaces.csproj +++ b/src/Workspaces/Core/Portable/Workspaces.csproj @@ -377,6 +377,7 @@ + diff --git a/src/Workspaces/Core/Portable/project.lock.json b/src/Workspaces/Core/Portable/project.lock.json index e7990b5e7904a..96dcee10a4d1f 100644 --- a/src/Workspaces/Core/Portable/project.lock.json +++ b/src/Workspaces/Core/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Workspaces/CoreTest/project.lock.json b/src/Workspaces/CoreTest/project.lock.json index 7556e958c57b7..43b850fd88dcc 100644 --- a/src/Workspaces/CoreTest/project.lock.json +++ b/src/Workspaces/CoreTest/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -640,8 +640,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -650,7 +650,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] }, diff --git a/src/Workspaces/VisualBasic/Portable/BasicWorkspace.vbproj b/src/Workspaces/VisualBasic/Portable/BasicWorkspace.vbproj index a82ed0c93a70f..cf2db60e2fde6 100644 --- a/src/Workspaces/VisualBasic/Portable/BasicWorkspace.vbproj +++ b/src/Workspaces/VisualBasic/Portable/BasicWorkspace.vbproj @@ -151,6 +151,7 @@ + @@ -238,6 +239,7 @@ + diff --git a/src/Workspaces/VisualBasic/Portable/FindSymbols/VisualBasicReferenceFinder.vb b/src/Workspaces/VisualBasic/Portable/FindSymbols/VisualBasicReferenceFinder.vb new file mode 100644 index 0000000000000..d9af731b3e04f --- /dev/null +++ b/src/Workspaces/VisualBasic/Portable/FindSymbols/VisualBasicReferenceFinder.vb @@ -0,0 +1,53 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Composition +Imports System.Threading +Imports System.Threading.Tasks +Imports Microsoft.CodeAnalysis.FindSymbols.Finders +Imports Microsoft.CodeAnalysis.Host.Mef +Imports Microsoft.CodeAnalysis.VisualBasic.Utilities + +Namespace Microsoft.CodeAnalysis.FindSymbols + + Friend Class VisualBasicReferenceFinder + Implements ILanguageServiceReferenceFinder + + Public Function DetermineCascadedSymbolsAsync(symbol As ISymbol, project As Project, cancellationToken As CancellationToken) As Task(Of IEnumerable(Of ISymbol)) Implements ILanguageServiceReferenceFinder.DetermineCascadedSymbolsAsync + If symbol.Kind = SymbolKind.Property Then + Return DetermineCascadedSymbolsAsync(DirectCast(symbol, IPropertySymbol), project, cancellationToken) + ElseIf symbol.Kind = SymbolKind.NamedType Then + Return DetermineCascadedSymbolsAsync(DirectCast(symbol, INamedTypeSymbol), project, cancellationToken) + Else + Return Task.FromResult(Of IEnumerable(Of ISymbol))(Nothing) + End If + End Function + + Private Async Function DetermineCascadedSymbolsAsync([property] As IPropertySymbol, project As Project, cancellationToken As CancellationToken) As Task(Of IEnumerable(Of ISymbol)) + Dim compilation = Await project.GetCompilationAsync(cancellationToken).ConfigureAwait(False) + Dim relatedSymbol = [property].FindRelatedExplicitlyDeclaredSymbol(compilation) + + Return If([property].Equals(relatedSymbol), + SpecializedCollections.EmptyEnumerable(Of ISymbol), + SpecializedCollections.SingletonEnumerable(relatedSymbol)) + End Function + + Private Async Function DetermineCascadedSymbolsAsync(namedType As INamedTypeSymbol, project As Project, cancellationToken As CancellationToken) As Task(Of IEnumerable(Of ISymbol)) + Dim compilation = Await project.GetCompilationAsync(cancellationToken).ConfigureAwait(False) + + ' If this is a WinForms project, then the VB 'my' feature may have synthesized + ' a property that would return an instance of the main Form type for the project. + ' Search for such properties and cascade to them as well. + Return GetMatchingMyPropertySymbols(namedType, DirectCast(compilation, VisualBasicCompilation), cancellationToken).Distinct().ToList() + End Function + + Private Function GetMatchingMyPropertySymbols(namedType As INamedTypeSymbol, compilation As VisualBasicCompilation, cancellationToken As CancellationToken) As IEnumerable(Of IPropertySymbol) + Return From childNamespace In compilation.RootNamespace.GetNamespaceMembers() + Where childNamespace.IsMyNamespace(compilation) + From type In childNamespace.GetAllTypes(cancellationToken) + Where type.Name = "MyForms" + From childProperty In type.GetMembers().OfType(Of IPropertySymbol) + Where childProperty.IsImplicitlyDeclared AndAlso childProperty.Type.Equals(namedType) + Select childProperty + End Function + End Class +End Namespace \ No newline at end of file diff --git a/src/Workspaces/VisualBasic/Portable/Formatting/Rules/AdjustSpaceFormattingRule.vb b/src/Workspaces/VisualBasic/Portable/Formatting/Rules/AdjustSpaceFormattingRule.vb index 6a7109aeabaee..20a589cff6bea 100644 --- a/src/Workspaces/VisualBasic/Portable/Formatting/Rules/AdjustSpaceFormattingRule.vb +++ b/src/Workspaces/VisualBasic/Portable/Formatting/Rules/AdjustSpaceFormattingRule.vb @@ -26,11 +26,6 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting Return CreateAdjustSpacesOperation(0, AdjustSpacesOption.ForceSpacesIfOnSingleLine) End If - ' ,, - If previousToken.Kind = SyntaxKind.CommaToken AndAlso currentToken.Kind = SyntaxKind.CommaToken Then - Return CreateAdjustSpacesOperation(0, AdjustSpacesOption.ForceSpacesIfOnSingleLine) - End If - ' ( < case If previousToken.Kind = SyntaxKind.OpenParenToken AndAlso FormattingHelpers.IsLessThanInAttribute(currentToken) Then @@ -260,7 +255,12 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting ' * . ' * := Select Case currentToken.Kind - Case SyntaxKind.CloseBraceToken, SyntaxKind.CloseParenToken, SyntaxKind.CommaToken, SyntaxKind.ColonEqualsToken + Case SyntaxKind.CloseParenToken, SyntaxKind.CommaToken + Return If(previousToken.Kind = SyntaxKind.EmptyToken AndAlso PrecedingTriviaContainsLineBreak(previousToken), + CreateAdjustSpacesOperation(0, AdjustSpacesOption.PreserveSpaces), + CreateAdjustSpacesOperation(0, AdjustSpacesOption.ForceSpacesIfOnSingleLine)) + + Case SyntaxKind.CloseBraceToken, SyntaxKind.ColonEqualsToken Return CreateAdjustSpacesOperation(0, AdjustSpacesOption.ForceSpacesIfOnSingleLine) Case SyntaxKind.DotToken @@ -351,5 +351,13 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting Return nextFunc.Invoke() End Function + + Private Function PrecedingTriviaContainsLineBreak(previousToken As SyntaxToken) As Boolean + Return ContainsLineBreak(previousToken.LeadingTrivia) OrElse ContainsLineBreak(previousToken.GetPreviousToken(includeZeroWidth:=True).TrailingTrivia) + End Function + + Private Function ContainsLineBreak(triviaList As SyntaxTriviaList) As Boolean + Return triviaList.Any(Function(t) t.Kind = SyntaxKind.EndOfLineTrivia) + End Function End Class End Namespace diff --git a/src/Workspaces/VisualBasic/Portable/Utilities/SymbolExtensions.vb b/src/Workspaces/VisualBasic/Portable/Utilities/SymbolExtensions.vb new file mode 100644 index 0000000000000..4a27b55812af7 --- /dev/null +++ b/src/Workspaces/VisualBasic/Portable/Utilities/SymbolExtensions.vb @@ -0,0 +1,27 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Runtime.CompilerServices + +Namespace Microsoft.CodeAnalysis.VisualBasic.Utilities + Friend Module SymbolExtensions + + Public Function FindRelatedExplicitlyDeclaredSymbol(symbol As ISymbol, compilation As Compilation) As ISymbol + ' For example: My.Forms.[|LoginForm|] + ' LoginForm is a SynthesizedMyGroupCollectionPropertySymbol with no Location. Use the + ' type of this property, the actual LoginForm type itself, for navigation purposes. + + If symbol.IsKind(SymbolKind.Property) AndAlso symbol.IsImplicitlyDeclared Then + Dim propertySymbol = DirectCast(symbol, IPropertySymbol) + If propertySymbol.ContainingType IsNot Nothing AndAlso + propertySymbol.ContainingType.Name = "MyForms" AndAlso + propertySymbol.ContainingType.ContainingNamespace IsNot Nothing AndAlso + propertySymbol.ContainingType.ContainingNamespace.IsMyNamespace(compilation) Then + + Return propertySymbol.Type + End If + End If + + Return symbol + End Function + End Module +End Namespace \ No newline at end of file diff --git a/src/Workspaces/VisualBasic/Portable/project.lock.json b/src/Workspaces/VisualBasic/Portable/project.lock.json index 7018f03746727..da49a4db494ce 100644 --- a/src/Workspaces/VisualBasic/Portable/project.lock.json +++ b/src/Workspaces/VisualBasic/Portable/project.lock.json @@ -28,7 +28,7 @@ "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections.Immutable": "[1.1.37, )" }, @@ -93,8 +93,8 @@ "System.Collections.Immutable.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -103,7 +103,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] } diff --git a/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb b/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb index 6e1688464a30c..f1ba70a49decf 100644 --- a/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb +++ b/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb @@ -4339,5 +4339,22 @@ End Module AssertFormatLf2CrLf(code.Value, expected.Value) End Sub + + + Public Sub FormatOmittedArgument() + Dim code = +Class C + Sub M() + Call M( + a, + , + a + ) + End Sub +End Class + + AssertFormatLf2CrLf(code.Value, code.Value) + End Sub + End Class End Namespace \ No newline at end of file diff --git a/src/Workspaces/VisualBasicTest/project.lock.json b/src/Workspaces/VisualBasicTest/project.lock.json index 7556e958c57b7..43b850fd88dcc 100644 --- a/src/Workspaces/VisualBasicTest/project.lock.json +++ b/src/Workspaces/VisualBasicTest/project.lock.json @@ -110,7 +110,7 @@ "lib/net45/_._": {} } }, - "System.Reflection.Metadata/1.1.0-beta-23413": { + "System.Reflection.Metadata/1.1.0-alpha-00015": { "dependencies": { "System.Collections": "[4.0.0, )", "System.Collections.Immutable": "[1.1.37, )", @@ -640,8 +640,8 @@ "System.Reflection.Extensions.nuspec" ] }, - "System.Reflection.Metadata/1.1.0-beta-23413": { - "sha512": "MefYFSh9jQV+S3mwvlvY2WDVSfdyvaIpas3ugXuQMAKmGFch4AuoFRRYmpA0iK0FP1FCYvSzhQBydkqSCqXrgA==", + "System.Reflection.Metadata/1.1.0-alpha-00015": { + "sha512": "80TohRwPpEugHMssnSC1lGL9RdgTkB8AaZ4F3VqTao+Gm1JKh/aPCKj1h+XNWlQcKgR/ITrxv1zi+S5OPCTylg==", "type": "Package", "files": [ "[Content_Types].xml", @@ -650,7 +650,7 @@ "lib/dotnet/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "package/services/metadata/core-properties/f9d77df49aee46698d78faee45b96d9d.psmdcp", + "package/services/metadata/core-properties/7861ec343fe44de4be93046f2fd089b0.psmdcp", "System.Reflection.Metadata.nuspec" ] },