Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2015-04-24 04:20:55 +0300
committerdotnet-bot <dotnet-bot@microsoft.com>2015-04-24 04:20:55 +0300
commit57df1c06dc025aa6bd031603a8497b9c44137d85 (patch)
treee63229e54a7bd83247b8decfc2542812ef502940 /src/System.Runtime
parentcd5f422458d7b86f98e3cf67ee6ce2804de7e680 (diff)
Move System.Runtime and System.Private.Uri to FxCore\Open. Checked in by erme
[tfs-changeset: 1459363]
Diffstat (limited to 'src/System.Runtime')
-rw-r--r--src/System.Runtime/System.Runtime.sln270
-rw-r--r--src/System.Runtime/src/System.Runtime.CoreCLR.csproj40
-rw-r--r--src/System.Runtime/src/System/Action.cs29
-rw-r--r--src/System.Runtime/src/System/Collections/Generic/ISet.cs48
-rw-r--r--src/System.Runtime/src/System/ComponentModel/DefaultValueAttribute.cs183
-rw-r--r--src/System.Runtime/src/System/ComponentModel/EditorBrowsableAttribute.cs67
-rw-r--r--src/System.Runtime/src/System/Function.cs29
-rw-r--r--src/System.Runtime/src/System/LazyOfTTMetadata.cs59
-rw-r--r--src/System.Runtime/src/System/Runtime/CompilerServices/StrongBox.cs58
-rw-r--r--src/System.Runtime/src/project.json5
-rw-r--r--src/System.Runtime/tests/System.Runtime.Tests.csproj6
11 files changed, 793 insertions, 1 deletions
diff --git a/src/System.Runtime/System.Runtime.sln b/src/System.Runtime/System.Runtime.sln
index acf7ef700f..f6a264062a 100644
--- a/src/System.Runtime/System.Runtime.sln
+++ b/src/System.Runtime/System.Runtime.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
-VisualStudioVersion = 14.0.22129.1
+VisualStudioVersion = 14.0.22817.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Tests", "tests\System.Runtime.Tests.csproj", "{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}"
EndProject
@@ -11,16 +11,44 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1CA59C
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XunitTraitsDiscoverers", "..\Common\tests\XunitTraitsDiscoverers\XunitTraitsDiscoverers.csproj", "{BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.CoreCLR", "src\System.Runtime.CoreCLR.csproj", "{56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Private.Uri.CoreCLR", "..\System.Private.Uri\src\System.Private.Uri.CoreCLR.csproj", "{4AC5343E-6E31-4BA5-A795-0493AE7E9008}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Linux_Debug|Any CPU = Linux_Debug|Any CPU
+ Linux_Debug|ARM = Linux_Debug|ARM
+ Linux_Debug|x64 = Linux_Debug|x64
+ Linux_Debug|x86 = Linux_Debug|x86
+ Linux_Release|Any CPU = Linux_Release|Any CPU
+ Linux_Release|ARM = Linux_Release|ARM
+ Linux_Release|x64 = Linux_Release|x64
+ Linux_Release|x86 = Linux_Release|x86
+ OSX_Debug|Any CPU = OSX_Debug|Any CPU
+ OSX_Debug|ARM = OSX_Debug|ARM
+ OSX_Debug|x64 = OSX_Debug|x64
+ OSX_Debug|x86 = OSX_Debug|x86
+ OSX_Release|Any CPU = OSX_Release|Any CPU
+ OSX_Release|ARM = OSX_Release|ARM
+ OSX_Release|x64 = OSX_Release|x64
+ OSX_Release|x86 = OSX_Release|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
+ Windows_Debug|Any CPU = Windows_Debug|Any CPU
+ Windows_Debug|ARM = Windows_Debug|ARM
+ Windows_Debug|x64 = Windows_Debug|x64
+ Windows_Debug|x86 = Windows_Debug|x86
+ Windows_Release|Any CPU = Windows_Release|Any CPU
+ Windows_Release|ARM = Windows_Release|ARM
+ Windows_Release|x64 = Windows_Release|x64
+ Windows_Release|x86 = Windows_Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -28,11 +56,251 @@ Global
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Debug|x64.ActiveCfg = Debug|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|ARM.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|x64.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|x64.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|x86.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Debug|x86.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|Any CPU.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|ARM.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|ARM.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|x64.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|x64.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|x86.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Linux_Release|x86.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|ARM.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|x64.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|x64.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|x86.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Debug|x86.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|Any CPU.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|ARM.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|ARM.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|x64.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|x64.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|x86.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.OSX_Release|x86.Build.0 = Release|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Release|Any CPU.Build.0 = Release|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Release|ARM.ActiveCfg = Release|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Release|x64.ActiveCfg = Release|Any CPU
{7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Release|x86.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|ARM.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|x64.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|x64.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|x86.ActiveCfg = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Debug|x86.Build.0 = Debug|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|Any CPU.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|ARM.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|ARM.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|x64.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|x64.Build.0 = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|x86.ActiveCfg = Release|Any CPU
+ {7F5F5134-00FE-4DE8-B20C-3DA8BA2EBA68}.Windows_Release|x86.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|ARM.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|x64.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Debug|x86.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|ARM.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|x64.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|x64.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|x86.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Debug|x86.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|Any CPU.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|ARM.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|ARM.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|x64.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|x64.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|x86.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Linux_Release|x86.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|ARM.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|x64.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|x64.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|x86.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Debug|x86.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|Any CPU.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|ARM.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|ARM.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|x64.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|x64.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|x86.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.OSX_Release|x86.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|ARM.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|ARM.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|x64.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|x64.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|x86.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Release|x86.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|ARM.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|ARM.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|x64.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|x64.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|x86.ActiveCfg = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Debug|x86.Build.0 = Debug|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|Any CPU.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|ARM.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|ARM.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|x64.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|x64.Build.0 = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|x86.ActiveCfg = Release|Any CPU
+ {BE8ED8C1-C314-4C4E-A929-64C9C8B3552A}.Windows_Release|x86.Build.0 = Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|ARM.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|x64.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|x64.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|x86.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Debug|x86.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|Any CPU.ActiveCfg = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|Any CPU.Build.0 = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|ARM.ActiveCfg = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|ARM.Build.0 = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|x64.ActiveCfg = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|x64.Build.0 = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|x86.ActiveCfg = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Debug|x86.Build.0 = Linux_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|Any CPU.ActiveCfg = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|Any CPU.Build.0 = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|ARM.ActiveCfg = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|ARM.Build.0 = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|x64.ActiveCfg = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|x64.Build.0 = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|x86.ActiveCfg = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Linux_Release|x86.Build.0 = Linux_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|Any CPU.ActiveCfg = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|Any CPU.Build.0 = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|ARM.ActiveCfg = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|ARM.Build.0 = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|x64.ActiveCfg = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|x64.Build.0 = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|x86.ActiveCfg = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Debug|x86.Build.0 = OSX_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|Any CPU.ActiveCfg = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|Any CPU.Build.0 = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|ARM.ActiveCfg = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|ARM.Build.0 = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|x64.ActiveCfg = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|x64.Build.0 = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|x86.ActiveCfg = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.OSX_Release|x86.Build.0 = OSX_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|Any CPU.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|ARM.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|ARM.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|x64.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|x64.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|x86.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Release|x86.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|ARM.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|x64.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|x64.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|x86.ActiveCfg = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Debug|x86.Build.0 = Windows_Debug|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|Any CPU.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|ARM.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|ARM.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|x64.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|x64.Build.0 = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|x86.ActiveCfg = Windows_Release|Any CPU
+ {56B9D0A9-44D3-488E-8B42-C14A6E30CAB2}.Windows_Release|x86.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|ARM.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|x64.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|x64.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|x86.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Debug|x86.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|Any CPU.ActiveCfg = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|Any CPU.Build.0 = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|ARM.ActiveCfg = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|ARM.Build.0 = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|x64.ActiveCfg = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|x64.Build.0 = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|x86.ActiveCfg = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Debug|x86.Build.0 = Linux_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|Any CPU.ActiveCfg = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|Any CPU.Build.0 = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|ARM.ActiveCfg = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|ARM.Build.0 = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|x64.ActiveCfg = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|x64.Build.0 = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|x86.ActiveCfg = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Linux_Release|x86.Build.0 = Linux_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|Any CPU.ActiveCfg = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|Any CPU.Build.0 = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|ARM.ActiveCfg = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|ARM.Build.0 = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|x64.ActiveCfg = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|x64.Build.0 = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|x86.ActiveCfg = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Debug|x86.Build.0 = OSX_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|Any CPU.ActiveCfg = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|Any CPU.Build.0 = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|ARM.ActiveCfg = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|ARM.Build.0 = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|x64.ActiveCfg = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|x64.Build.0 = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|x86.ActiveCfg = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.OSX_Release|x86.Build.0 = OSX_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|Any CPU.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|ARM.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|ARM.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|x64.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|x64.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|x86.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Release|x86.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|ARM.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|x64.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|x64.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|x86.ActiveCfg = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Debug|x86.Build.0 = Windows_Debug|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|Any CPU.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|ARM.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|ARM.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|x64.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|x64.Build.0 = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|x86.ActiveCfg = Windows_Release|Any CPU
+ {4AC5343E-6E31-4BA5-A795-0493AE7E9008}.Windows_Release|x86.Build.0 = Windows_Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/System.Runtime/src/System.Runtime.CoreCLR.csproj b/src/System.Runtime/src/System.Runtime.CoreCLR.csproj
new file mode 100644
index 0000000000..21b7734d5d
--- /dev/null
+++ b/src/System.Runtime/src/System.Runtime.CoreCLR.csproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+
+ <PropertyGroup>
+ <AssemblyName>System.Runtime</AssemblyName>
+ <AssemblyVersion>4.0.20.0</AssemblyVersion>
+ <OutputType>Library</OutputType>
+ <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
+ <NuGetTargetFrameworkMoniker>ASP.NetCore, version=v5.0</NuGetTargetFrameworkMoniker>
+ </PropertyGroup>
+
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Linux_Debug|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Linux_Release|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'OSX_Debug|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'OSX_Release|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Windows_Debug|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Windows_Release|AnyCPU' " />
+
+ <ItemGroup>
+ <Compile Include="System\Action.cs" />
+ <Compile Include="System\Function.cs" />
+ <Compile Include="System\LazyOfTTMetadata.cs" />
+ <Compile Include="System\Collections\Generic\ISet.cs" />
+ <Compile Include="System\ComponentModel\DefaultValueAttribute.cs" />
+ <Compile Include="System\ComponentModel\EditorBrowsableAttribute.cs" />
+ <Compile Include="System\Runtime\CompilerServices\StrongBox.cs" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\..\System.Private.Uri\src\System.Private.Uri.CoreCLR.csproj" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <None Include="project.json" />
+ </ItemGroup>
+
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+</Project> \ No newline at end of file
diff --git a/src/System.Runtime/src/System/Action.cs b/src/System.Runtime/src/System/Action.cs
new file mode 100644
index 0000000000..af286bc60a
--- /dev/null
+++ b/src/System.Runtime/src/System/Action.cs
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+namespace System
+{
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate void Action<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, in T16>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16);
+}
diff --git a/src/System.Runtime/src/System/Collections/Generic/ISet.cs b/src/System.Runtime/src/System/Collections/Generic/ISet.cs
new file mode 100644
index 0000000000..2b57e5d483
--- /dev/null
+++ b/src/System.Runtime/src/System/Collections/Generic/ISet.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System.Runtime.CompilerServices;
+
+namespace System.Collections.Generic
+{
+ /// <summary>
+ /// Generic collection that guarantees the uniqueness of its elements, as defined
+ /// by some comparer. It also supports basic set operations such as Union, Intersection,
+ /// Complement and Exclusive Complement.
+ /// </summary>
+ public interface ISet<T> : ICollection<T>
+ {
+ //Add ITEM to the set, return true if added, false if duplicate
+ new bool Add(T item);
+
+ //Transform this set into its union with the IEnumerable<T> other
+ void UnionWith(IEnumerable<T> other);
+
+ //Transform this set into its intersection with the IEnumberable<T> other
+ void IntersectWith(IEnumerable<T> other);
+
+ //Transform this set so it contains no elements that are also in other
+ void ExceptWith(IEnumerable<T> other);
+
+ //Transform this set so it contains elements initially in this or in other, but not both
+ void SymmetricExceptWith(IEnumerable<T> other);
+
+ //Check if this set is a subset of other
+ bool IsSubsetOf(IEnumerable<T> other);
+
+ //Check if this set is a superset of other
+ bool IsSupersetOf(IEnumerable<T> other);
+
+ //Check if this set is a subset of other, but not the same as it
+ bool IsProperSupersetOf(IEnumerable<T> other);
+
+ //Check if this set is a superset of other, but not the same as it
+ bool IsProperSubsetOf(IEnumerable<T> other);
+
+ //Check if this set has any elements in common with other
+ bool Overlaps(IEnumerable<T> other);
+
+ //Check if this set contains the same and only the same elements as other
+ bool SetEquals(IEnumerable<T> other);
+ }
+}
diff --git a/src/System.Runtime/src/System/ComponentModel/DefaultValueAttribute.cs b/src/System.Runtime/src/System/ComponentModel/DefaultValueAttribute.cs
new file mode 100644
index 0000000000..d9e1454fba
--- /dev/null
+++ b/src/System.Runtime/src/System/ComponentModel/DefaultValueAttribute.cs
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System;
+using System.ComponentModel;
+using System.Diagnostics;
+using System.Globalization;
+using System.Runtime.InteropServices;
+
+namespace System.ComponentModel
+{
+ /// <devdoc>
+ /// <para>Specifies the default value for a property.</para>
+ /// </devdoc>
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
+ [AttributeUsage(AttributeTargets.All)]
+ public class DefaultValueAttribute : Attribute
+ {
+ /// <devdoc>
+ /// This is the default value.
+ /// </devdoc>
+ private object value;
+
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class, converting the
+ /// specified value to the
+ /// specified type, and using the U.S. English culture as the
+ /// translation
+ /// context.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(Type type, string value)
+ {
+ // The try/catch here is because attributes should never throw exceptions. We would fail to
+ // load an otherwise normal class.
+ try
+ {
+ if (type.IsSubclassOf(typeof(Enum)))
+ {
+ this.value = Enum.Parse(type, value, true);
+ }
+ else if (type == typeof(TimeSpan))
+ {
+ this.value = TimeSpan.Parse(value);
+ }
+ else
+ {
+ this.value = Convert.ChangeType(value, type, CultureInfo.InvariantCulture);
+ }
+ }
+ catch
+ {
+ //Debug.WriteLine("Default value attribute of type " + type.ToString() + " threw converting from the string '" + value + "'.");
+ }
+ }
+
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a Unicode
+ /// character.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(char value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using an 8-bit unsigned
+ /// integer.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(byte value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a 16-bit signed
+ /// integer.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(short value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a 32-bit signed
+ /// integer.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(int value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a 64-bit signed
+ /// integer.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(long value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a
+ /// single-precision floating point
+ /// number.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(float value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a
+ /// double-precision floating point
+ /// number.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(double value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a <see cref='System.Boolean'/>
+ /// value.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(bool value)
+ {
+ this.value = value;
+ }
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/> class using a <see cref='System.String'/>.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(string value)
+ {
+ this.value = value;
+ }
+
+ /// <devdoc>
+ /// <para>Initializes a new instance of the <see cref='System.ComponentModel.DefaultValueAttribute'/>
+ /// class.</para>
+ /// </devdoc>
+ public DefaultValueAttribute(object value)
+ {
+ this.value = value;
+ }
+
+ /// <devdoc>
+ /// <para>
+ /// Gets the default value of the property this
+ /// attribute is
+ /// bound to.
+ /// </para>
+ /// </devdoc>
+ public virtual object Value
+ {
+ get
+ {
+ return value;
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == this)
+ {
+ return true;
+ }
+
+ DefaultValueAttribute other = obj as DefaultValueAttribute;
+
+ if (other != null)
+ {
+ if (Value != null)
+ {
+ return Value.Equals(other.Value);
+ }
+ else
+ {
+ return (other.Value == null);
+ }
+ }
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+}
diff --git a/src/System.Runtime/src/System/ComponentModel/EditorBrowsableAttribute.cs b/src/System.Runtime/src/System/ComponentModel/EditorBrowsableAttribute.cs
new file mode 100644
index 0000000000..c8efb09a96
--- /dev/null
+++ b/src/System.Runtime/src/System/ComponentModel/EditorBrowsableAttribute.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+namespace System.ComponentModel
+{
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Delegate | AttributeTargets.Interface)]
+ public sealed class EditorBrowsableAttribute : Attribute
+ {
+ private EditorBrowsableState browsableState;
+
+
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ public EditorBrowsableAttribute(EditorBrowsableState state)
+ {
+ browsableState = state;
+ }
+
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ public EditorBrowsableState State
+ {
+ get { return browsableState; }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == this)
+ {
+ return true;
+ }
+
+ EditorBrowsableAttribute other = obj as EditorBrowsableAttribute;
+
+ return (other != null) && other.browsableState == browsableState;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ public enum EditorBrowsableState
+ {
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ Always,
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ Never,
+ /// <devdoc>
+ /// <para>[To be supplied.]</para>
+ /// </devdoc>
+ Advanced
+ }
+}
diff --git a/src/System.Runtime/src/System/Function.cs b/src/System.Runtime/src/System/Function.cs
new file mode 100644
index 0000000000..3ea8418fd7
--- /dev/null
+++ b/src/System.Runtime/src/System/Function.cs
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+namespace System
+{
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15);
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
+ public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, in T16, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16);
+}
diff --git a/src/System.Runtime/src/System/LazyOfTTMetadata.cs b/src/System.Runtime/src/System/LazyOfTTMetadata.cs
new file mode 100644
index 0000000000..d283d60467
--- /dev/null
+++ b/src/System.Runtime/src/System/LazyOfTTMetadata.cs
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System.Collections.Generic;
+using System.Text;
+using System.Threading;
+
+namespace System
+{
+ public class Lazy<T, TMetadata> : Lazy<T>
+ {
+ private readonly TMetadata _metadata;
+
+ public Lazy(Func<T> valueFactory, TMetadata metadata) :
+ base(valueFactory)
+ {
+ _metadata = metadata;
+ }
+
+ public Lazy(TMetadata metadata) :
+ base()
+ {
+ _metadata = metadata;
+ }
+
+
+ public Lazy(TMetadata metadata, bool isThreadSafe) :
+ base(isThreadSafe)
+ {
+ _metadata = metadata;
+ }
+
+ public Lazy(Func<T> valueFactory, TMetadata metadata, bool isThreadSafe) :
+ base(valueFactory, isThreadSafe)
+ {
+ _metadata = metadata;
+ }
+
+ public Lazy(TMetadata metadata, LazyThreadSafetyMode mode) :
+ base(mode)
+ {
+ _metadata = metadata;
+ }
+
+ public Lazy(Func<T> valueFactory, TMetadata metadata, LazyThreadSafetyMode mode) :
+ base(valueFactory, mode)
+ {
+ _metadata = metadata;
+ }
+
+ public TMetadata Metadata
+ {
+ get
+ {
+ return _metadata;
+ }
+ }
+ }
+}
diff --git a/src/System.Runtime/src/System/Runtime/CompilerServices/StrongBox.cs b/src/System.Runtime/src/System/Runtime/CompilerServices/StrongBox.cs
new file mode 100644
index 0000000000..e04c697c14
--- /dev/null
+++ b/src/System.Runtime/src/System/Runtime/CompilerServices/StrongBox.cs
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+namespace System.Runtime.CompilerServices
+{
+ /// <summary>
+ /// Holds a reference to a value.
+ /// </summary>
+ /// <typeparam name="T">The type of the value that the <see cref = "StrongBox{T}"></see> references.</typeparam>
+ public class StrongBox<T> : IStrongBox
+ {
+ /// <summary>
+ /// Gets the strongly typed value associated with the <see cref = "StrongBox{T}"></see>
+ /// <remarks>This is explicitly exposed as a field instead of a property to enable loading the address of the field.</remarks>
+ /// </summary>
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields")]
+ public T Value;
+
+ /// <summary>
+ /// Initializes a new StrongBox which can receive a value when used in a reference call.
+ /// </summary>
+ public StrongBox()
+ {
+ }
+
+ /// <summary>
+ /// Initializes a new <see cref = "StrongBox{T}"></see> with the specified value.
+ /// </summary>
+ /// <param name="value">A value that the <see cref = "StrongBox{T}"></see> will reference.</param>
+ public StrongBox(T value)
+ {
+ Value = value;
+ }
+
+ object IStrongBox.Value
+ {
+ get
+ {
+ return Value;
+ }
+ set
+ {
+ Value = (T)value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Defines a property for accessing the value that an object references.
+ /// </summary>
+ public interface IStrongBox
+ {
+ /// <summary>
+ /// Gets or sets the value the object references.
+ /// </summary>
+ object Value { get; set; }
+ }
+}
diff --git a/src/System.Runtime/src/project.json b/src/System.Runtime/src/project.json
new file mode 100644
index 0000000000..54912e4a28
--- /dev/null
+++ b/src/System.Runtime/src/project.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "Microsoft.DotNet.CoreCLR": "1.0.0-prerelease"
+ }
+} \ No newline at end of file
diff --git a/src/System.Runtime/tests/System.Runtime.Tests.csproj b/src/System.Runtime/tests/System.Runtime.Tests.csproj
index 6fa2987580..a668e4967e 100644
--- a/src/System.Runtime/tests/System.Runtime.Tests.csproj
+++ b/src/System.Runtime/tests/System.Runtime.Tests.csproj
@@ -94,6 +94,12 @@
<Project>{be8ed8c1-c314-4c4e-a929-64c9c8b3552a}</Project>
<Name>XunitTraitsDiscoverers</Name>
</ProjectReference>
+ <!-- Compile tests against the System.Runtime contract, but copy our local-built implementation for testing -->
+ <ProjectReference Include="..\src\System.Runtime.CoreCLR.csproj">
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <OutputItemType>Content</OutputItemType>
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </ProjectReference>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project> \ No newline at end of file