Merge pull request #4781 from kumpera/unaligned-cleanup-1
authorRodrigo Kumpera <kumpera@users.noreply.github.com>
Tue, 9 May 2017 23:01:57 +0000 (19:01 -0400)
committerGitHub <noreply@github.com>
Tue, 9 May 2017 23:01:57 +0000 (19:01 -0400)
First pass of cleanups to introduce a clear layer that deals with emiting load/stores.

309 files changed:
.gitmodules
configure.ac
external/api-snapshot [new submodule]
external/binary-reference-assemblies
external/bockbuild
external/corefx
external/corert
man/mono.1
mcs/.gitignore
mcs/Makefile
mcs/build/library.make
mcs/class/Facades/System.Collections.NonGeneric/AssemblyInfo.cs
mcs/class/Facades/System.Data.Common/TypeForwarders.cs
mcs/class/Facades/System.Diagnostics.StackTrace/AssemblyInfo.cs
mcs/class/Facades/System.Diagnostics.Tracing/Makefile
mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs [deleted file]
mcs/class/Facades/System.IO.Packaging/Makefile [deleted file]
mcs/class/Facades/System.IO.Packaging/System.IO.Packaging.dll.sources [deleted file]
mcs/class/Facades/System.IO.Packaging/TypeForwarders.cs [deleted file]
mcs/class/Facades/System.Net.Sockets/Makefile
mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.DispatchProxy/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/corefx/SR.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Loader/AssemblyExtensions.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Loader/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Loader/AssemblyLoadContext.cs [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Loader/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Loader/System.Runtime.Loader.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Formatters/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Duplex/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Http/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.NetTcp/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Primitives/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Security/AssemblyInfo.cs
mcs/class/Facades/System.Text.Encoding.CodePages/AssemblyInfo.cs
mcs/class/Facades/System.Xml.ReaderWriter/AssemblyInfo.cs
mcs/class/Facades/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath.XmlDocument/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs [new file with mode: 0644]
mcs/class/Facades/netstandard/Facades_netstandard-net_4_x.csproj
mcs/class/Facades/netstandard/Makefile
mcs/class/Facades/subdirs.make
mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.JavaEE.csproj [deleted file]
mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.csproj [deleted file]
mcs/class/Makefile
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_3_5.csproj [deleted file]
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_3_5.csproj [deleted file]
mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj
mcs/class/Microsoft.CSharp/Microsoft.CSharp.dll.sources
mcs/class/Mono.C5/C5.sln [deleted file]
mcs/class/Mono.C5/C5/.gitattributes
mcs/class/Mono.C5/C5/C5.csproj [deleted file]
mcs/class/Mono.C5/Test/nunit.csproj [deleted file]
mcs/class/Mono.C5/UserGuideExamples/UserGuideExamples.csproj [deleted file]
mcs/class/Mono.C5/doc/docNet.csproj [deleted file]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
mcs/class/Mono.Security/Mono.Security.Interface/IMonoSslStream.cs
mcs/class/Mono.Security/Mono.Security.Interface/MonoTlsProvider.cs
mcs/class/Mono.Security/Mono.Security.Interface/MonoTlsProviderFactory.cs
mcs/class/System.ComponentModel.Composition.4.5/src/ComponentModel/ComponentModel.csproj [deleted file]
mcs/class/System.Core/System.Core-net_4_x.csproj
mcs/class/System.Core/common_System.Core.dll.sources
mcs/class/System.Core/dynamic_System.Core.dll.sources
mcs/class/System.Data.DataSetExtensions/Test/System.Data.DataSetExtensions.Test.csproj [deleted file]
mcs/class/System.Data.Services.Client/Client/System.Data.Services.Client.csproj [deleted file]
mcs/class/System.Data.Services.Client/Client_SL/System.Data.Services.Client_SL.csproj [deleted file]
mcs/class/System.Data.Services.Client/ODataClientLibrary.sln [deleted file]
mcs/class/System.Data/System.Data-net_4_x.csproj
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlClientFactoryTest.cs
mcs/class/System.Data/corefx.common.sources
mcs/class/System.Data/corefx/DBCommandBuilder.cs [new file with mode: 0644]
mcs/class/System.Data/corefx/DataView.cs [new file with mode: 0644]
mcs/class/System.Data/corefx/DbConnection.cs [new file with mode: 0644]
mcs/class/System.Data/corefx/FieldNameLookup.cs [new file with mode: 0644]
mcs/class/System.Data/corefx/Index.cs [new file with mode: 0644]
mcs/class/System.Data/corefx/Selection.cs [new file with mode: 0644]
mcs/class/System.Data/net_4_x_System.Data.dll.sources
mcs/class/System.Drawing/GDIPlusTest.csproj [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper.csproj [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper20.csproj [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP.v1.csproj [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP20.v1.csproj [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.dotnet.sln [deleted file]
mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.sln [deleted file]
mcs/class/System.Net.Http/CFContentStream.cs
mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs [deleted file]
mcs/class/System.Reflection.DispatchProxy/Makefile [deleted file]
mcs/class/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources [deleted file]
mcs/class/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/SR.cs [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources [deleted file]
mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs [deleted file]
mcs/class/System.ServiceModel/Test/MetadataTests/ExportUtil.csproj [deleted file]
mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.csproj [deleted file]
mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.sln [deleted file]
mcs/class/System.ServiceModel/Test/MetadataTests/README.txt
mcs/class/System.ServiceModel/Test/SwitchMode/SwitchMode.csproj [deleted file]
mcs/class/System.ServiceModel/Test/WCFServers/WCFServers.csproj [deleted file]
mcs/class/System.Web.Extensions/Test/AUT/SystemWebExtensionsAUT.csproj [deleted file]
mcs/class/System.Web.Mvc3/System.Web.Mvc.csproj [deleted file]
mcs/class/System.Web.Services/DefaultWsdlHelpGenerator/DefaultWsdlHelpGenerator.csproj [deleted file]
mcs/class/System.Web.Services/Mono.System.Web.Services.csproj [deleted file]
mcs/class/System.Web/System.Web.Phantom/System.Web.Phantom.csproj [deleted file]
mcs/class/System.Windows.Forms.DataVisualization/Charting.sln [deleted file]
mcs/class/System.Windows.Forms.DataVisualization/Test/Charting/Charting.csproj [deleted file]
mcs/class/System.Windows.Forms.DataVisualization/Test/ChartingTests.csproj [deleted file]
mcs/class/System.Windows.Forms.DataVisualization/Test/MonoCharting/MonoCharting.csproj [deleted file]
mcs/class/System.Windows.Forms/System.Windows.Forms.RTF/rtf.csproj [deleted file]
mcs/class/System.XML/Makefile
mcs/class/System.XML/Test/Microsoft.Test.csproj [deleted file]
mcs/class/System.XML/Test/Mono.Test.csproj [deleted file]
mcs/class/System.XML/Test/MonoMicro.Test.csproj [deleted file]
mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt.sln [deleted file]
mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.csproj [deleted file]
mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.sln [deleted file]
mcs/class/System.XML/Test/System.Xml/W3C/W3C.sln [deleted file]
mcs/class/System.XML/Test/System.Xml/W3C/W3C20.sln [deleted file]
mcs/class/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs [deleted file]
mcs/class/System.Xml.XPath.XmlDocument/Makefile [deleted file]
mcs/class/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources [deleted file]
mcs/class/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs [deleted file]
mcs/class/System/Mono.AppleTls/AppleTlsProvider.cs
mcs/class/System/Mono.AppleTls/AppleTlsStream.cs
mcs/class/System/Mono.Btls/MonoBtlsProvider.cs
mcs/class/System/Mono.Btls/MonoBtlsStream.cs
mcs/class/System/Mono.Net.Security/IMonoSslStream.cs [deleted file]
mcs/class/System/Mono.Net.Security/IMonoTlsProvider.cs [deleted file]
mcs/class/System/Mono.Net.Security/LegacySslStream.cs
mcs/class/System/Mono.Net.Security/LegacyTlsProvider.cs
mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs
mcs/class/System/Mono.Net.Security/MonoSslStreamImpl.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoSslStreamWrapper.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Apple.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Droid.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.cs
mcs/class/System/Mono.Net.Security/MonoTlsProviderWrapper.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoTlsStream.cs
mcs/class/System/Mono.Net.Security/NoReflectionHelper.cs
mcs/class/System/System-bare-net_4_x.csproj
mcs/class/System/System-net_4_x.csproj
mcs/class/System/System-secxml-net_4_x.csproj
mcs/class/System/System.Net.Security/LocalCertificateSelectionCallback.cs
mcs/class/System/System.Net.Security/SslStream.cs
mcs/class/System/System.Net.Security/SslStream.platformnotsupported.cs
mcs/class/System/System.Net/ChunkStream.cs [deleted file]
mcs/class/System/System.Net/ChunkedInputStream.cs
mcs/class/System/System.Net/EndPointListener.cs
mcs/class/System/System.Net/EndPointManager.cs
mcs/class/System/System.Net/HttpConnection.cs
mcs/class/System/System.Net/HttpListener.Mono.cs [new file with mode: 0644]
mcs/class/System/System.Net/HttpListener.cs
mcs/class/System/System.Net/HttpListenerContext.cs
mcs/class/System/System.Net/HttpListenerPrefixCollection.cs
mcs/class/System/System.Net/HttpListenerRequest.cs
mcs/class/System/System.Net/HttpListenerResponse.cs
mcs/class/System/System.Net/HttpWebRequest.cs
mcs/class/System/System.Net/HttpWebRequest.platformnotsupported.cs
mcs/class/System/System.Net/ListenerAsyncResult.cs
mcs/class/System/System.Net/ListenerPrefix.cs
mcs/class/System/System.Net/MonoChunkStream.cs [new file with mode: 0644]
mcs/class/System/System.Net/ResponseStream.cs
mcs/class/System/System.Net/WebConnection.cs
mcs/class/System/common.sources
mcs/class/System/monodroid_System.dll.sources
mcs/class/System/monotouch_System.dll.sources
mcs/class/System/monotouch_watch_System.dll.exclude.sources
mcs/class/System/xammac_System.dll.sources
mcs/class/System/xammac_net_4_5_System.dll.sources
mcs/class/SystemWebTestShim/SystemWebTestShim.csproj [deleted file]
mcs/class/aot-compiler/Makefile
mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs [deleted file]
mcs/class/corlib/System/TimeZoneInfo.cs
mcs/class/corlib/Test/System.Reflection.Emit/CustomAttributeBuilderTest.cs
mcs/class/corlib/Test/System.Reflection.Emit/EnumBuilderTest.cs
mcs/class/corlib/corlib-net_4_x.csproj
mcs/class/corlib/corlib.dll.sources
mcs/class/reference-assemblies/Makefile
mcs/class/referencesource/System.Data/System/Data/Common/AdapterUtil.cs
mcs/class/referencesource/System.Data/System/Data/ProviderBase/DbConnectionFactory.cs
mcs/class/referencesource/System.Data/System/Data/Sql/SqlDataSourceEnumerator.cs
mcs/class/referencesource/System.Data/System/Data/Sql/invalidudtexception.cs
mcs/class/referencesource/System/net/System/Net/AuthenticationSchemeSelector.cs
mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
mcs/diff.html.in [new file with mode: 0644]
mcs/mcs.proj [deleted file]
mcs/mcs/attribute.cs
mcs/mcs/ikvm.cs
mcs/tests/test-942.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_x.xml
mcs/tools/Makefile
mcs/tools/culevel/culevel.csproj [deleted file]
mcs/tools/gacutil/gacutil.csproj [deleted file]
mcs/tools/linker-analyzer/LinkerAnalyzer.csproj [deleted file]
mcs/tools/linker-analyzer/LinkerAnalyzer.sln [deleted file]
mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj [deleted file]
mcs/tools/mkbundle/mkbundle.cs
mcs/tools/mono-xmltool/XmlTool.sln [deleted file]
mcs/tools/mono-xmltool/XmlTool.vmwcsproj [deleted file]
mcs/tools/mono-xmltool/XmlTool20.csproj [deleted file]
mcs/tools/mono-xmltool/XmlTool20.sln [deleted file]
mcs/tools/resx2sr/Makefile
mcs/tools/resx2sr/resx2sr-net_4_x.csproj [new file with mode: 0644]
mcs/tools/resx2sr/resx2sr.exe.sources
mcs/tools/xbuild/Makefile
mcs/tools/xbuild/Test/xbuild.tests/xbuild.tests.csproj [deleted file]
mcs/tools/xbuild/frameworks/net_4.7.xml [new file with mode: 0644]
mcs/tools/xbuild/xbuild.csproj [deleted file]
mcs/tools/xbuild/xbuild.sln [deleted file]
mono/metadata/appdomain.c
mono/metadata/appdomain.h
mono/metadata/assembly.c
mono/metadata/attach.c
mono/metadata/class.c
mono/metadata/debug-internals.h
mono/metadata/domain-internals.h
mono/metadata/environment.c
mono/metadata/exception.c
mono/metadata/filewatcher.c
mono/metadata/gc.c
mono/metadata/icall-def.h
mono/metadata/icall-internals.h
mono/metadata/icall-windows-uwp.c
mono/metadata/icall-windows.c
mono/metadata/icall.c
mono/metadata/locales.c
mono/metadata/locales.h
mono/metadata/marshal.c
mono/metadata/marshal.h
mono/metadata/metadata-internals.h
mono/metadata/metadata.c
mono/metadata/mono-debug.c
mono/metadata/mono-perfcounters.c
mono/metadata/mono-route.c
mono/metadata/mono-security-windows.c
mono/metadata/mono-security.c
mono/metadata/object.c
mono/metadata/object.h
mono/metadata/security.h
mono/metadata/sre-internals.h
mono/metadata/sre-save.c
mono/metadata/sre.c
mono/metadata/threadpool.c
mono/metadata/threads.c
mono/metadata/w32file.c
mono/metadata/w32process.c
mono/metadata/w32socket.c
mono/mini/aot-compiler.c
mono/mini/basic-float.cs
mono/mini/debugger-agent.c
mono/mini/driver.c
mono/mini/exceptions-amd64.c
mono/mini/interp/interp-internals.h
mono/mini/interp/interp.c
mono/mini/interp/interp.h
mono/mini/interp/mintops.def
mono/mini/interp/transform.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.h
mono/mini/mini-arm.c
mono/mini/mini-exceptions.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-runtime.c
mono/mini/mini.h
mono/mini/mixed.cs
mono/mini/objects.cs
mono/mini/simd-intrinsics.c
mono/sgen/sgen-alloc.c
mono/tests/Makefile.am
mono/tests/bug-10127.cs
mono/tests/testing_gac/Makefile.am
mono/utils/mono-error.c
mono/utils/mono-stack-unwinding.h
msvc/eglib-common.targets [new file with mode: 0644]
msvc/eglib-common.targets.filters [new file with mode: 0644]
msvc/eglib-posix.targets [new file with mode: 0644]
msvc/eglib-posix.targets.filters [new file with mode: 0644]
msvc/eglib-win32.targets [new file with mode: 0644]
msvc/eglib-win32.targets.filters [new file with mode: 0644]
msvc/eglib.vcxproj
msvc/eglib.vcxproj.filters
msvc/mono.props
msvc/scripts/order.xml
net_4_x.sln
packaging/MacSDK/fsharp.py
packaging/MacSDK/msbuild.py
packaging/MacSDK/packaging/resources/postinstall
packaging/MacSDK/packaging/resources/whitelist.txt
packaging/MacSDK/patches/fsharp-Fix-mono-gac-location.patch [new file with mode: 0644]
packaging/MacSDK/patches/fsharp-enable-jit-tracking-for-portable-pdb.patch [new file with mode: 0644]
packaging/MacSDK/patches/fsharp-fix-mdb-support.patch
packaging/MacSDK/patches/fsharp-fix-xbuild-check.patch [new file with mode: 0644]
runtime/Makefile.am
scripts/ci/run-test-default.sh
scripts/ci/util.sh [new file with mode: 0644]
support/map.c
tools/pedump/pedump.c
winconfig.h

index 52dd2e7d5b2e23bfad4e2868ab9848bdf5c77650..73d55a0a9b903a2f261f9a60b0dfee03b66f0a3c 100644 (file)
@@ -58,3 +58,6 @@
 [submodule "external/api-doc-tools"]
        path = external/api-doc-tools
        url = git://github.com/mono/api-doc-tools.git
+[submodule "external/api-snapshot"]
+       path = external/api-snapshot
+       url = git://github.com/mono/api-snapshot.git
index 49ff006923b4396c36183c27e891717807631273..25c905871588f56aceb8e91bbb1a38ef4d5e5798 100644 (file)
@@ -1031,25 +1031,25 @@ AC_SUBST(DEFAULT_PROFILE)
 
 if test x$USE_NLS = xprofile_default; then
 
-if test x$host_darwin = xyes; then
-# We make the default value for USE_NLS
-# "no" on OSX because it isn't available on most
-# default OSX installs. The most common configurations will
-# all disable it, so this saves us typing.
-  USE_NLS=no
-  AC_SUBST([USE_NLS])
-  AC_MSG_RESULT([$USE_NLS])
-else
-  USE_NLS=yes
-  AC_SUBST([USE_NLS])
-  AC_MSG_RESULT([$USE_NLS])
-fi
+       AC_MSG_CHECKING([NLS used])
+
+       # We make the default value for USE_NLS
+       # "no" on OSX because it isn't available on most
+       # default OSX installs. The most common configurations will
+       # all disable it, so this saves us typing.
+       if test x$host_darwin = xyes; then
+               USE_NLS=no;
+       else
+               USE_NLS=yes;
+       fi
 
+       AC_SUBST([USE_NLS])
+       AC_MSG_RESULT([$USE_NLS])
 fi
 
 AC_ARG_ENABLE(minimal, [  --enable-minimal=LIST      drop support for LIST subsystems.
      LIST is a comma-separated list from: aot, profiler, decimal, pinvoke, debug, appdomains, verifier, 
-     reflection_emit, reflection_emit_save, large_code, logging, com, ssa, generics, attach, jit, simd, soft_debug, perfcounters, normalization, assembly_remapping, shared_perfcounters, remoting,
+     reflection_emit, reflection_emit_save, large_code, logging, com, ssa, generics, attach, jit, simd, soft_debug, perfcounters, normalization, desktop_loader, shared_perfcounters, remoting,
         security, lldb, mdb, sgen_remset, sgen_marksweep_par, sgen_marksweep_fixed, sgen_marksweep_fixed_par, sgen_copying.],
 [
        for feature in `echo "$enable_minimal" | sed -e "s/,/ /g"`; do
@@ -1170,9 +1170,10 @@ if test "x$mono_feature_disable_normalization" = "xyes"; then
        AC_MSG_NOTICE([Disabled String normalization support.])
 fi
 
-if test "x$mono_feature_disable_assembly_remapping" = "xyes"; then
-       AC_DEFINE(DISABLE_ASSEMBLY_REMAPPING, 1, [Disable assembly remapping.])
-       AC_MSG_NOTICE([Disabled Assembly remapping.])
+#TODO: remove assembly_remapping feature name once everyone is using desktop_loader
+if test "x$mono_feature_disable_assembly_remapping" = "xyes" || test "x$mono_feature_disable_desktop_loader" = "xyes"; then
+       AC_DEFINE(DISABLE_DESKTOP_LOADER, 1, [Disable desktop assembly loader semantics.])
+       AC_MSG_NOTICE([Disabled desktop assembly loader semantics.])
 fi
 
 if test "x$mono_feature_disable_shared_perfcounters" = "xyes"; then
diff --git a/external/api-snapshot b/external/api-snapshot
new file mode 160000 (submodule)
index 0000000..62b4585
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 62b458536891b4de889254d9a3f1e44697ad4b06
index febc100f0313f0dc9d75dd1bcea45e87134b5b55..142cbeb62ffabf1dd9c1414d8dd76f93bcbed0c2 160000 (submodule)
@@ -1 +1 @@
-Subproject commit febc100f0313f0dc9d75dd1bcea45e87134b5b55
+Subproject commit 142cbeb62ffabf1dd9c1414d8dd76f93bcbed0c2
index fd1d6c404d763c98b6f0e64e98ab65f92e808245..31c98f3cabb0eeb10053c79a05bb51b659edc677 160000 (submodule)
@@ -1 +1 @@
-Subproject commit fd1d6c404d763c98b6f0e64e98ab65f92e808245
+Subproject commit 31c98f3cabb0eeb10053c79a05bb51b659edc677
index 78360b22e71b70de1d8cc9588cb4ef0040449c31..0d81ca28ac43d399124d07f9dd46485c0bf2ab52 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 78360b22e71b70de1d8cc9588cb4ef0040449c31
+Subproject commit 0d81ca28ac43d399124d07f9dd46485c0bf2ab52
index a84847cb307985f2a0cfcdf124d68ec0626704b7..814f76de6a972c5c3dd3ec6b10dc900fd73d08d2 160000 (submodule)
@@ -1 +1 @@
-Subproject commit a84847cb307985f2a0cfcdf124d68ec0626704b7
+Subproject commit 814f76de6a972c5c3dd3ec6b10dc900fd73d08d2
index e9e64c2850850a7257899c65a02be581cac0d48d..b23581535c583425416b8a9dc3fdf8ae78451a89 100644 (file)
@@ -311,6 +311,26 @@ Instructs the AOT compiler to emit (or not emit) debug symbol information.
 For more information about AOT, see: http://www.mono-project.com/docs/advanced/aot/
 .RE
 .TP
+\fB--aot-path=PATH\fR
+List of additional directories to search for AOT images.
+.TP
+\fB--apply-bindings=FILE\fR
+Apply the assembly bindings from the specified configuration file when running
+the AOT compiler.  This is useful when compiling an auxiliary assembly that is
+referenced by a main assembly that provides a configuration file.  For example,
+if app.exe uses lib.dll then in order to make the assembly bindings from
+app.exe.config available when compiling lib.dll ahead of time, use:
+.nf
+       mono --apply-bindings=app.exe.config --aot lib.dll
+.fi
+.TP
+\fB--assembly-loader=MODE\fR
+If mode is \fBstrict\fR, Mono will check that the public key token, culture and version
+of a candidate assembly matches the requested strong name.  If mode is \fBlegacy\fR, as
+long as the name matches, the candidate will be allowed. \fBstrict\fR is the behavior
+consistent with .NET Framework but may break some existing mono-based applications.
+The default is \fBlegacy\fR.
+.TP
 \fB--attach=[options]\fR
 Currently the only option supported by this command line argument is
 \fBdisable\fR which disables the attach functionality.
@@ -321,9 +341,6 @@ The default files are /etc/mono/config and ~/.mono/config or the file
 specified in the MONO_CONFIG environment variable, if set.  See the
 mono-config(5) man page for details on the format of this file.
 .TP
-\fB--aot-path=PATH\fR
-List of additional directories to search for AOT images.
-.TP
 \fB--debugger-agent=[options]\fR 
 This instructs the Mono runtime to
 start a debugging agent inside the Mono runtime and connect it to a
index 95c3b1615e6d84a226ad253408dfe4c87aa3ca62..ac21fbc31e58122816e8f9194fdf215b1cba8d95 100644 (file)
@@ -11,6 +11,7 @@ TestResult-*.log
 TestResult-*.xml
 TestResult*.xml
 .dep_dirs-*
+apidiff/*
 errors/*.log
 errors/dummy.xml
 class/Mono.Data.Sqlite/test.db
index 54cb4574e240760f8eaf3545bd4bd76021132c3f..72382ce0d0b23a11aea60ef6ca331bbc92bd4bbc 100644 (file)
@@ -159,3 +159,36 @@ monocharge-lite:
        $(MAKE) -C class/Mono.CSharp.Debugger install DESTDIR="$$DESTDIR" || exit 1; \
        tar cvjf "$$chargedir".tar.bz2 "$$chargedir" ; \
        rm -rf "$$chargedir"
+
+# Targets for creating API diffs of the framework
+
+MONO_API_SNAPSHOT_PATH := $(topdir)../external/api-snapshot/
+GENAPI := $(MONO_API_SNAPSHOT_PATH)tools/genapi/GenAPI.exe
+MONO_API_SNAPSHOT_PROFILE_PATH := $(MONO_API_SNAPSHOT_PATH)profiles/$(PROFILE)/
+MONO_API_ASSEMBLIES_IGNORED := $(addprefix $(topdir)class/lib/$(PROFILE)/, SystemWebTestShim.dll standalone-runner-support.dll nunit.core.dll nunit.core.extensions.dll nunit.core.interfaces.dll nunit.framework.dll nunit.framework.extensions.dll nunit.mocks.dll nunit.util.dll nunit-console-runner.dll nunitlite.dll)
+MONO_API_ASSEMBLIES := $(filter-out $(MONO_API_ASSEMBLIES_IGNORED), $(wildcard $(topdir)class/lib/$(PROFILE)/*.dll)) $(wildcard $(topdir)class/lib/$(PROFILE)/Facades/*.dll)
+MONO_API_ASSEMBLIES_CS := $(MONO_API_ASSEMBLIES:$(topdir)class/lib/$(PROFILE)/%.dll=$(MONO_API_SNAPSHOT_PROFILE_PATH)%.cs)
+
+$(MONO_API_SNAPSHOT_PROFILE_PATH)%.cs: $(topdir)class/lib/$(PROFILE)/%.dll $(GENAPI) $(MONO_API_SNAPSHOT_PATH)profiles/license-header.txt
+       @mkdir -p $(dir $@)
+       $(Q) MONO_PATH=$(topdir)class/lib/$(BUILD_TOOLS_PROFILE) $(RUNTIME) $(GENAPI) -libPath:$(topdir)class/lib/$(PROFILE),$(topdir)class/lib/$(PROFILE)/Facades -out:$(dir $@) -headerFile:$(MONO_API_SNAPSHOT_PATH)profiles/license-header.txt -assemblyAttributes -typeForwardedTo -assemblyVersion -assembly:$< || echo "Couldn't process assembly." > $@
+
+mono-api-current: $(MONO_API_ASSEMBLIES_CS)
+
+mono-api-current-clean:
+       $(Q) rm -rf "$(MONO_API_SNAPSHOT_PROFILE_PATH)"
+
+mono-api-diff:
+       @echo "Regenerating API snapshot..."
+       $(Q) $(MAKE) mono-api-current-clean PROFILE=net_4_x
+       $(Q) $(MAKE) mono-api-current-clean PROFILE=monotouch
+       $(Q) $(MAKE) mono-api-current-clean PROFILE=monodroid
+       $(Q) $(MAKE) mono-api-current PROFILE=net_4_x
+       $(Q) $(MAKE) mono-api-current PROFILE=monotouch
+       $(Q) $(MAKE) mono-api-current PROFILE=monodroid
+       @echo "Checking public API differences..."
+       $(Q) cd $(MONO_API_SNAPSHOT_PATH); git add -A .
+       $(Q) cd $(MONO_API_SNAPSHOT_PATH); git diff --no-renames HEAD > $(abspath $(topdir))/temp.patch
+       @mkdir -p apidiff
+       $(Q) sed -e "/@diffdata@/r temp.patch" -e "/@diffdata@/d" -e "s/@title@/Public API Diff/g" -e "s/@description@/If the changes are intentional, run <code>make -C mcs mono-api-diff<\/code> locally and commit changes in external\/api-snapshot./g" diff.html.in > apidiff/index.html
+       $(Q) if [ -s temp.patch ]; then echo "Error: Found public API differences, see mcs/apidiff/index.html. If the changes are intentional, please go to external/api-snapshot and commit them."; rm -f temp.patch; exit 1; else echo "No differences found."; rm -f temp.patch; fi
index 9382401ab52712ef6e9ee7b836858e047a07233a..2e04a3a359555c76695cc522937ee4ddce2c1b30 100644 (file)
@@ -385,11 +385,5 @@ $(the_libdir)/.doc-stamp: $(the_lib)
 gen-deps:
        @echo "$(DEPS_TARGET_DIR): $(DEP_DIRS) $(DEP_LIBS)" >> $(DEPS_FILE)
 
-# Should be $(BUILD_TOOLS_PROFILE) but still missing System.Windows.Forms
-resx2sr=$(topdir)/class/lib/net_4_x/resx2sr.exe
-
-update-corefx-sr: $(resx2sr) $(RESX_RESOURCE_STRING)
-       MONO_PATH="$(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(resx2sr) $(RESX_RESOURCE_STRING) >corefx/SR.cs
-
-$(resx2sr):
-       $(MAKE) -C $(topdir)/tools/resx2sr
+update-corefx-sr: $(RESX_RESOURCE_STRING)
+       MONO_PATH="$(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/resx2sr.exe $(RESX_RESOURCE_STRING) >corefx/SR.cs
index dc7beb6e6657e5410efc50688377a25816632fb9..fef6ff714f34d92593392fd1294347ff9a2d2e21 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyVersion ("4.0.1.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index 44bd8f480460d1268f26dafff383963b5d59be52..24bd6ae8da7ded5bbc574655d7723359812e3522 100644 (file)
@@ -36,6 +36,7 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbParameterCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbProviderFactory))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbTransaction))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.IDbColumnSchemaGenerator))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.ConnectionState))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.DataRowVersion))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.DataTable))]
index fa5b9f81d529ea655e5da7f07a6560b70229b3fb..74545a8a222a372e587cfe45912e1c0ab9b3de88 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.1.0")]
+[assembly: AssemblyVersion ("4.0.2.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index d74812c5e9f37df4cb06b1a044a3b67932b01081..14b380da866454c7569c53a115dfa4e473422415 100644 (file)
@@ -13,6 +13,8 @@ KEY_FILE = ../../msfinal.pub
 SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
 LIB_MCS_FLAGS = $(SIGN_FLAGS) 
 
+PLATFORM_DEBUG_FLAGS =
+
 NO_TEST = yes
 
 include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs b/mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs
deleted file mode 100644 (file)
index a98189c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.IO.Packaging.dll")]
-[assembly: AssemblyDescription ("System.IO.Packaging.dll")]
-[assembly: AssemblyDefaultAlias ("System.IO.Packaging.dll")]
-[assembly: AssemblyCompany ("Xamarin, Inc.")]
-[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
-[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.0.0")]
-[assembly: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
diff --git a/mcs/class/Facades/System.IO.Packaging/Makefile b/mcs/class/Facades/System.IO.Packaging/Makefile
deleted file mode 100644 (file)
index cbf6d68..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.IO.Packaging
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.IO.Packaging.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System WindowsBase
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.IO.Packaging/System.IO.Packaging.dll.sources b/mcs/class/Facades/System.IO.Packaging/System.IO.Packaging.dll.sources
deleted file mode 100644 (file)
index 719628d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
diff --git a/mcs/class/Facades/System.IO.Packaging/TypeForwarders.cs b/mcs/class/Facades/System.IO.Packaging/TypeForwarders.cs
deleted file mode 100644 (file)
index a3c4504..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.FileFormatException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.CompressionOption))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.EncryptionOption))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackUriHelper))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.Package))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackagePart))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackagePartCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackageProperties))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackageRelationship))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackageRelationshipCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackageRelationshipSelector))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.PackageRelationshipSelectorType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.TargetMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.ZipPackage))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Packaging.ZipPackagePart))]
index 497c05462276fee5be2ca4b18564dd8e33947548..bf60d5fef6be2147d79b9b70e5ab29430dc1f651 100644 (file)
@@ -14,6 +14,8 @@ SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
 LIB_REFS = System
 LIB_MCS_FLAGS = $(SIGN_FLAGS)
 
+PLATFORM_DEBUG_FLAGS =
+
 NO_TEST = yes
 
 include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs b/mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..b31d2d3
--- /dev/null
@@ -0,0 +1,35 @@
+// 
+// Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+// 
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Reflection.DispatchProxy.dll")]
+[assembly: AssemblyDescription ("System.Reflection.DispatchProxy.dll")]
+[assembly: AssemblyDefaultAlias ("System.Reflection.DispatchProxy.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.2.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/Makefile b/mcs/class/Facades/System.Reflection.DispatchProxy/Makefile
new file mode 100644 (file)
index 0000000..0dab068
--- /dev/null
@@ -0,0 +1,19 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Reflection.DispatchProxy
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Reflection.DispatchProxy.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /unsafe
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources
new file mode 100644 (file)
index 0000000..2da8fa6
--- /dev/null
@@ -0,0 +1,3 @@
+../../../build/common/MonoTODOAttribute.cs
+Assembly/AssemblyInfo.cs
+System.Reflection/DispatchProxy.cs
diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs
new file mode 100644 (file)
index 0000000..540e525
--- /dev/null
@@ -0,0 +1,50 @@
+//
+// DispatchProxy.cs
+//
+// Author:
+//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
+//
+// (C) 2016 Xamarin, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Reflection
+{
+       public abstract class DispatchProxy
+       {
+               [MonoTODO]
+               protected DispatchProxy()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static T Create<T, TProxy> () where TProxy : DispatchProxy
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               protected abstract object Invoke (MethodInfo targetMethod, object[] args);
+       }
+}
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..c0542a2
--- /dev/null
@@ -0,0 +1,46 @@
+//
+// AssemblyInfo.cs
+//
+// Author:
+//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
+//
+// (C) 2016 Xamarin, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Runtime.InteropServices.RuntimeInformation.dll")]
+[assembly: AssemblyDescription ("System.Runtime.InteropServices.RuntimeInformation.dll")]
+[assembly: AssemblyDefaultAlias ("System.Runtime.InteropServices.RuntimeInformation.dll")]
+
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.1.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
+
+[assembly: CLSCompliant (true)]
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj
new file mode 100644 (file)
index 0000000..82ac8d6
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- WARNING: this file is autogenerated, don't modify it. Edit the .sources file of the corresponding assembly instead if you want to add/remove C# source files. -->\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{71D02788-3AD8-4C43-BDEB-1A3D277496BA}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.InteropServices.RuntimeInformation</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\Architecture.cs" />\r
+    <Compile Include="..\..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\OSPlatform.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="corefx\SR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RuntimeInformation.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Makefile b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Makefile
new file mode 100644 (file)
index 0000000..c3005ea
--- /dev/null
@@ -0,0 +1,24 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Runtime.InteropServices.RuntimeInformation
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Runtime.InteropServices.RuntimeInformation.dll
+
+RESX_RESOURCE_STRING = ../../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/Resources/Strings.resx
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /unsafe
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
+
+
+
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj
new file mode 100644 (file)
index 0000000..59f32d4
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- WARNING: this file is autogenerated, don't modify it. Edit the .sources file of the corresponding assembly instead if you want to add/remove C# source files. -->\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.InteropServices.RuntimeInformation</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\Architecture.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\OSPlatform.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="SR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RuntimeInformation.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources
new file mode 100644 (file)
index 0000000..2bbe8a7
--- /dev/null
@@ -0,0 +1,7 @@
+Assembly/AssemblyInfo.cs
+System.Runtime.InteropServices/RuntimeInformation.cs
+
+corefx/SR.cs
+
+../../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/OSPlatform.cs
+../../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/Architecture.cs
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs
new file mode 100644 (file)
index 0000000..d775167
--- /dev/null
@@ -0,0 +1,88 @@
+//
+// RuntimeInformation.cs
+//
+// Author:
+//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
+//
+// (C) 2016 Xamarin, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.IO;
+using System.Reflection;
+
+namespace System.Runtime.InteropServices
+{
+       public static class RuntimeInformation
+       {
+               [DllImport ("__Internal")]
+               extern static string mono_get_runtime_build_info ();
+
+               public static string FrameworkDescription {
+                       get {
+                               return mono_get_runtime_build_info ();
+                       }
+               }
+
+               public static bool IsOSPlatform (OSPlatform osPlatform)
+               {
+                       switch (Environment.OSVersion.Platform) {
+                       case PlatformID.Win32NT:
+                               return osPlatform == OSPlatform.Windows;
+                       case PlatformID.Unix:
+                               if (File.Exists ("/usr/lib/libc.dylib"))
+                                       return osPlatform == OSPlatform.OSX;
+
+                               return osPlatform == OSPlatform.Linux;
+                       default:
+                               return false;
+                       }
+               }
+
+               public static string OSDescription
+               {
+                       get
+                       {
+                               return Environment.OSVersion.VersionString;
+                       }
+               }
+
+               public static Architecture OSArchitecture
+               {
+                       get
+                       {
+                               // TODO: very barebones implementation, doesn't respect ARM
+                               return Environment.Is64BitOperatingSystem ? Architecture.X64 : Architecture.X86;
+                       }
+               }
+
+               public static Architecture ProcessArchitecture
+               {
+                       get
+                       {
+                               // TODO: very barebones implementation, doesn't respect ARM                     
+                               return Environment.Is64BitProcess ? Architecture.X64 : Architecture.X86;
+                       }
+               }
+       }
+}
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/corefx/SR.cs b/mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/corefx/SR.cs
new file mode 100644 (file)
index 0000000..ce8c793
--- /dev/null
@@ -0,0 +1,8 @@
+//
+// This file was generated by resx2sr tool
+//
+
+partial class SR
+{
+       public const string Argument_EmptyValue = "Value cannot be empty.";
+}
diff --git a/mcs/class/Facades/System.Runtime.Loader/AssemblyExtensions.cs b/mcs/class/Facades/System.Runtime.Loader/AssemblyExtensions.cs
new file mode 100644 (file)
index 0000000..105024b
--- /dev/null
@@ -0,0 +1,39 @@
+//
+// AssemblyExtensions.cs
+//
+// Authors:
+//     Marek Safar  <marek.safar@gmail.com>
+//
+// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+namespace System.Reflection.Metadata
+{
+       public static class AssemblyExtensions
+       {
+               public static unsafe bool TryGetRawMetadata (this System.Reflection.Assembly assembly, out byte* blob, out int length)
+               {
+                       throw new NotImplementedException ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/Facades/System.Runtime.Loader/AssemblyInfo.cs b/mcs/class/Facades/System.Runtime.Loader/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..d362786
--- /dev/null
@@ -0,0 +1,35 @@
+// 
+// Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+// 
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Runtime.Loader.dll")]
+[assembly: AssemblyDescription ("System.Runtime.Loader.dll")]
+[assembly: AssemblyDefaultAlias ("System.Runtime.Loader.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
diff --git a/mcs/class/Facades/System.Runtime.Loader/AssemblyLoadContext.cs b/mcs/class/Facades/System.Runtime.Loader/AssemblyLoadContext.cs
new file mode 100644 (file)
index 0000000..1e9b5c8
--- /dev/null
@@ -0,0 +1,106 @@
+//
+// AssemblyLoadContext.cs
+//
+// Authors:
+//     Marek Safar  <marek.safar@gmail.com>
+//
+// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Runtime.Loader
+{
+       //
+       // System.Runtime.Loader netstandard typeforwarders dependency
+       //
+       public abstract class AssemblyLoadContext
+       {
+               protected AssemblyLoadContext ()
+               {
+               }
+               
+               public static System.Runtime.Loader.AssemblyLoadContext Default { 
+                       get { 
+                               throw new NotImplementedException ();
+                       }
+               }
+               
+               public static System.Reflection.AssemblyName GetAssemblyName (string assemblyPath)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public static AssemblyLoadContext GetLoadContext (System.Reflection.Assembly assembly) 
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               protected abstract System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyName);
+               
+               public System.Reflection.Assembly LoadFromAssemblyName(System.Reflection.AssemblyName assemblyName) 
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public System.Reflection.Assembly LoadFromAssemblyPath (string assemblyPath)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public System.Reflection.Assembly LoadFromNativeImagePath (string nativeImagePath, string assemblyPath)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public System.Reflection.Assembly LoadFromStream (System.IO.Stream assembly)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public System.Reflection.Assembly LoadFromStream (System.IO.Stream assembly, System.IO.Stream assemblySymbols) 
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               protected IntPtr LoadUnmanagedDllFromPath (string unmanagedDllPath)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               protected virtual IntPtr LoadUnmanagedDll (string unmanagedDllName)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public void SetProfileOptimizationRoot (string directoryPath)
+               {
+               }
+
+               public void StartProfileOptimization (string profile)
+               {               
+               }
+
+#pragma warning disable 67
+               public event Func<AssemblyLoadContext, System.Reflection.AssemblyName, System.Reflection.Assembly> Resolving;
+               public event Action<AssemblyLoadContext> Unloading;
+#pragma warning restore
+       }
+}
diff --git a/mcs/class/Facades/System.Runtime.Loader/Makefile b/mcs/class/Facades/System.Runtime.Loader/Makefile
new file mode 100644 (file)
index 0000000..46af65f
--- /dev/null
@@ -0,0 +1,21 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Runtime.Loader
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Runtime.Loader.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /unsafe
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
+
+
diff --git a/mcs/class/Facades/System.Runtime.Loader/System.Runtime.Loader.dll.sources b/mcs/class/Facades/System.Runtime.Loader/System.Runtime.Loader.dll.sources
new file mode 100644 (file)
index 0000000..adf4e59
--- /dev/null
@@ -0,0 +1,3 @@
+AssemblyInfo.cs
+AssemblyExtensions.cs
+AssemblyLoadContext.cs
index b717fe3b09e3d52492986173b5f44e117cea398a..667e977c2744b63f73004b0cd3cac8cda87bb521 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyVersion ("4.0.1.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index cc10b1648328e8e6470aa26b1b91be4fcb169405..00ca00c3593324cfbd45a43c309952f259fc5b76 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.1.0")]
+[assembly: AssemblyVersion ("4.0.2.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index a62721f42289dbb376ff4d09800fd15adfa187b2..a6ac477d56154ec886368075f24a005e409a0d27 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.1.0.0")]
+[assembly: AssemblyVersion ("4.1.1.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index a62721f42289dbb376ff4d09800fd15adfa187b2..a6ac477d56154ec886368075f24a005e409a0d27 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.1.0.0")]
+[assembly: AssemblyVersion ("4.1.1.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index d3a2d80f6ce7317d00c5a851195cf05bd2f7a192..9c4769a3681be41d9c23cdbda6766dee9d1299f7 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.1.0.0")]
+[assembly: AssemblyVersion ("4.1.1.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index d2c637450732b3eaa7b19e8df20916103815e4ad..0f5d98318c4caa8e2e91823d85b344ff0248736d 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.1.0")]
+[assembly: AssemblyVersion ("4.0.2.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index dde53209d5ab881b4b7ba206e83684b544e3a94b..d89864256b475977be0c032ad5f720c344cf3096 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.1.0")]
+[assembly: AssemblyVersion ("4.0.2.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
index 1f288e75f862530dbe71dd1ef997d8875be8a707..5f03c156274dafa9eaf0dd5754584042a82158fe 100644 (file)
@@ -30,6 +30,6 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyCompany ("Xamarin, Inc.")]
 [assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
 [assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
-[assembly: AssemblyVersion ("4.0.10.0")]
+[assembly: AssemblyVersion ("4.1.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
diff --git a/mcs/class/Facades/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs b/mcs/class/Facades/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..8bfb4e9
--- /dev/null
@@ -0,0 +1,44 @@
+//
+// AssemblyInfo.cs
+//
+// Author:
+//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
+//
+// (C) 2016 Xamarin, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Xml.XPath.XmlDocument.dll")]
+[assembly: AssemblyDescription ("System.Xml.XPath.XmlDocument.dll")]
+[assembly: AssemblyDefaultAlias ("System.Xml.XPath.XmlDocument.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.2.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
diff --git a/mcs/class/Facades/System.Xml.XPath.XmlDocument/Makefile b/mcs/class/Facades/System.Xml.XPath.XmlDocument/Makefile
new file mode 100644 (file)
index 0000000..38259e6
--- /dev/null
@@ -0,0 +1,19 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Xml.XPath.XmlDocument
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Xml.XPath.XmlDocument.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.Xml
+LIB_MCS_FLAGS = $(SIGN_FLAGS)
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources b/mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources
new file mode 100644 (file)
index 0000000..583dc25
--- /dev/null
@@ -0,0 +1,3 @@
+../../../build/common/MonoTODOAttribute.cs
+Assembly/AssemblyInfo.cs
+System.Xml/XmlDocumentXPathExtensions.cs
diff --git a/mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs b/mcs/class/Facades/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs
new file mode 100644 (file)
index 0000000..ee4968b
--- /dev/null
@@ -0,0 +1,83 @@
+//
+// XmlDocumentXPathExtensions.cs
+//
+// Author:
+//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
+//
+// (C) 2016 Xamarin, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Xml
+{
+       public static class XmlDocumentXPathExtensions
+       {
+               [MonoTODO]
+               public static XmlNodeList SelectNodes (this XmlNode node, string xpath)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XmlNodeList SelectNodes (this XmlNode node, string xpath, XmlNamespaceManager nsmgr)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XmlNode SelectSingleNode (this XmlNode node, string xpath)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XmlNode SelectSingleNode (this XmlNode node, string xpath, XmlNamespaceManager nsmgr)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XPath.XPathNavigator CreateNavigator (this XmlNode node)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XPath.IXPathNavigable ToXPathNavigable (this XmlNode node)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XPath.XPathNavigator CreateNavigator (this XmlDocument document)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public static XPath.XPathNavigator CreateNavigator (this XmlDocument document, XmlNode node)
+               {
+                       throw new NotImplementedException ();
+               }
+       }
+}
index e9a2ced5c9b9834dc7f53ac059609c8bfb700fb9..a35831c93b923bbac5b50c761192b6d8988a4386 100644 (file)
       <Project>{9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}</Project>\r
       <Name>System.IO.Compression.FileSystem-net_4_x</Name>\r
     </ProjectReference>\r
-    <ProjectReference Include="../../System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj">\r
-      <Project>{1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}</Project>\r
-      <Name>System.Runtime.InteropServices.RuntimeInformation-net_4_x</Name>\r
+    <ProjectReference Include="../System.Runtime.InteropServices.RuntimeInformation/Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj">\r
+      <Project>{71D02788-3AD8-4C43-BDEB-1A3D277496BA}</Project>\r
+      <Name>Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x</Name>\r
     </ProjectReference>\r
     <ProjectReference Include="../System.Security.Cryptography.Algorithms/Facades_System.Security.Cryptography.Algorithms-net_4_x.csproj">\r
       <Project>{B044DB11-DC90-4C35-B766-F2D24D7C3009}</Project>\r
index d004563039cd0bdbf712c96a0a256f62666942d4..fd6e24e65bc0d470dd5e4f5b9e8b4ab631825816 100644 (file)
@@ -13,7 +13,7 @@ KEY_FILE = ../../Open.snk
 LIBRARY_SNK = $(KEY_FILE)
 SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699 /nowarn:618
 LIB_REFS = System System.Xml System.Xml.Linq System.Runtime.Serialization System.Core System.Numerics System.Numerics.Vectors System.Net.Http System.Transactions \
-System.IO.Compression System.Data System.ComponentModel.Composition System.IO.Compression.FileSystem System.Runtime.InteropServices.RuntimeInformation \
+System.IO.Compression System.Data System.ComponentModel.Composition System.IO.Compression.FileSystem Facades/System.Runtime.InteropServices.RuntimeInformation \
 Facades/System.Security.Cryptography.Algorithms Facades/System.Globalization.Extensions Facades/System.Data.Common \
 Facades/System.Diagnostics.StackTrace Facades/System.Runtime.Serialization.Xml Facades/System.Runtime.Serialization.Primitives \
 Facades/System.Security.SecureString Facades/System.Threading.Overlapped Facades/System.Xml.XPath.XDocument
index 85980cfeef31ed5f272bdd4eb11e97a62937ee97..d1dd9c4f6b98115dcdf049f431fbcdfb61a57f34 100644 (file)
@@ -32,7 +32,7 @@ System.Security.Cryptography.ProtectedData System.ServiceProcess.ServiceControll
 # common_SUBDIRS dependencies
 common_DEPS_SUBDIRS = System.Security.Cryptography.X509Certificates System.ServiceModel.Primitives System.Runtime.Serialization.Primitives \
 System.Runtime.Serialization.Xml System.Security.Cryptography.Algorithms System.Globalization.Extensions System.Data.Common \
-System.Diagnostics.StackTrace System.Security.SecureString System.Threading.Overlapped System.Xml.XPath.XDocument
+System.Diagnostics.StackTrace System.Security.SecureString System.Threading.Overlapped System.Xml.XPath.XDocument System.Runtime.InteropServices.RuntimeInformation
 
 netstandard_drawing_SUBDIRS = System.Drawing.Primitives netstandard
 
@@ -60,7 +60,7 @@ System.Runtime.Numerics System.Xml.XDocument System.Reflection.Extensions System
 System.Diagnostics.FileVersionInfo System.Security.Cryptography.Primitives System.Security.Cryptography.Algorithms System.ValueTuple \
 System.Text.Encoding.CodePages
 
-build_PARALLEL_SUBDIRS = $(basic_PARALLEL_SUBDIRS)
+build_PARALLEL_SUBDIRS = $(basic_PARALLEL_SUBDIRS) System.Text.RegularExpressions System.Diagnostics.Contracts
 
 monodroid_SUBDIRS = $(monotouch_SUBDIRS)
 monodroid_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
@@ -84,7 +84,7 @@ orbis_SUBDIRS = $(common_DEPS_SUBDIRS) $(netstandard_drawing_SUBDIRS) $(mobile_o
 orbis_PARALLEL_SUBDIRS = $(common_SUBDIRS) $(mobile_only_SUBDIRS)
 
 mobile_only_SUBDIRS = System.Net.Ping System.Runtime.Serialization.Formatters System.Security.Cryptography.Csp System.Security.Cryptography.Pkcs \
-System.Security.Cryptography.Cng
+System.Security.Cryptography.Cng System.Runtime.Loader System.Xml.XPath.XmlDocument System.Reflection.DispatchProxy
 
 mobile_only_DEPS_SUBDIRS = System.Security.Cryptography.OpenSsl
 
diff --git a/mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.JavaEE.csproj b/mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.JavaEE.csproj
deleted file mode 100644 (file)
index b9bd33e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{05391985-1646-4D19-BDEC-9C4550EB8E90}</ProjectGuid>\r
-    <ProjectTypeGuids>{F6B19D50-1E2E-4e87-ADFB-10393B439DE0};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <AssemblyName>Mainsoft.Configuration</AssemblyName>\r
-    <JDKName>1.4.2</JDKName>\r
-    <GHProjectType>1</GHProjectType>\r
-    <Version>2.0</Version>\r
-    <UseVSHostingProcess>false</UseVSHostingProcess>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <RootNamespace>Mainsoft.Configuration</RootNamespace>\r
-    <jarserver>ip2</jarserver>\r
-    <StartupObject>\r
-    </StartupObject>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug_Java\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE;JAVA</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <BaseAddress>4194304</BaseAddress>\r
-    <SkipValidation>false</SkipValidation>\r
-    <KeepIntermediate>false</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release_Java\</OutputPath>\r
-    <DefineConstants>TRACE;JAVA</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <BaseAddress>4194304</BaseAddress>\r
-    <SkipValidation>false</SkipValidation>\r
-    <KeepIntermediate>false</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.csharp.targets" />\r
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-      <UserProperties REFS-JarPath-j2se-helpers="..\lib\J2SE.Helpers.jar" REFS-RefInfo-rt="repository:jre:sun:1.4.2" REFS-JarPath-rt="" REFS-JarPath-system="" REFS-RefInfo-system="repository:vmw:framework:2.0" REFS-JarPath-system-configuration="" REFS-RefInfo-system-configuration="repository:vmw:framework:2.0" REFS-JarPath-system-data="" REFS-RefInfo-system-data="repository:vmw:framework:2.0" REFS-JarPath-system-xml="" REFS-RefInfo-system-xml="repository:vmw:framework:2.0" />\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-  <ItemGroup>\r
-    <Reference Include="J2SE.Helpers, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">\r
-      <HintPath>..\lib\J2SE.Helpers.dll</HintPath>\r
-    </Reference>\r
-    <Reference Include="rt, Version=1.4.2.65535, Culture=neutral, processorArchitecture=MSIL" />\r
-    <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" />\r
-    <Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-  </ItemGroup>\r
-</Project>\r
diff --git a/mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.csproj b/mcs/class/Mainsoft.Configuration/Mainsoft.Configuration.csproj
deleted file mode 100644 (file)
index 012ff38..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A384DE21-09A4-4C80-99BC-2F08F9ADBA5C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>Mainsoft.Configuration</RootNamespace>\r
-    <AssemblyName>Mainsoft.Configuration</AssemblyName>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.configuration" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Mainsoft.Web.Configuration\MainsoftWebSectionGroup.cs" />\r
-    <Compile Include="Mainsoft.Web.Configuration\PagesSection.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
index 6f5d31f6a52575ce3c2909212acf5961fbd39fcf..a9610f239c370c8fce0ce666b39e40cec19a8c08 100644 (file)
@@ -18,7 +18,6 @@ basic_SUBDIRS := \
        System.ComponentModel.Composition.4.5 \
        System.Numerics \
        System.Xml.Linq \
-       System.Runtime.InteropServices.RuntimeInformation \
        Mono.Cecil \
        $(MCS_MODE_dirs) \
        ../tools/cil-stringreplacer
@@ -33,7 +32,6 @@ build_SUBDIRS :=  \
        System.ComponentModel.Composition.4.5 \
        System.Numerics \
        System.Xml.Linq \
-       System.Runtime.InteropServices.RuntimeInformation \
        System.IO.Compression \
        System.Drawing                  \
        Mono.Cecil \
@@ -83,9 +81,6 @@ mobile_common_dirs := \
        System.Xml.Serialization \
        Mono.CSharp     \
        Microsoft.CSharp \
-       System.Runtime.InteropServices.RuntimeInformation       \
-       System.Reflection.DispatchProxy \
-       System.Xml.XPath.XmlDocument \
        System.Reflection.Context       \
        System.Net.Http.WinHttpHandler
 
@@ -179,7 +174,6 @@ xammac_4_5_dirs := \
        System.Data.Linq                \
        System.Net.Http \
        System.Net.Http.WebRequest \
-       System.Runtime.InteropServices.RuntimeInformation \
        System.Reflection.Context       \
        System.Net.Http.WinHttpHandler  \
        $(pcl_facade_dirs)
@@ -265,8 +259,7 @@ net_4_x_dirs := \
        System.Net.Http.Formatting \
        System.Web.Http \
        System.Web.Http.SelfHost \
-       System.Web.Http.WebHost \
-       System.Runtime.InteropServices.RuntimeInformation
+       System.Web.Http.WebHost
 
 # These are the subdirs which depends on libs in net_4_x_dirs
 # or have proper dependencies between each other
@@ -401,7 +394,7 @@ monolite_dir := monolite/$(MONO_CORLIB_VERSION)
 
 # Files needed to bootstrap C# compiler
 build_files = mscorlib.dll System.dll System.Xml.dll Mono.Security.dll System.Core.dll System.Security.dll System.Configuration.dll \
-       System.Numerics.dll System.Xml.Linq.dll System.Runtime.InteropServices.RuntimeInformation.dll \
+       System.Numerics.dll System.Xml.Linq.dll \
        Facades/System.Collections.Concurrent.dll Facades/System.Linq.dll Facades/System.Runtime.dll Facades/System.Collections.dll     \
        Facades/System.Reflection.Extensions.dll Facades/System.Text.Encoding.Extensions.dll Facades/System.Diagnostics.Debug.dll \
        Facades/System.Reflection.Primitives.dll Facades/System.Text.Encoding.dll Facades/System.Diagnostics.Tools.dll Facades/System.Reflection.dll \
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_3_5.csproj b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_3_5.csproj
deleted file mode 100644 (file)
index e7b4ffd..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9DEA0C0A-BF6D-4C05-B3C5-1429F70A6FF5}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_3_5</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Engine</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\..\tools\xbuild\SolutionParser.cs" />\r
-    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
-    <Compile Include="..\Microsoft.Build.Framework\Mono.XBuild.Framework\AssemblyLoadInfo.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\ReservedNameUtils.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BatchingImplBase.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildChoose.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildEngine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItem.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroupCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildProperty.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroupCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildSettings.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItem.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItemGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskPropertyGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildWhen.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ChangeType.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ColorResetter.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ColorSetter.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionAndExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionFactorExpresion.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionFunctionExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionNotExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionOrExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionParser.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionRelationalExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionTokenizer.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConsoleLogger.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Engine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\EventSource.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Expression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionEvaluationException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionParseException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\FileLogger.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\GroupingCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\IBuildTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Import.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ImportCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ImportedProject.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\InternalLoggerException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\InvalidProjectFileException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\IReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ItemReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\LogExtensions.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\MetadataReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Project.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ProjectLoadSettings.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\PropertyPosition.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\PropertyReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Target.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TargetBatchingImpl.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TargetCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskBatchingImpl.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskDatabase.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskEngine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Token.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Toolset.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ToolsetCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ToolsetDefinitionLocations.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UnknownToolsVersionException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UsingTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UsingTaskCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Utilities.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\WriteHandler.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_3_5.csproj">\r
-      <Project>{88FC8C2C-9157-41EB-A47C-981B2205ED7E}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_3_5</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_3_5.csproj">\r
-      <Project>{C3F8A358-9DA1-423C-8466-58AB30893EB0}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_3_5</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_3_5.csproj b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_3_5.csproj
deleted file mode 100644 (file)
index 64d0559..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7721C784-CEB1-4817-BF8F-228A94CB124D}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Microsoft.Build.Engine-tests-net_3_5</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Engine_test_net_3_5</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\Microsoft.Build.Tasks\Test\Microsoft.Build.Tasks\TestMessageLogger.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildChooseTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemGroupCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemGroupTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyGroupCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyGroupTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildTaskTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ConsoleLoggerTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\Consts.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\EngineTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ImportCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ImportTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\InternalLoggerExceptionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\InvalidProjectFileExceptionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ProjectTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TargetCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TargetTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TestNamespaceManager.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UsingTaskCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UsingTaskTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UtilitiesTest.cs" />\r
-    <Compile Include="Test\various\Build.cs" />\r
-    <Compile Include="Test\various\Conditions.cs" />\r
-    <Compile Include="Test\various\DefaultTasks.cs" />\r
-    <Compile Include="Test\various\EvaluationOrder.cs" />\r
-    <Compile Include="Test\various\Items.cs" />\r
-    <Compile Include="Test\various\ProjectElement.cs" />\r
-    <Compile Include="Test\various\Properties.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_3_5\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Engine\Microsoft.Build.Engine-net_3_5.csproj">\r
-      <Project>{9DEA0C0A-BF6D-4C05-B3C5-1429F70A6FF5}</Project>\r
-      <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_3_5</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_3_5.csproj">\r
-      <Project>{88FC8C2C-9157-41EB-A47C-981B2205ED7E}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_3_5</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_3_5.csproj">\r
-      <Project>{C3F8A358-9DA1-423C-8466-58AB30893EB0}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_3_5</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 7082da4ac4e8640e3d77c643d49364e775f7b5b8..ca9ff8dac12e9d64ee82aa052f36a0a562fa324a 100644 (file)
@@ -49,6 +49,7 @@
   </PropertyGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <ItemGroup>\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\ArgumentObject.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Binder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\BinderHelper.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\CSharpArgumentInfo.cs" />\r
@@ -81,6 +82,7 @@
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Errors\MessageID.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Errors\UserStringBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\ExpressionTreeCallRewriter.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\ICSharpBinder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\ICSharpInvokeOrInvokeMemberBinder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\ResetBindException.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\RuntimeBinder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\RuntimeBinderInternalCompilerException.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Binding\Better.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Binding\ErrorReporting.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BindingContextBase.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BindingContexts.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BindingContext.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BindingFlag.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BinOpArgInfo.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BinOpKind.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\BinOpSig.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\CandidateFunctionMember.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\ConstVal.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\ConstValFactory.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Conversion.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Conversions.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\COperators.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\GroupToArgsBinderResult.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\InputFile.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\ITypeOrNamespace.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\LangCompiler.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MemberLookup.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MemberLookupResults.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MetadataToken.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MethodIterator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MethodKind.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\MethodTypeInferrer.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\NameGenerator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Nullable.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\NullableLift.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\OriginalExpressions.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\PredefinedAttributes.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\PredefinedMembers.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\SemanticChecker.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\SubstitutionContext.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Event.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\EXPR.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\ExpressionIterator.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\ExprOperator.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\ExprWithType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Field.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\FieldInfo.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\HoistedLocal.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\IExprWithArgs.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\IExprWithObject.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\List.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\LocalVariable.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\MemberGroup.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Return.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Statement.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Temporary.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\This.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\TypeArguments.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\TypeOf.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\TypeOrNamespace.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\UnaryOperator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\UnboundAnonymousFunction.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\Tree\UserDefinedConversion.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Semantics\WithType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\SpecialNames.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\SymbolTable.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Syntax\KnownName.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Syntax\NameManager.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Syntax\Names.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Microsoft.CSharp\src\Microsoft\CSharp\RuntimeBinder\Syntax\NameTable.cs" />\r
index 96568b47086a250a16e207c7412796ff9a4a55a8..76f1c417a02f400a9c9318712cda76b030df122c 100644 (file)
@@ -4,6 +4,7 @@ Assembly/AssemblyInfo.cs
 
 corefx/SR.cs
 
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ArgumentObject.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Binder.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/BinderHelper.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/CSharpArgumentInfo.cs
@@ -36,6 +37,7 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/MessageID.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/UserStringBuilder.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ExpressionTreeCallRewriter.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ICSharpBinder.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ICSharpInvokeOrInvokeMemberBinder.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ResetBindException.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/RuntimeBinder.cs
@@ -45,15 +47,13 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/RuntimeBinderInternalCompilerException.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Binding/Better.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Binding/ErrorReporting.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BindingContextBase.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BindingContexts.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BindingContext.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BindingFlag.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BinOpArgInfo.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BinOpKind.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/BinOpSig.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/CandidateFunctionMember.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ConstVal.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ConstValFactory.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversion.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversions.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/COperators.cs
@@ -74,20 +74,15 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/GroupToArgsBinderResult.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ImplicitConversion.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/InputFile.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ITypeOrNamespace.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/LangCompiler.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MemberLookup.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MemberLookupResults.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MetadataToken.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MethodIterator.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MethodKind.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/MethodTypeInferrer.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/NameGenerator.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/NullableLift.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Operators.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/OriginalExpressions.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/PredefinedAttributes.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/PredefinedMembers.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/SemanticChecker.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/SubstitutionContext.cs
@@ -135,9 +130,13 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Event.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/EXPR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/ExpressionIterator.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/ExprOperator.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/ExprWithType.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Field.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/FieldInfo.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/HoistedLocal.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/IExprWithArgs.cs
+../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/IExprWithObject.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/List.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/LocalVariable.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/MemberGroup.cs
@@ -149,10 +148,8 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Return.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Statement.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Temporary.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/This.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/TypeArguments.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/TypeOf.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/TypeOrNamespace.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/UnaryOperator.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/UnboundAnonymousFunction.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/UserDefinedConversion.cs
@@ -186,7 +183,6 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/WithType.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/SpecialNames.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/SymbolTable.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Syntax/KnownName.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Syntax/NameManager.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Syntax/Names.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Syntax/NameTable.cs
diff --git a/mcs/class/Mono.C5/C5.sln b/mcs/class/Mono.C5/C5.sln
deleted file mode 100644 (file)
index f6add3c..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00\r
-# Visual Studio 2010\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C5", "C5\C5.csproj", "{D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F} = {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit", "nunit\nunit.csproj", "{08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "docNet", "docNet\docNet.csproj", "{42811A81-6A99-4C7A-A6DA-DF104C767B72}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserGuideExamples", "UserGuideExamples\UserGuideExamples.csproj", "{B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PreProcess", "PreProcess\PreProcess.csproj", "{6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Debug|Mixed platforms = Debug|Mixed platforms\r
-               Debug|Win32 = Debug|Win32\r
-               DebugSnk|Any CPU = DebugSnk|Any CPU\r
-               DebugSnk|Mixed platforms = DebugSnk|Mixed platforms\r
-               DebugSnk|Win32 = DebugSnk|Win32\r
-               Release|Any CPU = Release|Any CPU\r
-               Release|Mixed platforms = Release|Mixed platforms\r
-               Release|Win32 = Release|Win32\r
-               ReleaseSnk|Any CPU = ReleaseSnk|Any CPU\r
-               ReleaseSnk|Mixed platforms = ReleaseSnk|Mixed platforms\r
-               ReleaseSnk|Win32 = ReleaseSnk|Win32\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Mixed platforms.Build.0 = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Debug|Win32.Build.0 = Debug|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Any CPU.ActiveCfg = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Any CPU.Build.0 = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Mixed platforms.ActiveCfg = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Mixed platforms.Build.0 = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Win32.ActiveCfg = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.DebugSnk|Win32.Build.0 = DebugSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Release|Mixed platforms.ActiveCfg = Release|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Release|Mixed platforms.Build.0 = Release|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.Release|Win32.ActiveCfg = Release|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Any CPU.ActiveCfg = ReleaseSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Any CPU.Build.0 = ReleaseSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Mixed platforms.ActiveCfg = ReleaseSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Mixed platforms.Build.0 = ReleaseSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Win32.ActiveCfg = ReleaseSnk|Any CPU\r
-               {D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}.ReleaseSnk|Win32.Build.0 = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Mixed platforms.Build.0 = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Debug|Win32.Build.0 = Debug|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Any CPU.ActiveCfg = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Any CPU.Build.0 = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Mixed platforms.ActiveCfg = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Mixed platforms.Build.0 = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Win32.ActiveCfg = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.DebugSnk|Win32.Build.0 = DebugSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Release|Mixed platforms.ActiveCfg = Release|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Release|Mixed platforms.Build.0 = Release|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.Release|Win32.ActiveCfg = Release|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Any CPU.ActiveCfg = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Any CPU.Build.0 = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Mixed platforms.ActiveCfg = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Mixed platforms.Build.0 = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Win32.ActiveCfg = ReleaseSnk|Any CPU\r
-               {08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}.ReleaseSnk|Win32.Build.0 = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Mixed platforms.Build.0 = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Debug|Win32.Build.0 = Debug|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Any CPU.ActiveCfg = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Any CPU.Build.0 = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Mixed platforms.ActiveCfg = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Mixed platforms.Build.0 = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Win32.ActiveCfg = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.DebugSnk|Win32.Build.0 = DebugSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Release|Mixed platforms.ActiveCfg = Release|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Release|Mixed platforms.Build.0 = Release|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.Release|Win32.ActiveCfg = Release|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Any CPU.ActiveCfg = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Any CPU.Build.0 = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Mixed platforms.ActiveCfg = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Mixed platforms.Build.0 = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Win32.ActiveCfg = ReleaseSnk|Any CPU\r
-               {42811A81-6A99-4C7A-A6DA-DF104C767B72}.ReleaseSnk|Win32.Build.0 = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Mixed platforms.Build.0 = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Debug|Win32.Build.0 = Debug|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Any CPU.ActiveCfg = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Any CPU.Build.0 = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Mixed platforms.ActiveCfg = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Mixed platforms.Build.0 = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Win32.ActiveCfg = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.DebugSnk|Win32.Build.0 = DebugSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Release|Mixed platforms.ActiveCfg = Release|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Release|Mixed platforms.Build.0 = Release|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.Release|Win32.ActiveCfg = Release|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Any CPU.ActiveCfg = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Any CPU.Build.0 = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Mixed platforms.ActiveCfg = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Mixed platforms.Build.0 = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Win32.ActiveCfg = ReleaseSnk|Any CPU\r
-               {B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}.ReleaseSnk|Win32.Build.0 = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Mixed platforms.Build.0 = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Debug|Win32.Build.0 = Debug|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Any CPU.ActiveCfg = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Any CPU.Build.0 = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Mixed platforms.ActiveCfg = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Mixed platforms.Build.0 = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Win32.ActiveCfg = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.DebugSnk|Win32.Build.0 = DebugSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Release|Mixed platforms.ActiveCfg = Release|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Release|Mixed platforms.Build.0 = Release|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.Release|Win32.ActiveCfg = Release|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Any CPU.ActiveCfg = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Any CPU.Build.0 = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Mixed platforms.ActiveCfg = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Mixed platforms.Build.0 = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Win32.ActiveCfg = ReleaseSnk|Any CPU\r
-               {6222CA51-7D1A-4D42-B6A7-B5CE9608C18F}.ReleaseSnk|Win32.Build.0 = ReleaseSnk|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
index aedb6007a130a2c6349b56985bccca665dba9837..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1 +0,0 @@
-C5.csproj -crlf
diff --git a/mcs/class/Mono.C5/C5/C5.csproj b/mcs/class/Mono.C5/C5/C5.csproj
deleted file mode 100644 (file)
index 111b355..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <RootNamespace>C5</RootNamespace>\r
-    <NoStandardLibraries>false</NoStandardLibraries>\r
-    <AssemblyName>C5</AssemblyName>\r
-    <SignAssembly>false</SignAssembly>\r
-    <AssemblyOriginatorKeyFile>\r
-    </AssemblyOriginatorKeyFile>\r
-    <FileUpgradeFlags>\r
-    </FileUpgradeFlags>\r
-    <UpgradeBackupLocation>\r
-    </UpgradeBackupLocation>\r
-    <OldToolsVersion>3.5</OldToolsVersion>\r
-    <StartupObject>\r
-    </StartupObject>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <DocumentationFile>c5.xml</DocumentationFile>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugSnk|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>bin\DebugSnk\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;STRONGNAME</DefineConstants>\r
-    <DebugType>full</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseSnk|AnyCPU' ">\r
-    <OutputPath>bin\ReleaseSnk\</OutputPath>\r
-    <DefineConstants>TRACE;STRONGNAME</DefineConstants>\r
-    <Optimize>true</Optimize>\r
-    <DebugType>pdbonly</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System">\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="arrays\CircularQueue.cs" />\r
-    <Compile Include="arrays\HashedArrayList.cs" />\r
-    <Compile Include="AssemblyInfo.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="Attributes.cs" />\r
-    <Compile Include="Builtin.cs" />\r
-    <Compile Include="Comparer.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="Delegates.cs" />\r
-    <Compile Include="Enums.cs" />\r
-    <Compile Include="Exceptions.cs" />\r
-    <Compile Include="Formatting.cs" />\r
-    <Compile Include="Hashers.cs" />\r
-    <Compile Include="Events.cs" />\r
-    <Compile Include="Collections.cs">\r
-    </Compile>\r
-    <Compile Include="Dictionaries.cs">\r
-    </Compile>\r
-    <Compile Include="Interfaces.cs">\r
-    </Compile>\r
-    <Compile Include="linkedlists\HashedLinkedList.cs" />\r
-    <Compile Include="Random.cs" />\r
-    <Compile Include="Records.cs" />\r
-    <Compile Include="Sorting.cs" />\r
-    <Compile Include="ViewSupport.cs" />\r
-    <Compile Include="MappedEnumerators.cs" />\r
-    <Compile Include="WrappedArray.cs" />\r
-    <Compile Include="Wrappers.cs">\r
-    </Compile>\r
-    <Compile Include="arrays\ArrayList.cs">\r
-    </Compile>\r
-    <Compile Include="arrays\SortedArray.cs">\r
-    </Compile>\r
-    <Compile Include="hashing\HashBag.cs">\r
-    </Compile>\r
-    <Compile Include="hashing\HashDictionary.cs">\r
-    </Compile>\r
-    <Compile Include="hashing\HashTable.cs">\r
-    </Compile>\r
-    <Compile Include="heaps\IntervalHeap.cs">\r
-    </Compile>\r
-    <Compile Include="linkedlists\LinkedList.cs">\r
-    </Compile>\r
-    <Compile Include="trees\RedBlackTreeSet.cs">\r
-    </Compile>\r
-    <Compile Include="trees\RedBlackTreeBag.cs">\r
-    </Compile>\r
-    <Compile Include="trees\RedBlackTreeDictionary.cs">\r
-    </Compile>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />\r
-  <PropertyGroup>\r
-    <PreBuildEvent>"$(SolutionDir)PreProcess\$(OutDir)PreProcess.exe"</PreBuildEvent>\r
-    <PostBuildEvent>\r
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-</Project>
diff --git a/mcs/class/Mono.C5/Test/nunit.csproj b/mcs/class/Mono.C5/Test/nunit.csproj
deleted file mode 100644 (file)
index 0d12790..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{08CBFDEB-A2E2-4F0E-A4E1-B996B05569DE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <StartupObject>\r
-    </StartupObject>\r
-    <RootNamespace>nunit</RootNamespace>\r
-    <NoStandardLibraries>false</NoStandardLibraries>\r
-    <AssemblyName>nunit</AssemblyName>\r
-    <FileUpgradeFlags>\r
-    </FileUpgradeFlags>\r
-    <UpgradeBackupLocation>\r
-    </UpgradeBackupLocation>\r
-    <OldToolsVersion>3.5</OldToolsVersion>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>.\bin\Debug\</OutputPath>\r
-    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <WarningLevel>4</WarningLevel>\r
-    <IncrementalBuild>false</IncrementalBuild>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">\r
-    <DebugSymbols>false</DebugSymbols>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>.\bin\Release\</OutputPath>\r
-    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <WarningLevel>4</WarningLevel>\r
-    <IncrementalBuild>false</IncrementalBuild>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)' == 'DebugSnk' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>bin\DebugSnk\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)' == 'ReleaseSnk' ">\r
-    <OutputPath>bin\ReleaseSnk\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <Optimize>true</Optimize>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\C5\C5.csproj">\r
-      <Project>{D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}</Project>\r
-      <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>\r
-      <Name>C5</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="arrays\CircularQueueTest.cs" />\r
-    <Compile Include="AssemblyInfo.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="BasesTest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="InterfacesTest.cs" />\r
-    <Compile Include="Records.cs" />\r
-    <Compile Include="Sorting.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="SupportClasses.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="arrays\ArrayListTest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="arrays\HashedArrayListTest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="arrays\SortedArrayTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="hashing\HashBagTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="hashing\HashDictionaryTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="hashing\HashTableTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="heaps\HeapTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="linkedlists\HashedLinkedListTest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="linkedlists\LinkedListTest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="templates\Clone.cs" />\r
-    <Compile Include="templates\Events.cs" />\r
-    <Compile Include="templates\GenericCollectionTester.cs" />\r
-    <Compile Include="templates\List.cs" />\r
-    <Compile Include="trees\Bag.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="trees\Dictionary.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="trees\RedBlackTreeSetTests.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="WrappersTest.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <AppDesigner Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Reference Include="nunit.framework, Version=2.5.9.10348, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>C:\Program Files\NUnit 2.5.9\bin\net-2.0\framework\nunit.framework.dll</HintPath>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-    </PreBuildEvent>\r
-    <PostBuildEvent>\r
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-</Project>
diff --git a/mcs/class/Mono.C5/UserGuideExamples/UserGuideExamples.csproj b/mcs/class/Mono.C5/UserGuideExamples/UserGuideExamples.csproj
deleted file mode 100644 (file)
index 9d9fac6..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{B2A29FF2-A5C5-4F07-8CE7-FF5D744D7562}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>UserGuideExamples</RootNamespace>
-    <AssemblyName>UserGuideExamples</AssemblyName>
-    <WarningLevel>4</WarningLevel>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>2.0</OldToolsVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>.\bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugSymbols>false</DebugSymbols>
-    <Optimize>true</Optimize>
-    <OutputPath>.\bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugSnk|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\DebugSnk\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseSnk|AnyCPU' ">
-    <OutputPath>bin\ReleaseSnk\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="AnagramHashBag.cs" />
-    <Compile Include="Anagrams.cs" />
-    <Compile Include="AnagramStrings.cs" />
-    <Compile Include="AnagramTreeBag.cs" />
-    <None Include="Antipatterns.cs" />
-    <Compile Include="BipartiteMatching.cs" />
-    <Compile Include="Cloning.cs" />
-    <Compile Include="CollectionCollection.cs" />
-    <Compile Include="CollectionSanity.cs" />
-    <Compile Include="EventPatterns.cs" />
-    <Compile Include="GettingStarted.cs" />
-    <Compile Include="Graph.cs" />
-    <Compile Include="Fileindex.cs" />
-    <Compile Include="GCHForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="GConvexHull.cs" />
-    <Compile Include="GNfaToDfa.cs" />
-    <Compile Include="HashCodes.cs" />
-    <Compile Include="Jobqueue.cs" />
-    <Compile Include="KeywordRecognition.cs" />
-    <Compile Include="ListPatterns.cs" />
-    <Compile Include="Locking.cs" />
-    <Compile Include="MultiCollection.cs" />
-    <Compile Include="MultiDictionary.cs" />
-    <Compile Include="PointLocation.cs" />
-    <Compile Include="RandomSelection.cs" />
-    <Compile Include="ReadOnlyPatterns.cs" />
-    <Compile Include="Sets.cs" />
-    <Compile Include="SortedIterationPatterns.cs" />
-    <Compile Include="SortingPermutation.cs" />
-    <Compile Include="TestSortedArray.cs" />
-    <Compile Include="ThisFun.cs" />
-    <Compile Include="Toposort.cs" />
-    <Compile Include="TreeTraversal.cs" />
-    <Compile Include="Try.cs" />
-    <Compile Include="ViewPatterns.cs" />
-    <Compile Include="Views.cs" />
-    <Compile Include="WrappedArray.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="GCHForm.resx">
-      <DependentUpon>GCHForm.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\C5\C5.csproj">
-      <Project>{D70489CD-ABDA-48FF-BD1E-BE3F7495BE71}</Project>
-      <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
-      <Name>C5</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Makefile" />
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
-</Project>
diff --git a/mcs/class/Mono.C5/doc/docNet.csproj b/mcs/class/Mono.C5/doc/docNet.csproj
deleted file mode 100644 (file)
index e69de29..0000000
index e09132e27985b8c67eb2f725f4bdb5f120c1b7b9..af3e1716ca42f92e05e6976a0d5dffb9ea8dc5fa 100644 (file)
@@ -1236,6 +1236,8 @@ namespace Mono.Debugger.Soft
                                        bool res = ReceivePacket ();
                                        if (!res)
                                                break;
+                               } catch (ThreadAbortException) {
+                                       break;
                                } catch (Exception ex) {
                                        if (!closed) {
                                                Console.WriteLine (ex);
index 0098be9f45ae909770aa60671c74b1e8c3a790ba..4982e8044770054d00257db4ad577db6263b326a 100644 (file)
@@ -38,6 +38,10 @@ namespace Mono.Security.Interface
 {
        public interface IMonoSslStream : IDisposable
        {
+               SslStream SslStream {
+                       get;
+               }
+
                void AuthenticateAsClient (string targetHost);
 
                void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SSA.SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
index 0d7a7512d6a758659c5d10268874eaae2e726b02..05f507a852eb93b0436aec44faf77e6ce190d270 100644 (file)
@@ -122,6 +122,10 @@ namespace Mono.Security.Interface
                        Stream innerStream, bool leaveInnerStreamOpen,
                        MonoTlsSettings settings = null);
 
+               internal abstract IMonoSslStream CreateSslStreamInternal (
+                       SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen,
+                       MonoTlsSettings settings);
+
 #endregion
 
 #region Native Certificate Implementation
index 6e273fec5f1f3c0926fbe700803b670252adc7a6..1ed77bbebdf94332edfa5155c83650c9027f5f46 100644 (file)
@@ -161,20 +161,9 @@ namespace Mono.Security.Interface
                        return (IMonoSslStream)NoReflectionHelper.GetMonoSslStream (stream);
                }
 
-               #endregion
-
-               #region Obsolete APIs
-
-               [Obsolete ("Use GetProvider() instead.")]
-               public static MonoTlsProvider GetDefaultProvider ()
-               {
-                       return GetProvider ();
-               }
-
-               [Obsolete ("Use Initialize(string provider) instead.")]
-               public static void SetDefaultProvider (string name)
+               public static IMonoSslStream GetMonoSslStream (HttpListenerContext context)
                {
-                       Initialize (name);
+                       return (IMonoSslStream)NoReflectionHelper.GetMonoSslStream (context);
                }
 
                #endregion
diff --git a/mcs/class/System.ComponentModel.Composition.4.5/src/ComponentModel/ComponentModel.csproj b/mcs/class/System.ComponentModel.Composition.4.5/src/ComponentModel/ComponentModel.csproj
deleted file mode 100644 (file)
index 8290238..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">\r
-  <PropertyGroup>\r
-    <ProductVersion>10.0.20729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1BBA5101-D4F0-48B8-A5D6-7B23A099DCE3}</ProjectGuid>\r
-    <ProjectTypeGuids></ProjectTypeGuids>\r
-    <OutputType>Library</OutputType>\r
-    <AssemblyName>System.ComponentModel.Composition.CodePlex</AssemblyName>\r
-    <RootNamespace>Microsoft.Internal</RootNamespace>\r
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
-</PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>..\..\build\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;CLR40;USE_CODEPLEX_KEY;FEATURE_LEGACYSURFACEAREA;FEATURE_SERIALIZATION;FEATURE_FILEIO;FEATURE_LEGACYCOMPONENTMODEL;FEATURE_CAS_APTCA;FEATURE_SLIMLOCK;FEATURE_MISSINGCONTRACTARGUMENTVALIDATOR;FEATURE_MISSINGREADONLYDICTIONARY;FEATURE_REFLECTIONCONTEXT;FEATURE_CUSTOMREFLECTIONCONTEXT;FEATURE_INTERNAL_REFLECTIONCONTEXT;FEATURE_REFLECTIONONLY;FEATURE_REFLECTIONEMIT;FEATURE_REFLECTIONFILEIO;FEATURE_ADVANCEDREFLECTION;FEATURE_TRACING;FEATURE_OBSERVABLECOLLECTIONS;FEATURE_ADVANCEDCOLLECTIONS;FEATURE_COMINTEROP;FEATURE_APPDOMAINCONTROL;MEF_FEATURE_MVC;MEF_FEATURE_REGISTRATION;</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <NoWarn>0414;1570;1572;1573;1591;1699;3021</NoWarn>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>..\..\build\ret\</OutputPath>\r
-    <DefineConstants>TRACE;CLR40;USE_CODEPLEX_KEY;FEATURE_LEGACYSURFACEAREA;FEATURE_SERIALIZATION;FEATURE_FILEIO;FEATURE_LEGACYCOMPONENTMODEL;FEATURE_CAS_APTCA;FEATURE_SLIMLOCK;FEATURE_MISSINGCONTRACTARGUMENTVALIDATOR;FEATURE_MISSINGREADONLYDICTIONARY;FEATURE_REFLECTIONCONTEXT;FEATURE_CUSTOMREFLECTIONCONTEXT;FEATURE_INTERNAL_REFLECTIONCONTEXT;FEATURE_REFLECTIONONLY;FEATURE_REFLECTIONEMIT;FEATURE_REFLECTIONFILEIO;FEATURE_ADVANCEDREFLECTION;FEATURE_TRACING;FEATURE_OBSERVABLECOLLECTIONS;FEATURE_ADVANCEDCOLLECTIONS;FEATURE_COMINTEROP;FEATURE_APPDOMAINCONTROL;MEF_FEATURE_MVC;MEF_FEATURE_REGISTRATION;</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <NoWarn>0414;1570;1572;1573;1591;1699;3021</NoWarn>\r
-  </PropertyGroup>\r
-  <PropertyGroup>\r
-    <SignAssembly>true</SignAssembly>\r
-    <AssemblyOriginatorKeyFile>CodePlexKey.snk</AssemblyOriginatorKeyFile>\r
-  </PropertyGroup>\r
-\r
-    <ItemGroup>\r
-    <Compile Include="AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft\Internal\Assumes.cs" />\r
-    <Compile Include="Microsoft\Internal\AttributeServices.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.CollectionOfObject.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\EnumerableCardinality.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\WeakReferenceCollection.cs" />\r
-    <Compile Include="Microsoft\Internal\ContractServices.cs" />\r
-    <Compile Include="Microsoft\Internal\Assumes.InternalErrorException.cs" />\r
-    <Compile Include="Microsoft\Internal\GenerationServices.cs" />\r
-    <Compile Include="Microsoft\Internal\LazyServices.cs" />\r
-    <Compile Include="Microsoft\Internal\Lock.cs" />\r
-    <Compile Include="Microsoft\Internal\Lock.Reader.cs" />\r
-    <Compile Include="Microsoft\Internal\Lock.Writer.cs" />\r
-    <Compile Include="Microsoft\Internal\Requires.cs" />\r
-    <Compile Include="Microsoft\Internal\Runtime\Serialization\SerializationServices.cs" />\r
-    <Compile Include="Microsoft\Internal\StringComparers.cs" />\r
-    <Compile Include="Microsoft\Internal\ReflectionServices.cs" />\r
-    <Compile Include="Microsoft\Internal\ReflectionInvoke.cs" />\r
-    <Compile Include="Strings.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DesignTime>True</DesignTime>\r
-      <DependentUpon>Strings.resx</DependentUpon>\r
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>\r
-    </Compile>\r
-    <Compile Include="ContractAdditions.cs" />\r
-    <Compile Include="SuppressMessages.cs" />\r
-    <Compile Include="SuppressMessagesBaselined.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\AttributedModelServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedModelDiscovery.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedPartCreationInfo.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedExportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CatalogReflectionContextAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionExceptionDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTrace.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceId.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ConstraintServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionContractMismatchException.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionError.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionResultOfT.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.FactoryExport.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.PartCreatorExport.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeFactoryExport.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeManager.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionContainer.CompositionServiceShim.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionLock.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceSource.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceWriter.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceSourceTraceWriter.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\SilverlightTraceWriter.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportSourceImportDefinitionHelpers.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportCardinalityMismatchExceptionDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\FilteredCatalog.DependenciesTraversal.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\FilteredCatalog.DependentsTraversal.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\FilteredCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\FilteredCatalog.Traversal.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\FilteredCatalog.IComposablePartCatalogTraversal.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ScopingExtensions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\InheritedExportAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportServices.DisposableLazy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicComposition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicCompositionExtensions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionConstants.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionOptions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogChangeProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartExceptionDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionScopeDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionScopeDefinitionDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\IPartCreatorImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\PrimitivesServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ExportfactoryCreator.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ExportfactoryCreator.LifetimeContext.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\GenericServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\GenericSpecializationPartCreationInfo.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorParameterImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorMemberImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\IAttributedImport.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportCardinalityMismatchException.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportManyAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ErrorBuilder.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExceptionBuilder.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportCardinalityCheckResult.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportFactoryOfT.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportFactoryOfTTMetadata.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportLifetimeContextOfT.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateExportProvider.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalogDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogExport.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExtensions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogChangeEventArgs.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogCollection.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartExportProvider.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.SingleExportComposablePart.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionContainer.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionService.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.GetExportOverrides.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportsChangeEventArgs.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.EngineContext.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.PartManager.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\INotifyComposablePartCatalogChanged.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\TypeCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportingConstructorAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\IPartImportsSatisfiedNotification.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\MetadataServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePart.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalogDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartException.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElement.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementExtensions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ContractBasedImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\Export.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportedDelegate.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ICompositionElement.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportCardinality.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Primitives\SerializableCompositionElement.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\DisposableReflectionComposablePart.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\IReflectionPartCreationInfo.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\LazyMemberInfo.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItemType.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\MetadataViewProvider.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\MetadataViewImplementationAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\PartCreationPolicyAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\PartMetadataAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\PartNotDiscoverableAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionExtensions.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingParameter.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingItem.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ExportingMember.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingMember.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportType.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePart.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePartDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameterImportDefinition.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionWritableMember.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\MetadataViewGenerator.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionField.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMember.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameter.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionProperty.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionType.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItem.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMethod.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ChangeRejectedException.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionException.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorId.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CompositionResult.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ContractNameServices.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\CreationPolicy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ExportMetadataAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ICompositionService.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportAttribute.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\ImportSource.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\MetadataAttributeAttribute.cs" />\r
-    <Compile Include="System\LazyOfTTMetadata.cs" />\r
-    <Compile Include="PlatformWorkarounds.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionary.cs" />\r
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionaryDebuggerProxy.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\ApplicationCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.cs" />\r
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs" />\r
-  </ItemGroup>\r
-\r
-    <ItemGroup>\r
-    <Compile Include="VersionInfo.cs" />\r
-    <None Include="CodePlexKey.snk" />\r
-  </ItemGroup>\r
-\r
-    <ItemGroup>\r
-    <Reference Include="mscorlib" />\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core" />\r
-    <Reference Include="mscorlib" />\r
-  </ItemGroup>\r
-\r
-    <ItemGroup>\r
-    <ProjectReference Include="..\InternalReflectionContext\System.Reflection.Context.csproj">\r
-      <Project>{0900B66B-65A1-4653-B3FD-C9A7E76297F1}</Project>\r
-      <Name>System.Reflection.Context.CodePlex</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-\r
-    <ItemGroup>\r
-    <EmbeddedResource Include="Strings.resx">\r
-      <SubType>Designer</SubType>\r
-      <Generator>ResXFileCodeGenerator</Generator>\r
-      <LastGenOutput>Strings.Designer.cs</LastGenOutput>\r
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-</Project>
index 6dd8ae932039768faa78acd7e55620fc9889e878..edd22f0273681f87fb01023c82215fdd4b266c0a 100644 (file)
     <Compile Include="..\..\..\external\corefx\src\Common\src\System\Collections\Generic\LargeArrayBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Common\src\System\Collections\Generic\ReferenceEqualityComparer.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Common\src\System\Collections\Generic\SparseArrayBuilder.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\CacheDict.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\ContractUtils.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\ContractUtils.RequiresArrayRange.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\Error.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\ExpressionUtils.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\Strings.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\TypeExtensions.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Dynamic\Utils\TypeUtils.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Linq\Expressions\Compiler\AssemblyGen.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Linq\Expressions\Compiler\DelegateHelpers.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Linq\Expressions\Compiler\DelegateHelpers.Generated.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\Common\src\System\NotImplemented.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Collections\src\System\Collections\Generic\BitHelper.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Collections\src\System\Collections\Generic\HashSet.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Collections\src\System\Collections\Generic\HashSetEqualityComparer.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Collections\src\System\Collections\Generic\ICollectionDebugView.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\*.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\CacheDict.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\CachedReflectionInfo.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\CollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\ContractUtils.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\EmptyReadOnlyCollection.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\ExpressionUtils.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Dynamic\Utils\ExpressionVisitorUtils.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Common\CachedReflectionInfo.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Common\ConstantCheck.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\AnalyzedTree.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\AssemblyGen.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\BoundConstants.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\CompilerScope.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\CompilerScope.Storage.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\DelegateHelpers.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\DelegateHelpers.Generated.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\DelegateHelpers.netstandard.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\HoistedLocals.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\ILGen.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Linq.Expressions\src\System\Linq\Expressions\Compiler\KeyedStack.cs" />\r
index 1c43593fb487b0874e60959e780cd6011e07ef04..b521fe7b41c251c2dc89474990f179692f499c79 100644 (file)
@@ -111,7 +111,6 @@ System.Security.Cryptography/SHA512CryptoServiceProvider.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Common/ArrayBuilderExtensions.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Common/ConstantCheck.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/DelegateHelpers.Generated.cs
-../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/DelegateHelpers.netstandard.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/HoistedLocals.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/TypeInfoExtensions.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Runtime/CompilerServices/CallSite.cs
@@ -281,14 +280,11 @@ System.Security.Cryptography/SHA512CryptoServiceProvider.cs
 ../../../external/corefx/src/Common/src/System/Collections/Generic/LargeArrayBuilder.cs
 ../../../external/corefx/src/Common/src/System/Collections/Generic/SparseArrayBuilder.cs
 
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/CacheDict.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/ContractUtils.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/ContractUtils.RequiresArrayRange.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/Error.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/ExpressionUtils.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/Strings.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/TypeExtensions.cs
-../../../external/corefx/src/Common/src/System/Dynamic/Utils/TypeUtils.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/CacheDict.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/ContractUtils.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/ExpressionUtils.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeUtils.cs
 
-../../../external/corefx/src/Common/src/System/Linq/Expressions/Compiler/DelegateHelpers.cs
-../../../external/corefx/src/Common/src/System/Linq/Expressions/Compiler/DelegateHelpers.Generated.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/DelegateHelpers.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/DelegateHelpers.Generated.cs
index 7dc422513068b28226e989df350e806580d6947d..c48326168a0cb85d075e4368a5256e554d420d35 100644 (file)
@@ -6,7 +6,7 @@
 
 ../../../external/corefx/src/Common/src/System/Collections/Generic/ReferenceEqualityComparer.cs
 
-../../../external/corefx/src/Common/src/System/Linq/Expressions/Compiler/AssemblyGen.cs
+../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/AssemblyGen.cs
 
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/AnalyzedTree.cs
 ../../../external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/BoundConstants.cs
diff --git a/mcs/class/System.Data.DataSetExtensions/Test/System.Data.DataSetExtensions.Test.csproj b/mcs/class/System.Data.DataSetExtensions/Test/System.Data.DataSetExtensions.Test.csproj
deleted file mode 100644 (file)
index 1bf1732..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7C7649EB-F476-4D07-B9DA-896C97148DE8}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>Test2</RootNamespace>\r
-    <AssemblyName>Test2</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Xml.Linq">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data.DataSetExtensions">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="System.Data\DataRowComparerTest.cs" />\r
-    <Compile Include="System.Data\DataTableExtensionsTest.cs" />\r
-    <Compile Include="System.Data\EnumerableRowCollectionTest.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\..\nunit20\framework\nunit.framework.dll20.J2EE.csproj">\r
-      <Project>{ACDA29DB-62AB-4AF8-8862-B3B4FC755BBC}</Project>\r
-      <Name>nunit.framework.dll20.J2EE</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PostBuildEvent>copy $(ProjectDir)\..\..\..\nunit20\\nunit-console\bin\Debug_Java20\*.dll $(TargetDir)\r
-copy $(ProjectDir)\..\..\..\nunit20\\nunit-console\bin\Debug_Java20\*.exe $(TargetDir)</PostBuildEvent>\r
-  </PropertyGroup>\r
-</Project>
diff --git a/mcs/class/System.Data.Services.Client/Client/System.Data.Services.Client.csproj b/mcs/class/System.Data.Services.Client/Client/System.Data.Services.Client.csproj
deleted file mode 100644 (file)
index f9a9702..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D1567C63-4A0D-4E18-A14E-79699B9BFFFF}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>System.Data.Services.Client</RootNamespace>\r
-    <AssemblyName>System.Data.Services.Client</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;TEXTRES_ONLYGETSTRING;ASTORIA_CLIENT;</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE;TEXTRES_ONLYGETSTRING;ASTORIA_CLIENT;</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <TextStringResource Include="System.Data.Services.Client.txt">\r
-      <ResFile>System.Data.Services.Client</ResFile>\r
-      <Sealed>true</Sealed>\r
-      <Parameterize>true</Parameterize>\r
-      <Visibility>internal</Visibility>\r
-      <GenerateResource>true</GenerateResource>\r
-      <FullClassName>System.Data.Services.Client.TextRes</FullClassName>\r
-    </TextStringResource>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Xml.Linq">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-    <Reference Include="WindowsBase">\r
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmContentSerializerBase.cs">\r
-      <Link>System\Data\Services\EpmContentSerializerBase.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmCustomContentSerializer.cs">\r
-      <Link>System\Data\Services\EpmCustomContentSerializer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmCustomContentWriterNodeData.cs">\r
-      <Link>System\Data\Services\EpmCustomContentWriterNodeData.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmSourcePathSegment.cs">\r
-      <Link>System\Data\Services\EpmSourcePathSegment.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmSourceTree.cs">\r
-      <Link>System\Data\Services\EpmSourceTree.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmTargetPathSegment.cs">\r
-      <Link>System\Data\Services\EpmTargetPathSegment.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmTargetTree.cs">\r
-      <Link>System\Data\Services\EpmTargetTree.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\HttpProcessUtility.cs">\r
-      <Link>System\Data\Services\HttpProcessUtility.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Parsing\WebConvert.cs">\r
-      <Link>System\Data\Services\WebConvert.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Providers\EntityPropertyMappingInfo.cs">\r
-      <Link>System\Data\Services\EntityPropertyMappingInfo.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\XmlConstants.cs">\r
-      <Link>System\Data\Services\XmlConstants.cs</Link>\r
-    </Compile>\r
-    <Compile Include="AssemblyAttributes.cs" />\r
-    <Compile Include="Parameterized.System.Data.Services.Client.cs" />\r
-    <Compile Include="System.Data.Services.Client.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\DataServiceExpressionVisitor.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\DataServiceQueryProvider.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\Evaluator.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ExpressionNormalizer.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ExpressionVisitor.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ExpressionWriter.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\FilterQueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\InputBinder.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\InputReferenceExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\NavigationPropertySingletonExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\OrderByQueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ParameterReplacerVisitor.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\PathBox.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ProjectionAnalyzer.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ProjectionQueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ProjectionRewriter.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\QueryComponents.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\QueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ReflectionUtil.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ResourceBinder.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ResourceExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ResourceExpressionType.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\ResourceSetExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\SkipQueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\TakeQueryOptionExpression.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\TypeSystem.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\UriHelper.cs" />\r
-    <Compile Include="System\Data\Services\Client\ALinq\UriWriter.cs" />\r
-    <Compile Include="System\Data\Services\Client\ArraySet.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomContentProperty.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomDataKind.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomEntry.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomFeed.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomMaterializer.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomMaterializerLog.cs" />\r
-    <Compile Include="System\Data\Services\Client\AtomParser.cs" />\r
-    <Compile Include="System\Data\Services\Client\BaseAsyncResult.cs" />\r
-    <Compile Include="System\Data\Services\Client\BatchStream.cs" />\r
-    <Compile Include="System\Data\Services\Client\BatchStreamState.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\BindingEntityInfo.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\BindingGraph.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\BindingObserver.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\BindingUtils.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\DataServiceCollectionOfT.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\DataServiceEntityAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\DataServiceSaveChangesEventArgs.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\EntityChangedParams.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\EntityCollectionChangedParams.cs" />\r
-    <Compile Include="System\Data\Services\Client\Binding\LoadCompletedEventArgs.cs" />\r
-    <Compile Include="System\Data\Services\Client\ChangesetResponse.cs" />\r
-    <Compile Include="System\Data\Services\Client\ClientConvert.cs" />\r
-    <Compile Include="System\Data\Services\Client\ClientType.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceClientException.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceContext.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceEntityAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceKeyAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceProtocolVersion.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceQuery.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceQueryContinuation.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceQueryException.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceQueryOfT.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceRequest.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceRequestArgs.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceRequestException.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceRequestOfT.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceResponse.cs" />\r
-    <Compile Include="System\Data\Services\Client\DataServiceStreamResponse.cs" />\r
-    <Compile Include="System\Data\Services\Client\Descriptor.cs" />\r
-    <Compile Include="System\Data\Services\Client\EntityDescriptor.cs" />\r
-    <Compile Include="System\Data\Services\Client\EntityPropertyMappingAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\EntityStates.cs" />\r
-    <Compile Include="System\Data\Services\Client\Epm\EpmSyndicationContentSerializer.cs" />\r
-    <Compile Include="System\Data\Services\Client\Error.cs" />\r
-    <Compile Include="System\Data\Services\Client\GetReadStreamResult.cs" />\r
-    <Compile Include="System\Data\Services\Client\HasStreamAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\LinkDescriptor.cs" />\r
-    <Compile Include="System\Data\Services\Client\MaterializeFromAtom.cs" />\r
-    <Compile Include="System\Data\Services\Client\MediaEntryAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\MemberAssignmentAnalysis.cs" />\r
-    <Compile Include="System\Data\Services\Client\MergeOption.cs" />\r
-    <Compile Include="System\Data\Services\Client\MimeTypePropertyAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\OpenObject.cs" />\r
-    <Compile Include="System\Data\Services\Client\OpenObjectAttribute.cs" />\r
-    <Compile Include="System\Data\Services\Client\OperationResponse.cs" />\r
-    <Compile Include="System\Data\Services\Client\ProjectionPath.cs" />\r
-    <Compile Include="System\Data\Services\Client\ProjectionPathBuilder.cs" />\r
-    <Compile Include="System\Data\Services\Client\ProjectionPathSegment.cs" />\r
-    <Compile Include="System\Data\Services\Client\ProjectionPlan.cs" />\r
-    <Compile Include="System\Data\Services\Client\ProjectionPlanCompiler.cs" />\r
-    <Compile Include="System\Data\Services\Client\QueryOperationResponseOfT.cs" />\r
-    <Compile Include="System\Data\Services\Client\QueryResponse.cs" />\r
-    <Compile Include="System\Data\Services\Client\QueryResult.cs" />\r
-    <Compile Include="System\Data\Services\Client\ReadingWritingEntityEventArgs.cs" />\r
-    <Compile Include="System\Data\Services\Client\ReferenceEqualityComparer.cs" />\r
-    <Compile Include="System\Data\Services\Client\SaveChangesOptions.cs" />\r
-    <Compile Include="System\Data\Services\Client\SendingRequestEventArgs.cs" />\r
-    <Compile Include="System\Data\Services\Client\Util.cs" />\r
-    <Compile Include="System\Data\Services\Client\WebUtil.cs" />\r
-    <Compile Include="System\Data\Services\Client\XmlUtil.cs" />\r
-    <Compile Include="System\Data\Services\Client\Xml\XmlAtomErrorReader.cs" />\r
-    <Compile Include="System\Data\Services\Client\Xml\XmlWrappingReader.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Data.Services.Client/Client_SL/System.Data.Services.Client_SL.csproj b/mcs/class/System.Data.Services.Client/Client_SL/System.Data.Services.Client_SL.csproj
deleted file mode 100644 (file)
index 1621f5d..0000000
+++ /dev/null
@@ -1,440 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{289FE6B7-82AC-4D0F-92C7-386B7D6DC231}</ProjectGuid>\r
-    <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>System.Data.Services.Client</RootNamespace>\r
-    <AssemblyName>System.Data.Services.Client</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;TEXTRES_ONLYGETSTRING;ASTORIA_CLIENT;ASTORIA_LIGHT</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <DefineConstants>TRACE;TEXTRES_ONLYGETSTRING;ASTORIA_CLIENT;ASTORIA_LIGHT</DefineConstants>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <TextStringResource Include="System.Data.Services.Client.txt">\r
-      <ResFile>System.Data.Services.Client</ResFile>\r
-      <Sealed>true</Sealed>\r
-      <Parameterize>true</Parameterize>\r
-      <Visibility>internal</Visibility>\r
-      <GenerateResource>true</GenerateResource>\r
-      <FullClassName>System.Data.Services.Client.TextRes</FullClassName>\r
-    </TextStringResource>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Net">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Windows" />\r
-    <Reference Include="System.Windows.Browser" />\r
-    <Reference Include="System.Xml.Linq">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceQueryContinuation.cs">\r
-      <Link>System\Data\Services\Client\DataServiceQueryContinuation.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\MemberAssignmentAnalysis.cs">\r
-      <Link>System\Data\Services\Client\MemberAssignmentAnalysis.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ProjectionPath.cs">\r
-      <Link>System\Data\Services\Client\ProjectionPath.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ProjectionPathBuilder.cs">\r
-      <Link>System\Data\Services\Client\ProjectionPathBuilder.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ProjectionPathSegment.cs">\r
-      <Link>System\Data\Services\Client\ProjectionPathSegment.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ProjectionPlan.cs">\r
-      <Link>System\Data\Services\Client\ProjectionPlan.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ProjectionPlanCompiler.cs">\r
-      <Link>System\Data\Services\Client\ProjectionPlanCompiler.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ReferenceEqualityComparer.cs">\r
-      <Link>System\Data\Services\Client\ReferenceEqualityComparer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ResourceExpression.cs">\r
-      <Link>System\Data\Services\Client\ResourceExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\HasStreamAttribute.cs">\r
-      <Link>System\Data\Services\Client\HasStreamAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\MediaEntryAttribute.cs">\r
-      <Link>System\Data\Services\Client\MediaEntryAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\MimeTypePropertyAttribute.cs">\r
-      <Link>System\Data\Services\Client\MimeTypePropertyAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ReadingWritingEntityEventArgs.cs">\r
-      <Link>System\Data\Services\Client\ReadingWritingEntityEventArgs.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\httpprocessutility.cs">\r
-      <Link>System\Data\Services\Client\httpprocessutility.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\XmlConstants.cs">\r
-      <Link>System\Data\Services\Client\XmlConstants.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmContentSerializerBase.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmContentSerializerBase.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmCustomContentSerializer.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmCustomContentSerializer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmCustomContentWriterNodeData.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmCustomContentWriterNodeData.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmSourceTree.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmSourceTree.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmSourcePathSegment.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmSourcePathSegment.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmTargetTree.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmTargetTree.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Epm\EpmTargetPathSegment.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmTargetPathSegment.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Providers\EntityPropertyMappingInfo.cs">\r
-      <Link>System\Data\Services\Client\Epm\EntityPropertyMappingInfo.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Server\System\Data\Services\Parsing\WebConvert.cs">\r
-      <Link>System\Data\Services\Client\ALinq\WebConvert.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ReflectionUtil.cs">\r
-      <Link>System\Data\Services\Client\ReflectionUtil.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\Evaluator.cs">\r
-      <Link>System\Data\Services\Client\Evaluator.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ExpressionNormalizer.cs">\r
-      <Link>System\Data\Services\Client\ExpressionNormalizer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ExpressionVisitor.cs">\r
-      <Link>System\Data\Services\Client\ExpressionVisitor.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\FilterQueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\FilterQueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\InputBinder.cs">\r
-      <Link>System\Data\Services\Client\InputBinder.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\InputReferenceExpression.cs">\r
-      <Link>System\Data\Services\Client\InputReferenceExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceKeyAttribute.cs">\r
-      <Link>System\Data\Services\Client\DataServiceKeyAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceEntityAttribute.cs">\r
-      <Link>System\Data\Services\Client\DataServiceEntityAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\OrderByQueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\OrderByQueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\PathBox.cs">\r
-      <Link>System\Data\Services\Client\PathBox.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ProjectionRewriter.cs">\r
-      <Link>System\Data\Services\Client\ProjectionRewriter.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ProjectionAnalyzer.cs">\r
-      <Link>System\Data\Services\Client\ProjectionAnalyzer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\QueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\QueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ResourceBinder.cs">\r
-      <Link>System\Data\Services\Client\ResourceBinder.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ResourceExpressionType.cs">\r
-      <Link>System\Data\Services\Client\ResourceExpressionType.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\NavigationPropertySingletonExpression.cs">\r
-      <Link>System\Data\Services\Client\NavigationPropertySingletonExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ResourceSetExpression.cs">\r
-      <Link>System\Data\Services\Client\ResourceSetExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\SkipQueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\SkipQueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\TakeQueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\TakeQueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ProjectionQueryOptionExpression.cs">\r
-      <Link>System\Data\Services\Client\ProjectionQueryOptionExpression.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\TypeSystem.cs">\r
-      <Link>System\Data\Services\Client\TypeSystem.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\UriHelper.cs">\r
-      <Link>System\Data\Services\Client\UriHelper.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\ExpressionWriter.cs">\r
-      <Link>System\Data\Services\Client\ExpressionWriter.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\UriWriter.cs">\r
-      <Link>System\Data\Services\Client\UriWriter.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\QueryComponents.cs">\r
-      <Link>System\Data\Services\Client\UriTranslateResult.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\DataServiceExpressionVisitor.cs">\r
-      <Link>System\Data\Services\Client\DataServiceExpressionVisitor.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ALinq\DataServiceQueryProvider.cs">\r
-      <Link>System\Data\Services\Client\DataServiceQueryProvider.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ArraySet.cs">\r
-      <Link>System\Data\Services\Client\ArraySet.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomContentProperty.cs">\r
-      <Link>System\Data\Services\Client\AtomContentProperty.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomDataKind.cs">\r
-      <Link>System\Data\Services\Client\AtomDataKind.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomEntry.cs">\r
-      <Link>System\Data\Services\Client\AtomEntry.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomFeed.cs">\r
-      <Link>System\Data\Services\Client\AtomFeed.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomMaterializer.cs">\r
-      <Link>System\Data\Services\Client\AtomMaterializer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomMaterializerLog.cs">\r
-      <Link>System\Data\Services\Client\AtomMaterializerLog.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\AtomParser.cs">\r
-      <Link>System\Data\Services\Client\AtomParser.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\BaseAsyncResult.cs">\r
-      <Link>System\Data\Services\Client\BaseAsyncResult.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\BatchStream.cs">\r
-      <Link>System\Data\Services\Client\BatchStream.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\BatchStreamState.cs">\r
-      <Link>System\Data\Services\Client\BatchStreamState.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\LinkDescriptor.cs">\r
-      <Link>System\Data\Services\Client\LinkDescriptor.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ChangesetResponse.cs">\r
-      <Link>System\Data\Services\Client\ChangesetResponse.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ClientConvert.cs">\r
-      <Link>System\Data\Services\Client\ClientConvert.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\ClientType.cs">\r
-      <Link>System\Data\Services\Client\ClientType.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceQuery.cs">\r
-      <Link>System\Data\Services\Client\DataServiceQuery.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceClientException.cs">\r
-      <Link>System\Data\Services\Client\DataServiceClientException.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceQueryException.cs">\r
-      <Link>System\Data\Services\Client\DataServiceQueryException.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceRequest.cs">\r
-      <Link>System\Data\Services\Client\DataServiceRequest.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceRequestArgs.cs">\r
-      <Link>System\Data\Services\Client\DataServiceRequestArgs.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceRequestException.cs">\r
-      <Link>System\Data\Services\Client\DataServiceRequestException.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceRequestOfT.cs">\r
-      <Link>System\Data\Services\Client\DataServiceRequestOfT.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceResponse.cs">\r
-      <Link>System\Data\Services\Client\DataServiceResponse.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceStreamResponse.cs">\r
-      <Link>System\Data\Services\Client\DataServiceStreamResponse.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Descriptor.cs">\r
-      <Link>System\Data\Services\Client\Descriptor.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\EntityPropertyMappingAttribute.cs">\r
-      <Link>System\Data\Services\Client\EntityPropertyMappingAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Epm\EpmSyndicationContentSerializer.cs">\r
-      <Link>System\Data\Services\Client\Epm\EpmSyndicationContentSerializer.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\GetReadStreamResult.cs">\r
-      <Link>System\Data\Services\Client\GetReadStreamResult.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\OperationResponse.cs">\r
-      <Link>System\Data\Services\Client\OperationResponse.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\QueryOperationResponseOfT.cs">\r
-      <Link>System\Data\Services\Client\QueryOperationResponseOfT.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\QueryResponse.cs">\r
-      <Link>System\Data\Services\Client\QueryResponse.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Error.cs">\r
-      <Link>System\Data\Services\Client\Error.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\MaterializeFromAtom.cs">\r
-      <Link>System\Data\Services\Client\MaterializeFromAtom.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\MergeOption.cs">\r
-      <Link>System\Data\Services\Client\MergeOption.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\OpenObject.cs">\r
-      <Link>System\Data\Services\Client\OpenObject.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\OpenObjectAttribute.cs">\r
-      <Link>System\Data\Services\Client\OpenObjectAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\QueryResult.cs">\r
-      <Link>System\Data\Services\Client\QueryAsyncResult.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\EntityDescriptor.cs">\r
-      <Link>System\Data\Services\Client\EntityDescriptor.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\EntityStates.cs">\r
-      <Link>System\Data\Services\Client\EntityStates.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\SaveChangesOptions.cs">\r
-      <Link>System\Data\Services\Client\SaveChangesOptions.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\SendingRequestEventArgs.cs">\r
-      <Link>System\Data\Services\Client\SendingRequestEventArgs.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Util.cs">\r
-      <Link>System\Data\Services\Client\Util.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceContext.cs">\r
-      <Link>System\Data\Services\Client\DataServiceContext.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\DataServiceQueryOfT.cs">\r
-      <Link>System\Data\Services\Client\DataServiceQueryOfT.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\WebUtil.cs">\r
-      <Link>System\Data\Services\Client\WebUtil.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\XmlUtil.cs">\r
-      <Link>System\Data\Services\Client\XmlUtil.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Xml\XmlAtomErrorReader.cs">\r
-      <Link>System\Data\Services\Client\Xml\XmlAtomErrorReader.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Xml\XmlWrappingReader.cs">\r
-      <Link>System\Data\Services\Client\Xml\XmlWrappingReader.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\BindingEntityInfo.cs">\r
-      <Link>System\Data\Services\Client\Binding\BindingEntityInfo.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\BindingGraph.cs">\r
-      <Link>System\Data\Services\Client\Binding\BindingGraph.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\BindingObserver.cs">\r
-      <Link>System\Data\Services\Client\Binding\BindingObserver.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\BindingUtils.cs">\r
-      <Link>System\Data\Services\Client\Binding\BindingUtils.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\DataServiceEntityAttribute.cs">\r
-      <Link>System\Data\Services\Client\Binding\DataServiceEntityAttribute.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\DataServiceSaveChangesEventArgs.cs">\r
-      <Link>System\Data\Services\Client\Binding\DataServiceSaveChangesEventArgs.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\EntityChangedParams.cs">\r
-      <Link>System\Data\Services\Client\Binding\EntityChangedParams.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\EntityCollectionChangedParams.cs">\r
-      <Link>System\Data\Services\Client\Binding\EntityCollectionChangedParams.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\DataServiceCollectionOfT.cs">\r
-      <Link>System\Data\Services\Client\Binding\DataServiceCollectionOfT.cs</Link>\r
-    </Compile>\r
-    <Compile Include="..\Client\System\Data\Services\Client\Binding\LoadCompletedEventArgs.cs">\r
-      <Link>System\Data\Services\Client\Binding\LoadCompletedEventArgs.cs</Link>\r
-    </Compile>\r
-    <Compile Include="System\Data\Services\Client\HttpStack.cs" />\r
-    <Compile Include="System\Data\Services\Http\CaseInsensitiveAscii.cs" />\r
-    <Compile Include="System\Data\Services\Http\ClientHttpWebRequest.cs" />\r
-    <Compile Include="System\Data\Services\Http\ClientHttpWebResponse.cs" />\r
-    <Compile Include="System\Data\Services\Http\ClientWebHeaderCollection.cs" />\r
-    <Compile Include="System\Data\Services\Http\HeaderInfo.cs" />\r
-    <Compile Include="System\Data\Services\Http\HeaderInfoTable.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpHeaderToName.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpRequestHeader.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpRequestHeaderEnumToName.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpStatusCode.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpWebRequest.cs" />\r
-    <Compile Include="System\Data\Services\Http\HttpWebResponse.cs" />\r
-    <Compile Include="System\Data\Services\Http\NameValueFromDictionary.cs" />\r
-    <Compile Include="System\Data\Services\Http\ScriptObjectUtility.cs" />\r
-    <Compile Include="System\Data\Services\Http\ScriptXmlHttpRequest.cs" />\r
-    <Compile Include="System\Data\Services\Http\ValidationHelper.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebException.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebExceptionStatus.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebHeaderCollection.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebHeaderCollectionType.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebParseError.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebRequest.cs" />\r
-    <Compile Include="System\Data\Services\Http\WebResponse.cs" />\r
-    <Compile Include="System\Data\Services\Http\XHRHttpWebRequest.cs" />\r
-    <Compile Include="System\Data\Services\Http\XHRHttpWebResponse.cs" />\r
-    <Compile Include="System\Data\Services\Http\XHRWebHeaderCollection.cs" />\r
-    <Compile Include="System.Data.Services.Client.cs" />\r
-    <Compile Include="Parameterized.System.Data.Services.Client.cs" />\r
-    <Compile Include="AssemblyAttributes.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" />\r
-  <!-- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -->\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-      <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">\r
-        <SilverlightProjectProperties />\r
-      </FlavorProperties>\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-</Project>
diff --git a/mcs/class/System.Data.Services.Client/ODataClientLibrary.sln b/mcs/class/System.Data.Services.Client/ODataClientLibrary.sln
deleted file mode 100644 (file)
index 07f233d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 10.00\r
-# Visual Studio 2008\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services.Client", "Client\System.Data.Services.Client.csproj", "{D1567C63-4A0D-4E18-A14E-79699B9BFFFF}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services.Client_SL", "Client_SL\System.Data.Services.Client_SL.csproj", "{289FE6B7-82AC-4D0F-92C7-386B7D6DC231}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {D1567C63-4A0D-4E18-A14E-79699B9BFFFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {D1567C63-4A0D-4E18-A14E-79699B9BFFFF}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {D1567C63-4A0D-4E18-A14E-79699B9BFFFF}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {D1567C63-4A0D-4E18-A14E-79699B9BFFFF}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {289FE6B7-82AC-4D0F-92C7-386B7D6DC231}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {289FE6B7-82AC-4D0F-92C7-386B7D6DC231}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {289FE6B7-82AC-4D0F-92C7-386B7D6DC231}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {289FE6B7-82AC-4D0F-92C7-386B7D6DC231}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
index 9608efe94c3645fed54ea5539d0a8943644272d0..51f6624d7999e201996c0613ad676bebc7504fa6 100644 (file)
   </PropertyGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <ItemGroup>\r
+    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Data\Common\DbConnectionPoolKey.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Data\Common\MultipartIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Data\Common\NameValuePair.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\Common\src\System\Data\Common\SQLResource.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\AcceptRejectRule.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\AggregateType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\BaseCollection.cs" />\r
@@ -75,7 +79,6 @@
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbCommand.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DBCommandBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbConnection.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbConnectionPoolKey.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbConnectionStringBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbDataAdapter.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\DbDataReader.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\Int16Storage.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\Int32Storage.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\Int64Storage.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\MultipartIdentifier.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\NameValuePair.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\ObjectStorage.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\RowUpdatedEventArgs.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\Common\RowUpdatingEventArgs.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLInt32.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLInt64.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLMoney.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLResource.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLSingle.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLString.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\SQLTypes\SQLUtility.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\XMLSchema.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\XmlToDatasetMap.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Data\XmlWriteMode.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\HResults.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\BaseTreeIterator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\DataDocumentXPathNavigator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\DataPointer.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\XmlDataDocument.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\XmlDataImplementation.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.Common\src\System\Xml\XPathNodePointer.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Data.Odbc\src\Common\System\HResults.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\Common\ActivityCorrelator.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\OperationAbortedException.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\ProviderBase\DbConnectionPoolGroupProviderInfo.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\SqlClient\SqlError.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\SqlClient\SqlErrorCollection.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Data.SqlClient\src\System\Data\SqlClient\SqlInfoMessageEvent.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Private.Xml\src\Misc\HResults.cs" />\r
     <Compile Include="..\..\build\common\AssemblyRef.cs" />\r
     <Compile Include="..\..\build\common\Consts.cs" />\r
     <Compile Include="..\..\build\common\Locale.cs" />\r
index 86fa4fb1b012c4a0fef1be744355ad256603733d..816d24f5fdb22513b52168b597b58a855a035c6f 100644 (file)
@@ -41,7 +41,7 @@ using System.Security;
 namespace MonoTests.System.Data.Connected.SqlClient
 {
        [TestFixture]
-       [Category ("sqlserver")]
+       [Category ("CAS")]
        public class SqlClientFactoryTest
        {
                [Test]
index a7673c77610aefa3f3527a156f9f13f4fd84a6c6..641c59fb00513deaeb30d13d3218603ce1cdbc93 100644 (file)
@@ -1,3 +1,9 @@
+../../../external/corefx/src/Common/src/System/Data/Common/DbConnectionPoolKey.cs
+../../../external/corefx/src/Common/src/System/Data/Common/MultipartIdentifier.cs
+../../../external/corefx/src/Common/src/System/Data/Common/NameValuePair.cs
+../../../external/corefx/src/Common/src/System/Data/Common/SQLResource.cs
+
+../../../external/corefx/src/System.Data.Common/src/System/HResults.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/AcceptRejectRule.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/AggregateType.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/BaseCollection.cs
@@ -24,7 +30,6 @@
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbCommand.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DBCommandBuilder.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbConnection.cs
-../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbConnectionPoolKey.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbConnectionStringBuilder.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbDataAdapter.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/DbDataReader.cs
@@ -52,8 +57,6 @@
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/Int16Storage.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/Int32Storage.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/Int64Storage.cs
-../../../external/corefx/src/System.Data.Common/src/System/Data/Common/MultipartIdentifier.cs
-../../../external/corefx/src/System.Data.Common/src/System/Data/Common/NameValuePair.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/ObjectStorage.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/RowUpdatedEventArgs.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/Common/RowUpdatingEventArgs.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLInt32.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLInt64.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLMoney.cs
-../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLResource.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLSingle.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLString.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/SQLTypes/SQLUtility.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/UpdateRowSource.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/updatestatus.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/XDRSchema.cs
-../../../external/corefx/src/System.Data.Common/src/System/Data/XmlContent.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/XmlDataLoader.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/XMLDiffLoader.cs
 ../../../external/corefx/src/System.Data.Common/src/System/Data/XmlKeywords.cs
 ../../../external/corefx/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlError.cs
 ../../../external/corefx/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlErrorCollection.cs
 ../../../external/corefx/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlInfoMessageEvent.cs
-../../../external/corefx/src/System.Private.Xml/src/Misc/HResults.cs
 ../referencesource/System.Data/Microsoft/SqlServer/Server/SqlTriggerContext.cs
 ../referencesource/System.Data/Misc/ExternDll.cs
 ../referencesource/System.Data/System/Data/CodeGen/StrongTypingException.cs
 ../referencesource/System.Data/System/Data/SqlClient/SqlUtil.cs
 ../referencesource/System.Data/System/Data/SqlClient/TdsEnums.cs
 ../referencesource/System.Data/System/Data/SqlClient/TdsParserStaticMethods.cs
+
+corefx/DataView.cs
+corefx/Index.cs
diff --git a/mcs/class/System.Data/corefx/DBCommandBuilder.cs b/mcs/class/System.Data/corefx/DBCommandBuilder.cs
new file mode 100644 (file)
index 0000000..98c7776
--- /dev/null
@@ -0,0 +1,91 @@
+namespace System.Data.Common
+{
+       partial class DbCommandBuilder
+       {
+               // open connection is required by OleDb/OdbcCommandBuilder.QuoteIdentifier and UnquoteIdentifier 
+               // to get literals quotes from the driver
+               internal DbConnection GetConnection()
+               {
+                       DbDataAdapter adapter = DataAdapter;
+                       if (adapter != null)
+                       {
+                               DbCommand select = adapter.SelectCommand;
+                               if (select != null)
+                               {
+                                       return select.Connection;
+                               }
+                       }
+
+                       return null;
+               }
+
+        static internal string[] ParseProcedureName(string name, string quotePrefix, string quoteSuffix) {
+            // Procedure may consist of up to four parts:
+            // 0) Server
+            // 1) Catalog
+            // 2) Schema
+            // 3) ProcedureName
+            //
+            // Parse the string into four parts, allowing the last part to contain '.'s.
+            // If less than four period delimited parts, use the parts from procedure backwards.
+            //
+            const string Separator = ".";
+
+            string[] qualifiers = new string[4];
+            if (!ADP.IsEmpty(name)) {
+                bool useQuotes = !ADP.IsEmpty(quotePrefix) && !ADP.IsEmpty(quoteSuffix);
+
+                int currentPos = 0, parts;
+                for(parts = 0; (parts < qualifiers.Length) && (currentPos < name.Length); ++parts) {
+                    int startPos = currentPos;
+
+                    // does the part begin with a quotePrefix?
+                    if (useQuotes && (name.IndexOf(quotePrefix, currentPos, quotePrefix.Length, StringComparison.Ordinal) == currentPos)) {
+                        currentPos += quotePrefix.Length; // move past the quotePrefix
+
+                        // search for the quoteSuffix (or end of string)
+                        while (currentPos < name.Length) {
+                            currentPos = name.IndexOf(quoteSuffix, currentPos, StringComparison.Ordinal);
+                            if (currentPos < 0) {
+                                // error condition, no quoteSuffix
+                                currentPos = name.Length;
+                                break;
+                            }
+                            else {
+                                currentPos += quoteSuffix.Length; // move past the quoteSuffix
+
+                                // is this a double quoteSuffix?
+                                if ((currentPos < name.Length) && (name.IndexOf(quoteSuffix, currentPos, quoteSuffix.Length, StringComparison.Ordinal) == currentPos)) {
+                                    // a second quoteSuffix, continue search for terminating quoteSuffix
+                                    currentPos += quoteSuffix.Length; // move past the second quoteSuffix
+                                }
+                                else {
+                                    // found the terminating quoteSuffix
+                                    break;
+                                }
+                            }
+                        }
+                    }
+
+                    // search for separator (either no quotePrefix or already past quoteSuffix)
+                    if (currentPos < name.Length) {
+                        currentPos = name.IndexOf(Separator, currentPos, StringComparison.Ordinal);
+                        if ((currentPos < 0) || (parts == qualifiers.Length-1)) {
+                            // last part that can be found
+                            currentPos = name.Length;
+                        }
+                    }
+
+                    qualifiers[parts] = name.Substring(startPos, currentPos-startPos);
+                    currentPos += Separator.Length;
+                }
+
+                // allign the qualifiers if we had less than MaxQualifiers
+                for(int j = qualifiers.Length-1; 0 <= j; --j) {
+                    qualifiers[j] = ((0 < parts) ? qualifiers[--parts] : null);
+                }
+            }
+            return qualifiers;
+        }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data/corefx/DataView.cs b/mcs/class/System.Data/corefx/DataView.cs
new file mode 100644 (file)
index 0000000..51e4afe
--- /dev/null
@@ -0,0 +1,40 @@
+namespace System.Data
+{
+       partial class DataView
+       {
+        /// <summary>
+        /// Allow construction of DataView with <see cref="System.Predicate&lt;DataRow&gt;"/> and <see cref="System.Comparison&lt;DataRow&gt;"/>
+        /// </summary>
+        /// <remarks>This is a copy of the other DataView ctor and needs to be kept in sync</remarks>
+        internal DataView(DataTable table, System.Predicate<DataRow> predicate, System.Comparison<DataRow> comparison, DataViewRowState RowState) {
+            GC.SuppressFinalize(this);
+            Bid.Trace("<ds.DataView.DataView|API> %d#, table=%d, RowState=%d{ds.DataViewRowState}\n",
+                           ObjectID, (table != null) ? table.ObjectID : 0, (int)RowState);
+            if (table == null)
+                throw ExceptionBuilder.CanNotUse();
+
+            this._dvListener = new DataViewListener(this);
+            this._locked = false;
+            this._table = table;
+            _dvListener.RegisterMetaDataEvents(this._table);
+
+            if ((((int)RowState) &
+                 ((int)~(DataViewRowState.CurrentRows | DataViewRowState.OriginalRows))) != 0) {
+                throw ExceptionBuilder.RecordStateRange();
+            }
+            else if (( ((int)RowState) & ((int)DataViewRowState.ModifiedOriginal) ) != 0 &&
+                     ( ((int)RowState) &  ((int)DataViewRowState.ModifiedCurrent) ) != 0
+                    ) {
+                throw ExceptionBuilder.SetRowStateFilter();
+            }
+            _comparison = comparison;
+            SetIndex2("", RowState, ((null != predicate) ? new RowPredicateFilter(predicate) : null), true);
+        }
+
+               /// <summary>This method exists for LinqDataView to keep a level of abstraction away from the RBTree</summary>
+               internal Range FindRecords<TKey, TRow>(Index.ComparisonBySelector<TKey, TRow> comparison, TKey key) where TRow : DataRow
+               {
+                       return _index.FindRecords(comparison, key);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data/corefx/DbConnection.cs b/mcs/class/System.Data/corefx/DbConnection.cs
new file mode 100644 (file)
index 0000000..d53b1d6
--- /dev/null
@@ -0,0 +1,7 @@
+namespace System.Data.Common
+{
+       partial class DbConnection
+       {
+               internal DbProviderFactory ProviderFactory => DbProviderFactory;
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data/corefx/FieldNameLookup.cs b/mcs/class/System.Data/corefx/FieldNameLookup.cs
new file mode 100644 (file)
index 0000000..80c5925
--- /dev/null
@@ -0,0 +1,16 @@
+namespace System.Data.ProviderBase
+{
+       partial class FieldNameLookup
+       {
+               public int IndexOfName(string fieldName)
+               {
+                       if (null == _fieldNameLookup)
+                       {
+                               GenerateLookup();
+                       }
+                       // via case sensitive search, first match with lowest ordinal matches
+                       object value = _fieldNameLookup[fieldName];
+                       return ((null != value) ? (int)value : -1);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data/corefx/Index.cs b/mcs/class/System.Data/corefx/Index.cs
new file mode 100644 (file)
index 0000000..7d6a3be
--- /dev/null
@@ -0,0 +1,21 @@
+namespace System.Data
+{
+       partial class Index
+       {
+               internal delegate int ComparisonBySelector<TKey,TRow>(TKey key, TRow row) where TRow:DataRow;
+
+               /// <summary>This method exists for LinqDataView to keep a level of abstraction away from the RBTree</summary>
+               internal Range FindRecords<TKey,TRow>(ComparisonBySelector<TKey,TRow> comparison, TKey key) where TRow:DataRow
+               {
+                       int x = _records.root;
+                       while (IndexTree.NIL != x)
+                       {
+                               int c = comparison(key, (TRow)_table._recordManager[_records.Key(x)]);
+                               if (c == 0) { break; }
+                               if (c < 0) { x = _records.Left(x); }
+                               else { x = _records.Right(x); }
+                       }
+                       return GetRangeFromNode(x);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data/corefx/Selection.cs b/mcs/class/System.Data/corefx/Selection.cs
new file mode 100644 (file)
index 0000000..e69de29
index 4977214850bd9c481c04f58cc818691a9bc1bb9b..755a08f5d52c0e65cdb4f86850fdb657d40708bf 100644 (file)
@@ -16,6 +16,9 @@ ReferenceSources/Win32NativeMethods.cs
 ReferenceSources/SqlInternalConnectionTds.cs
 
 corefx/SR.cs
+corefx/DBCommandBuilder.cs
+corefx/FieldNameLookup.cs
+corefx/DbConnection.cs
 
 Microsoft.SqlServer.Server/SqlDataRecord.cs
 Microsoft.SqlServer.Server/SqlMetaData.cs
@@ -63,6 +66,8 @@ System.Data.Common/DbTypes.cs
 System.Data.Common/ExceptionHelper.cs
 System.Data.Common/DbConnectionStringBuilderHelper.cs
 
+../../../external/corefx/src/System.Data.Odbc/src/Common/System/HResults.cs
+
 ../referencesource/System.Data/bid/inc/cs/bidPrivateBase.cs
 ../referencesource/System.Data/Misc/PrivilegedConfigurationManager.cs
 ../referencesource/System.Data/System/Data/CodeGen/datacache.cs
diff --git a/mcs/class/System.Drawing/GDIPlusTest.csproj b/mcs/class/System.Drawing/GDIPlusTest.csproj
deleted file mode 100644 (file)
index 45f0702..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!-- MSBuild project for testing GDIPlus functions on Windows -->
-<!-- Output goes to bin\Debug\GDIPlusTest.exe -->
-
-<?xml version="1.0" encoding="iso-8859-1"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
-        DefaultTargets="Build">
-
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-
-  <PropertyGroup>
-    <DefineConstants>TEST</DefineConstants>
-    <OutputType>Library</OutputType>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="nunit.framework" />    
-  </ItemGroup>
-
-  <ItemGroup>
-    <Compile Include="Test\System.Drawing\GDIPlusTest.cs" />
-    <Compile Include="System.Drawing\gdipEnums.cs" />
-    <Compile Include="System.Drawing\gdipFunctions.cs" />
-    <Compile Include="System.Drawing\gdipStructs.cs" />
-  </ItemGroup>
-</Project>
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper.csproj b/mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper.csproj
deleted file mode 100644 (file)
index 784b95b..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.10.3077"\r
-        SchemaVersion = "2.0"\r
-        ProjectGuid = "{8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "DrawingTest"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                PreBuildEvent = ""\r
-                PostBuildEvent = ""\r
-                RootNamespace = "DrawingTest"\r
-                RunPostBuildEvent = "OnBuildSuccess"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = "1595"\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = "1595"\r
-                    Optimize = "true"\r
-                    OutputPath = "..\bin\Release_Java\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Drawing"\r
-                    AssemblyName = "System.Drawing"\r
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"\r
-                    Private = "False"\r
-                />\r
-                <Reference\r
-                    Name = "System.Windows.Forms"\r
-                    AssemblyName = "System.Windows.Forms"\r
-                    HintPath = "..\..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"\r
-                />\r
-                <Reference\r
-                    Name = "Exocortex.DSP.v1"\r
-                    Project = "{1904A41B-D1B8-40E5-ADBB-728DDCF7C816}"\r
-                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"\r
-                />\r
-                <Reference\r
-                    Name = "System.XML"\r
-                    AssemblyName = "System.Xml"\r
-                    HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"\r
-                />\r
-                <Reference\r
-                    Name = "nunit.framework.dll.J2EE"\r
-                    Project = "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
-                    Package = "{83B010C7-76FC-4FAD-A26C-00D7EFE60256}"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "AssemblyInfo.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "DrawingTest.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "PDComparer.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper20.csproj b/mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper20.csproj
deleted file mode 100644 (file)
index 85b60a2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{0E97F734-51B9-497B-9259-B6999FD87BDF}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>DrawingTest</RootNamespace>\r
-    <AssemblyName>DrawingTest</AssemblyName>\r
-    <StartupObject>\r
-    </StartupObject>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="nunit.framework">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>..\..\..\..\..\nunit20\nunit-console\bin\Debug_Java20\nunit.framework.dll</HintPath>\r
-    </Reference>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Drawing" />\r
-    <Reference Include="System.Windows.Forms" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="AssemblyInfo.cs" />\r
-    <Compile Include="DrawingTest.cs" />\r
-    <Compile Include="PDComparer.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\Exocortex.DSP\src\Exocortex.DSP20.v1.csproj">\r
-      <Project>{A9553E24-D07E-44FE-92FB-8C1D3D3C744E}</Project>\r
-      <Name>Exocortex.DSP20.v1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>\r
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP.v1.csproj b/mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP.v1.csproj
deleted file mode 100644 (file)
index 7c10afb..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.10.3077"\r
-        SchemaVersion = "2.0"\r
-        ProjectGuid = "{1904A41B-D1B8-40E5-ADBB-728DDCF7C816}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "Exocortex.DSP.v1"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                PreBuildEvent = ""\r
-                PostBuildEvent = ""\r
-                RootNamespace = "Exocortex.DSP"\r
-                RunPostBuildEvent = "OnBuildSuccess"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "true"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = "doc\Exocortex.DSP.xml"\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "true"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "true"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = "doc\Exocortex.DSP.xml"\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Data"\r
-                    AssemblyName = "System.Data"\r
-                    HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.XML"\r
-                    AssemblyName = "System.Xml"\r
-                    HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Drawing"\r
-                    AssemblyName = "System.Drawing"\r
-                    HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "AssemblyInfo.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Complex.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ComplexArray.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ComplexF.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ComplexMath.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ComplexStats.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Fourier.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "FourierDirection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP20.v1.csproj b/mcs/class/System.Drawing/Test/DrawingTest/Exocortex.DSP/src/Exocortex.DSP20.v1.csproj
deleted file mode 100644 (file)
index fd7db06..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A9553E24-D07E-44FE-92FB-8C1D3D3C744E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>Exocortex.DSP</RootNamespace>\r
-    <AssemblyName>Exocortex.DSP.v1</AssemblyName>\r
-    <StartupObject>\r
-    </StartupObject>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="AssemblyInfo.cs" />\r
-    <Compile Include="Complex.cs" />\r
-    <Compile Include="ComplexArray.cs" />\r
-    <Compile Include="ComplexF.cs" />\r
-    <Compile Include="ComplexMath.cs" />\r
-    <Compile Include="ComplexStats.cs" />\r
-    <Compile Include="Fourier.cs" />\r
-    <Compile Include="FourierDirection.cs" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.dotnet.sln b/mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.dotnet.sln
deleted file mode 100644 (file)
index 165feff..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.dotnet", "..\Test.dotnet.csproj", "{DFE29E81-D6A8-45D4-A627-161F462BE767}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exocortex.DSP.v1", "Exocortex.DSP\src\Exocortex.DSP.v1.csproj", "{1904A41B-D1B8-40E5-ADBB-728DDCF7C816}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DrawingTestHelper", "DrawingTestHelper\DrawingTestHelper.csproj", "{8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll.J2EE", "..\..\..\..\nunit20\core\nunit.core.dll.J2EE.vmwcsproj", "{7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll.J2EE", "..\..\..\..\nunit20\framework\nunit.framework.dll.J2EE.vmwcsproj", "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.util.dll.J2EE", "..\..\..\..\nunit20\util\nunit.util.dll.J2EE.vmwcsproj", "{36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console.J2EE", "..\..\..\..\nunit20\nunit-console\nunit-console.J2EE.vmwcsproj", "{EE901CF2-A263-471C-AEE2-2400A7105ABE}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               Debug = Debug\r
-               Debug_Java = Debug_Java\r
-               Release = Release\r
-               Release_Java = Release_Java\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Debug.ActiveCfg = Debug|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Debug.Build.0 = Debug|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Debug_Java.ActiveCfg = Debug|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Debug_Java.Build.0 = Debug|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Release.ActiveCfg = Release|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Release.Build.0 = Release|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Release_Java.ActiveCfg = Release|.NET\r
-               {DFE29E81-D6A8-45D4-A627-161F462BE767}.Release_Java.Build.0 = Release|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Debug.ActiveCfg = Debug|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Debug.Build.0 = Debug|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Debug_Java.ActiveCfg = Debug|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Debug_Java.Build.0 = Debug|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Release.ActiveCfg = Release|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Release.Build.0 = Release|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Release_Java.ActiveCfg = Release|.NET\r
-               {1904A41B-D1B8-40E5-ADBB-728DDCF7C816}.Release_Java.Build.0 = Release|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug.ActiveCfg = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug.Build.0 = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug_Java.ActiveCfg = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug_Java.Build.0 = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release.ActiveCfg = Release|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release.Build.0 = Release|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release_Java.ActiveCfg = Release|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release_Java.Build.0 = Release|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.ActiveCfg = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.Build.0 = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release.Build.0 = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.ActiveCfg = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.Build.0 = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.Build.0 = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug.ActiveCfg = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug.Build.0 = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release.ActiveCfg = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release.Build.0 = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release_Java.Build.0 = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug.ActiveCfg = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug.Build.0 = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release.ActiveCfg = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release.Build.0 = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release_Java.Build.0 = Release_Java|.NET\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.sln b/mcs/class/System.Drawing/Test/DrawingTest/System.Drawing.Test.sln
deleted file mode 100644 (file)
index 5f472ab..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "Exocortex.DSP.v1.J2EE", "Exocortex.DSP\src\Exocortex.DSP.v1.J2EE.vmwcsproj", "{8D602CEF-DC13-48F1-AF0C-F6201A634FD2}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "DrawingTestHelper_java", "DrawingTestHelper\DrawingTestHelper_java.vmwcsproj", "{8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "Test", "..\Test.vmwcsproj", "{D92997D0-B8BD-49A8-A7D0-8B6043930A07}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.core.dll.J2EE", "..\..\..\..\nunit20\core\nunit.core.dll.J2EE.vmwcsproj", "{7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.framework.dll.J2EE", "..\..\..\..\nunit20\framework\nunit.framework.dll.J2EE.vmwcsproj", "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit-console.J2EE", "..\..\..\..\nunit20\nunit-console\nunit-console.J2EE.vmwcsproj", "{EE901CF2-A263-471C-AEE2-2400A7105ABE}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.util.dll.J2EE", "..\..\..\..\nunit20\util\nunit.util.dll.J2EE.vmwcsproj", "{36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               Debug = Debug\r
-               Debug_Java = Debug_Java\r
-               Release_Java = Release_Java\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Debug.ActiveCfg = Debug|.NET\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Debug.Build.0 = Debug|.NET\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {8D602CEF-DC13-48F1-AF0C-F6201A634FD2}.Release_Java.Build.0 = Release_Java|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug.ActiveCfg = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug.Build.0 = Debug|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {8EF9FC71-4D70-4F89-BF4D-B83EF37D4A0C}.Release_Java.Build.0 = Release_Java|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Debug.ActiveCfg = Debug|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Debug.Build.0 = Debug|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {D92997D0-B8BD-49A8-A7D0-8B6043930A07}.Release_Java.Build.0 = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.ActiveCfg = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.Build.0 = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.ActiveCfg = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.Build.0 = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.Build.0 = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug.ActiveCfg = Debug|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug.Build.0 = Debug|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {EE901CF2-A263-471C-AEE2-2400A7105ABE}.Release_Java.Build.0 = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug.ActiveCfg = Debug|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug.Build.0 = Debug|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {36BE0465-4DE4-44CE-AF8D-6E50D0C40BC6}.Release_Java.Build.0 = Release_Java|.NET\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
index 270846cb6b7012b11d5dc5e3d865269fd8cd51d3..d8bba8f0f9a9b32851a3b275dbd287e858cdf36f 100644 (file)
@@ -30,13 +30,17 @@ using System.Threading;
 using System.Threading.Tasks;
 using System.IO;
 using System.Net;
+using System.Runtime.ExceptionServices;
 
 #if XAMCORE_4_0
 using CFNetwork;
+using CoreFoundation;
 #elif XAMCORE_2_0
 using CoreServices;
+using CoreFoundation;
 #else
 using MonoTouch.CoreServices;
+using MonoTouch.CoreFoundation;
 #endif
 
 namespace System.Net.Http
@@ -54,6 +58,7 @@ namespace System.Net.Http
                Mutex data_mutex;
                AutoResetEvent data_event;
                AutoResetEvent data_read_event;
+               ExceptionDispatchInfo http_exception;
 
                // The requirements are:
                // * We must read at least one byte from the stream every time
@@ -77,6 +82,7 @@ namespace System.Net.Http
                public CFContentStream (CFHTTPStream stream)
                {
                        this.http_stream = stream;
+                       this.http_stream.ErrorEvent += HandleErrorEvent;
                        data = new BufferData () {
                                Buffer = new byte [4096],
                        };
@@ -85,6 +91,17 @@ namespace System.Net.Http
                        data_mutex = new Mutex ();
                }
 
+               void HandleErrorEvent (object sender, CFStream.StreamEventArgs e)
+               {
+                       var gotMutex = data_mutex.WaitOne ();
+                       if (gotMutex) {
+                               var stream = (CFHTTPStream)sender;
+                               if (e.EventType == CFStreamEventType.ErrorOccurred)
+                                       Volatile.Write (ref http_exception, ExceptionDispatchInfo.Capture (stream.GetError ()));
+                               data_mutex.ReleaseMutex ();
+                       }
+               }
+
                public void ReadStreamData ()
                {
                        data_read_event.WaitOne (); // make sure there's no pending data.
@@ -102,6 +119,7 @@ namespace System.Net.Http
 
                        data_mutex.WaitOne ();
                        data = null;
+                       this.http_stream.ErrorEvent -= HandleErrorEvent;
                        data_mutex.ReleaseMutex ();
 
                        data_event.Set ();
@@ -111,6 +129,11 @@ namespace System.Net.Http
                {
                        while (data_event.WaitOne ()) {
                                data_mutex.WaitOne ();
+                               if (http_exception != null) {
+                                       http_exception.Throw ();
+                                       data_mutex.ReleaseMutex ();
+                                       break;
+                               }
                                if (data == null || data.Length <= 0) {
                                        data_mutex.ReleaseMutex ();
                                        data_read_event.Set ();
diff --git a/mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs b/mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs
deleted file mode 100644 (file)
index 993d77c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// AssemblyInfo.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Security;
-using System.Security.Permissions;
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about the assembly
-
-[assembly: AssemblyTitle ("System.Reflection.DispatchProxy.dll")]
-[assembly: AssemblyDescription ("System.Reflection.DispatchProxy.dll")]
-[assembly: AssemblyDefaultAlias ("System.Reflection.DispatchProxy.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
-[assembly: AssemblyVersion (Consts.FxVersion)]
-[assembly: SatelliteContractVersion (Consts.FxVersion)]
-[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
-[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
-
-[assembly: NeutralResourcesLanguage ("en-US")]
-[assembly: CLSCompliant (true)]
-[assembly: AssemblyDelaySign (true)]
-
-[assembly: AssemblyKeyFile("../msfinal.pub")]
-
-[assembly: SecurityCritical]
-
-[assembly: ComVisible (false)]
\ No newline at end of file
diff --git a/mcs/class/System.Reflection.DispatchProxy/Makefile b/mcs/class/System.Reflection.DispatchProxy/Makefile
deleted file mode 100644 (file)
index ddc8396..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-thisdir = class/System.Reflection.DispatchProxy
-SUBDIRS = 
-include ../../build/rules.make
-
-LIBRARY = System.Reflection.DispatchProxy.dll
-LIB_REFS = System
-LIB_MCS_FLAGS =
-
-NO_TEST = yes
-
-include ../../build/library.make
diff --git a/mcs/class/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources b/mcs/class/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources
deleted file mode 100644 (file)
index da5d484..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-System.Reflection/DispatchProxy.cs
diff --git a/mcs/class/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs b/mcs/class/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs
deleted file mode 100644 (file)
index 540e525..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// DispatchProxy.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Reflection
-{
-       public abstract class DispatchProxy
-       {
-               [MonoTODO]
-               protected DispatchProxy()
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static T Create<T, TProxy> () where TProxy : DispatchProxy
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected abstract object Invoke (MethodInfo targetMethod, object[] args);
-       }
-}
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs
deleted file mode 100644 (file)
index 1a408f2..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// AssemblyInfo.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Security;
-using System.Security.Permissions;
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about the assembly
-
-[assembly: AssemblyTitle ("System.Runtime.InteropServices.RuntimeInformation.dll")]
-[assembly: AssemblyDescription ("System.Runtime.InteropServices.RuntimeInformation.dll")]
-[assembly: AssemblyDefaultAlias ("System.Runtime.InteropServices.RuntimeInformation.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
-[assembly: AssemblyVersion ("4.0.0.0")]
-[assembly: SatelliteContractVersion (Consts.FxVersion)]
-[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
-[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
-
-[assembly: NeutralResourcesLanguage ("en-US")]
-[assembly: CLSCompliant (true)]
-[assembly: AssemblyDelaySign (true)]
-
-[assembly: AssemblyKeyFile("../msfinal.pub")]
-
-[assembly: SecurityCritical]
-
-[assembly: ComVisible (false)]
\ No newline at end of file
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile
deleted file mode 100644 (file)
index 7415110..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-thisdir = class/System.Runtime.InteropServices.RuntimeInformation
-SUBDIRS = 
-include ../../build/rules.make
-
-LIBRARY = System.Runtime.InteropServices.RuntimeInformation.dll
-LIB_REFS = System
-LIB_MCS_FLAGS =
-
-NO_TEST = yes
-
-include ../../build/library.make
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/SR.cs b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/SR.cs
deleted file mode 100644 (file)
index 2558905..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// This *will be* auto-generated file
-
-namespace System.Runtime.InteropServices
-{
-       static class SR
-       {
-               public const string Argument_EmptyValue = "Value cannot be empty.";
-       }
-}
\ No newline at end of file
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj
deleted file mode 100644 (file)
index 59f32d4..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<!-- WARNING: this file is autogenerated, don't modify it. Edit the .sources file of the corresponding assembly instead if you want to add/remove C# source files. -->\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
-    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
-    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
-    <NoStdLib>True</NoStdLib>\r
-    \r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.InteropServices.RuntimeInformation</AssemblyName>\r
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  \r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\Architecture.cs" />\r
-    <Compile Include="..\..\..\external\corefx\src\System.Runtime.InteropServices.RuntimeInformation\src\System\Runtime\InteropServices\RuntimeInformation\OSPlatform.cs" />\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="SR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\RuntimeInformation.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>\r
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
-      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
-      <Name>corlib-net_4_x</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System/System-net_4_x.csproj">\r
-      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
-      <Name>System-net_4_x</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources
deleted file mode 100644 (file)
index 5855f23..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-../../build/common/Consts.cs
-Assembly/AssemblyInfo.cs
-System.Runtime.InteropServices/RuntimeInformation.cs
-SR.cs
-
-../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/OSPlatform.cs
-../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/Architecture.cs
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs
deleted file mode 100644 (file)
index d775167..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// RuntimeInformation.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.IO;
-using System.Reflection;
-
-namespace System.Runtime.InteropServices
-{
-       public static class RuntimeInformation
-       {
-               [DllImport ("__Internal")]
-               extern static string mono_get_runtime_build_info ();
-
-               public static string FrameworkDescription {
-                       get {
-                               return mono_get_runtime_build_info ();
-                       }
-               }
-
-               public static bool IsOSPlatform (OSPlatform osPlatform)
-               {
-                       switch (Environment.OSVersion.Platform) {
-                       case PlatformID.Win32NT:
-                               return osPlatform == OSPlatform.Windows;
-                       case PlatformID.Unix:
-                               if (File.Exists ("/usr/lib/libc.dylib"))
-                                       return osPlatform == OSPlatform.OSX;
-
-                               return osPlatform == OSPlatform.Linux;
-                       default:
-                               return false;
-                       }
-               }
-
-               public static string OSDescription
-               {
-                       get
-                       {
-                               return Environment.OSVersion.VersionString;
-                       }
-               }
-
-               public static Architecture OSArchitecture
-               {
-                       get
-                       {
-                               // TODO: very barebones implementation, doesn't respect ARM
-                               return Environment.Is64BitOperatingSystem ? Architecture.X64 : Architecture.X86;
-                       }
-               }
-
-               public static Architecture ProcessArchitecture
-               {
-                       get
-                       {
-                               // TODO: very barebones implementation, doesn't respect ARM                     
-                               return Environment.Is64BitProcess ? Architecture.X64 : Architecture.X86;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/System.ServiceModel/Test/MetadataTests/ExportUtil.csproj b/mcs/class/System.ServiceModel/Test/MetadataTests/ExportUtil.csproj
deleted file mode 100644 (file)
index ad627b8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.0</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D4C1B0BD-3488-441C-92B9-7E017041E137}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <RootNamespace>ExportUtil</RootNamespace>
-    <AssemblyName>ExportUtil</AssemblyName>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>True</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>False</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <Externalconsole>True</Externalconsole>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>True</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <Externalconsole>True</Externalconsole>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.ServiceModel" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Web.Services" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="ExportUtil.cs" />
-    <Compile Include="MetadataSamples.cs" />
-    <Compile Include="TestContext.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>
diff --git a/mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.csproj b/mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.csproj
deleted file mode 100644 (file)
index 9c2d92c..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.0</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>MetadataTests</RootNamespace>
-    <AssemblyName>MetadataTests</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>True</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>False</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;USE_EMBEDDED_METADATA;NET_4_5</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>False</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>True</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>False</ConsolePause>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="nunit.framework" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.ServiceModel" />
-    <Reference Include="System.Web.Services" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Configuration" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="BindingTestAssertions.cs" />
-    <Compile Include="MetadataSamples.cs" />
-    <Compile Include="TestContext.cs" />
-    <Compile Include="TestLabel.cs" />
-    <Compile Include="MiscImportTests.cs" />
-    <Compile Include="ImportTests.cs" />
-    <Compile Include="ImportTests_LoadMetadata.cs" />
-    <Compile Include="ImportTests_CreateMetadata.cs" />
-    <Compile Include="ImportTests_RoundTrip.cs" />
-    <Compile Include="ExportTests.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <ItemGroup>
-    <None Include="README.txt" />
-    <None Include="Resources\BasicHttp_Operation.xml" />
-    <None Include="Resources\NetTcp_Operation.xml" />
-    <None Include="Resources\BasicHttp_Config2.config" />
-    <None Include="Resources\BasicHttp_Config2.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Resources\" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Resources\BasicHttp.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_MessageSecurity.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_Mtom.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_NtlmAuth.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_TransportSecurity.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_TransportWithMessageCredential.xml" />
-    <EmbeddedResource Include="Resources\BasicHttps.xml" />
-    <EmbeddedResource Include="Resources\BasicHttps_Certificate.xml" />
-    <EmbeddedResource Include="Resources\BasicHttps_NtlmAuth.xml" />
-    <EmbeddedResource Include="Resources\BasicHttps_TransportWithMessageCredential.xml" />
-    <EmbeddedResource Include="Resources\NetTcp.xml" />
-    <EmbeddedResource Include="Resources\NetTcp_MessageSecurity.xml" />
-    <EmbeddedResource Include="Resources\NetTcp_ReliableSession.xml" />
-    <EmbeddedResource Include="Resources\NetTcp_TransferMode.xml" />
-    <EmbeddedResource Include="Resources\NetTcp_TransportSecurity.xml" />
-    <EmbeddedResource Include="Resources\NetTcp_TransportWithMessageCredential.xml" />
-    <EmbeddedResource Include="Resources\http-error.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_Mtom_EmbeddedPolicy.xml" />
-    <EmbeddedResource Include="Resources\BasicHttp_Config.config" />
-    <EmbeddedResource Include="Resources\BasicHttp_Config.xml" />
-  </ItemGroup>
-</Project>
diff --git a/mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.sln b/mcs/class/System.ServiceModel/Test/MetadataTests/MetadataTests.sln
deleted file mode 100644 (file)
index 3086179..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 11.00\r
-# Visual Studio 2010\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MetadataTests", "MetadataTests.csproj", "{7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExportUtil", "ExportUtil.csproj", "{D4C1B0BD-3488-441C-92B9-7E017041E137}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {7731D464-5152-4A1B-AACB-6B5A7CA9ACAA}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {D4C1B0BD-3488-441C-92B9-7E017041E137}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {D4C1B0BD-3488-441C-92B9-7E017041E137}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {D4C1B0BD-3488-441C-92B9-7E017041E137}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {D4C1B0BD-3488-441C-92B9-7E017041E137}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(MonoDevelopProperties) = preSolution\r
-               StartupItem = MetadataTests.csproj\r
-       EndGlobalSection\r
-EndGlobal\r
index a1ed18eaa35cab9c1f626b5b8c1d94f2460a64e0..b7469151a1f91e85f8a06d89c760455bda1ac0f0 100644 (file)
@@ -11,8 +11,7 @@ Generating and updating the XML Samples:
 Mono's WsdlExporter is not yet capable of generating the wsdl files that
 are used as test input here.
 
-To generate the XML files, compile the ExportUtil.exe tool either by using the
-ExportUtil.csproj or compiling it manually:
+To generate the XML files, compile the ExportUtil.exe tool:
 
   mcs -r:System.ServiceModel -r:System.Web.Services ExportUtil.cs MetadataSamples.cs TestContext.cs 
 
diff --git a/mcs/class/System.ServiceModel/Test/SwitchMode/SwitchMode.csproj b/mcs/class/System.ServiceModel/Test/SwitchMode/SwitchMode.csproj
deleted file mode 100644 (file)
index a320916..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{59F7BE17-5E8C-4FA3-BC04-56604E2F00F1}</ProjectGuid>\r
-    <OutputType>Exe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>SwitchMode</RootNamespace>\r
-    <AssemblyName>SwitchMode</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Xml.Linq">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data.DataSetExtensions">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Program.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.ServiceModel/Test/WCFServers/WCFServers.csproj b/mcs/class/System.ServiceModel/Test/WCFServers/WCFServers.csproj
deleted file mode 100644 (file)
index 693433b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{88AB909A-C341-4639-B99C-729AC1581E7D}</ProjectGuid>\r
-    <OutputType>Exe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>WCFServers</RootNamespace>\r
-    <AssemblyName>WCFServers</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>..\..\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.ServiceModel">\r
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Xml.Linq">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data.DataSetExtensions">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Program.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\..\..\nunit20\framework\nunit.framework.dll20.csproj">\r
-      <Project>{83DD7E12-A705-4DBA-9D71-09C8973D9382}</Project>\r
-      <Name>nunit.framework.dll20</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\..\..\..\nunit20\nunit-console\nunit-console20.csproj">\r
-      <Project>{9367EC89-6A38-42BA-9607-0DC288E4BC3A}</Project>\r
-      <Name>nunit-console20</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\..\System.ServiceModel_Test.csproj">\r
-      <Project>{05A2DAF1-316D-4350-B07B-B73BE591DE57}</Project>\r
-      <Name>System.ServiceModel_Test</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Web.Extensions/Test/AUT/SystemWebExtensionsAUT.csproj b/mcs/class/System.Web.Extensions/Test/AUT/SystemWebExtensionsAUT.csproj
deleted file mode 100644 (file)
index 6662eff..0000000
+++ /dev/null
@@ -1,658 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{4F37CC78-1B9E-46C5-B257-B813E4107D99}</ProjectGuid>\r
-    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>SystemWebExtensionsAUT</RootNamespace>\r
-    <AssemblyName>SystemWebExtensionsAUT</AssemblyName>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Drawing" />\r
-    <Reference Include="System.Web" />\r
-    <Reference Include="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Xml" />\r
-    <Reference Include="System.Configuration" />\r
-    <Reference Include="System.Web.Services" />\r
-    <Reference Include="System.EnterpriseServices" />\r
-    <Reference Include="System.Web.Mobile" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="AjaxClientApp\AjaxScript.aspx" />\r
-    <Content Include="AjaxClientApp\AjaxScriptComplete.aspx" />\r
-    <Content Include="AjaxClientApp\HelloWorldService.asmx" />\r
-    <Content Include="App_Data\Contacts.xml" />\r
-    <Content Include="App_Data\SurveyQuestions.xml" />\r
-    <Content Include="ArrayTypeExtensions\ArrayMembersSampleCSharp.aspx" />\r
-    <Content Include="BooleanTypeExtensions_NotForUse\BooleanParseSampleCSharp.aspx" />\r
-    <Content Include="CalendarInCalendarOut.aspx" />\r
-    <Content Include="CancelPostback.js" />\r
-    <Content Include="ClientEventExample1\ClientEventTest.js" />\r
-    <Content Include="ClientEventExample1\default.aspx" />\r
-    <Content Include="ClientEventExample2\default.aspx" />\r
-    <Content Include="ClientEventExample2\EventSyntax.js" />\r
-    <Content Include="ClientPageLifecycleEvents.aspx" />\r
-    <Content Include="CustomEvents2\Default.aspx" />\r
-    <Content Include="CustomEvents2\Question.js" />\r
-    <Content Include="CustomEvents2\Section.js" />\r
-    <Content Include="CustomEvents\Default.aspx" />\r
-    <Content Include="CustomEvents\Question.js" />\r
-    <Content Include="CustomEvents\Section.js" />\r
-    <Content Include="NoScriptManager.aspx" />\r
-    <Content Include="StopAsynchronousPostback.aspx" />\r
-    <Content Include="TwoPanelsProgress.aspx" />\r
-    <Content Include="TwoScriptManagers.aspx" />\r
-    <Content Include="TwoUpdatePanels.aspx" />\r
-    <Content Include="UpdateButtonInside.aspx" />\r
-    <Content Include="UpdateButtonOutside.aspx" />\r
-    <Content Include="Web.config" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="ExtenderControlTutorial1\FocusExtender.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="IScriptControlTutorial1\SampleTextBox.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="LocalizingClientResourcesWalkthrough\ClientVerification.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Configuration\ConfigSectionSample.cs" />\r
-    <Compile Include="System.Web.Script.Serialization.ScriptIgnoreAttribute\ScriptIgnoreSample.cs" />\r
-    <Compile Include="System.Web.Script.Serialization.TypeResolver\TypeResolver.cs" />\r
-    <Compile Include="System.Web.Script.Serialization\ListItemCollectionConverter.cs" />\r
-    <Compile Include="System.Web.UI.Controls.Timer.Walkthrough2Panels\Default.aspx.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="System.Web.UI.Controls.Timer.Walkthrough2Panels\Default.aspx.designer.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="System.Web.UI.Controls.Timer.Walkthrough\Default.aspx.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="System.Web.UI.Controls.Timer.Walkthrough\Default.aspx.designer.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="System.Web.UI.ScriptReference\customcontrol.cs" />\r
-    <Compile Include="System.Web.UI.UpdatePanel.ContentTemplate\CustomContentTemplate.cs" />\r
-    <Compile Include="System.Web.UI.UpdatePanel.CreateContentTemplateContainer\CustomUpdatePanel.cs" />\r
-    <Compile Include="UpdatePanelTutorialCustom\ProductsView.cs" />\r
-    <Compile Include="UpdatePanelUserControlTutorial1\Default.aspx.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="UpdatePanelUserControlTutorial1\Default.aspx.designer.cs">\r
-      <DependentUpon>Default.aspx</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="UpdatePanelUserControlTutorial1\EmployeeInfo.ascx.cs">\r
-      <DependentUpon>EmployeeInfo.ascx</DependentUpon>\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="UpdatePanelUserControlTutorial1\EmployeeInfo.ascx.designer.cs">\r
-      <DependentUpon>EmployeeInfo.ascx</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="UpdatePanelUserControlTutorial1\EmployeeList.ascx.cs">\r
-      <DependentUpon>EmployeeList.ascx</DependentUpon>\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="UpdatePanelUserControlTutorial1\EmployeeList.ascx.designer.cs">\r
-      <DependentUpon>EmployeeList.ascx</DependentUpon>\r
-    </Compile>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="MyAuthenticationService\MyAuthenticationService.asmx" />\r
-    <Content Include="MyProfileService\MyProfileService.asmx" />\r
-    <Content Include="NumberTypeExtensions_NotForUse\NumberParseSampleCSharp.aspx" />\r
-    <Content Include="PageRequestManagerOverview1\images\calendar.gif" />\r
-    <Content Include="PageRequestManagerOverview1\TicketExampleCS.aspx" />\r
-    <Content Include="PartialPageRenderingOverview\PartialPageRenderingOverviewCS.aspx" />\r
-    <Content Include="PartialPageRenderingOverview\PartialPageRenderingOverviewSyntaxCS.aspx" />\r
-    <Content Include="SampleAJAXApplication\Employees.aspx" />\r
-    <Content Include="StringBuilder\js\JavaScript\StringBuilderOverviewSample.aspx" />\r
-    <Content Include="Sys.Application\Default.aspx" />\r
-    <Content Include="Sys.Application\HighVis.js" />\r
-    <Content Include="Sys.Application\HoverButton.JS" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="Sys.Application\Web.config" />\r
-    <Content Include="Sys.CultureInfo.CurrentCulture.dateTimeFormat\default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="Sys.CultureInfo.CurrentCulture.dateTimeFormat\web.config" />\r
-    <Content Include="Sys.CultureInfo.CurrentCulture.numberFormat\default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="Sys.CultureInfo.CurrentCulture.numberFormat\web.config" />\r
-    <Content Include="Sys.Debug\Default.aspx" />\r
-    <Content Include="Sys.EventHandlerList\Default.aspx" />\r
-    <Content Include="Sys.EventHandlerList\HoverButton.js" />\r
-    <Content Include="Sys.Net.CallWebServiceMethods\CallWebServiceMethods.aspx" />\r
-    <Content Include="Sys.Net.CallWebServiceMethods\CallWebServiceMethods.js" />\r
-    <Content Include="Sys.Net.CallWebServiceMethods\WebService.asmx" />\r
-    <Content Include="Sys.Net.ConnectingEndPoints\ConnectingEndPoints.aspx" />\r
-    <Content Include="Sys.Net.ConnectingEndPoints\ConnectingEndPoints.js" />\r
-    <Content Include="Sys.Net.ConnectingEndPoints\getTarget.htm" />\r
-    <Content Include="Sys.Net.ConnectingEndPoints\postTarget.aspx" />\r
-    <Content Include="Sys.Net.ErrorHandlingTutorial\WebService.asmx" />\r
-    <Content Include="Sys.Net.ErrorHandlingTutorial\WebServiceMethodError.aspx" />\r
-    <Content Include="Sys.Net.ErrorHandlingTutorial\WebServiceMethodError.js" />\r
-    <Content Include="Sys.Net.ExchangeComplexTypes\default.aspx" />\r
-    <Content Include="Sys.Net.ExchangeComplexTypes\HandleColor.asmx" />\r
-    <Content Include="Sys.Net.ExchangeComplexTypes\HandleColor.js" />\r
-    <Content Include="Sys.Net.JsonSerialization\ClientDeserializeServerSerialize.aspx" />\r
-    <Content Include="Sys.Net.JsonSerialization\ClientSerializeServerDeserialize.aspx" />\r
-    <Content Include="Sys.Net.MultipleCallers\multiplecallers.aspx" />\r
-    <Content Include="Sys.Net.MultipleCallers\WebService.asmx" />\r
-    <Content Include="Sys.Net.MultipleCallers\WebServiceMultipleCallers.js" />\r
-    <Content Include="Sys.Net.PageMethod\PageMethod.aspx" />\r
-    <Content Include="Sys.Net.PageMethod\PageMethod.js" />\r
-    <Content Include="Sys.Net.PassComplexType\default.aspx" />\r
-    <Content Include="Sys.Net.PassComplexType\HandleColor.asmx" />\r
-    <Content Include="Sys.Net.PassComplexType\HandleColor.js" />\r
-    <Content Include="Sys.Net.ReturnComplexType\default.aspx" />\r
-    <Content Include="Sys.Net.ReturnComplexType\HandleColor.asmx" />\r
-    <Content Include="Sys.Net.ReturnComplexType\HandleColor.js" />\r
-    <Content Include="Sys.Net.ServerSupport\default.aspx" />\r
-    <Content Include="Sys.Net.ServerSupport\ServerTypes.asmx" />\r
-    <Content Include="Sys.Net.ServerSupport\ServerTypes.js" />\r
-    <Content Include="Sys.Net.ServerTime\ServerTime.asmx" />\r
-    <Content Include="Sys.Net.ServerTime\ServerTime.aspx" />\r
-    <Content Include="Sys.Net.SimpleWebService\SimpleWebService.asmx" />\r
-    <Content Include="Sys.Net.SimpleWebService\SimpleWebService.aspx" />\r
-    <Content Include="Sys.Net.UsingProxyClass\default.aspx" />\r
-    <Content Include="Sys.Net.UsingProxyClass\UsingProxyClass.asmx" />\r
-    <Content Include="Sys.Net.UsingProxyClass\UsingProxyClass.js" />\r
-    <Content Include="Sys.Net.WebRequestManager\getTarget.htm" />\r
-    <Content Include="Sys.Net.WebRequestManager\WebRequestManager.aspx" />\r
-    <Content Include="Sys.Net.WebRequestManager\WebRequestManager.js" />\r
-    <Content Include="Sys.Net.WebRequest\getTarget.htm" />\r
-    <Content Include="Sys.Net.WebRequest\postTarget.aspx" />\r
-    <Content Include="Sys.Net.WebRequest\webrequest.aspx" />\r
-    <Content Include="Sys.Net.WebRequest\WebRequest.js" />\r
-    <Content Include="Sys.Net.WebServiceGenerics\default.aspx" />\r
-    <Content Include="Sys.Net.WebServiceGenerics\generics.js" />\r
-    <Content Include="Sys.Net.WebServiceGenerics\WebService.asmx" />\r
-    <Content Include="Sys.Net.WebServiceProxy\WebService.asmx" />\r
-    <Content Include="Sys.Net.WebServiceProxy\WebServiceProxy.aspx" />\r
-    <Content Include="Sys.Net.WebServiceProxy\WebServiceProxy.js" />\r
-    <Content Include="Sys.Net.XmlHttpExecutor\getTarget.htm" />\r
-    <Content Include="Sys.Net.XmlHttpExecutor\getTarget.xml" />\r
-    <Content Include="Sys.Net.XmlHttpExecutor\XmlHttpExecutor.aspx" />\r
-    <Content Include="Sys.Net.XmlHttpExecutor\XmlHttpExecutor.js" />\r
-    <Content Include="Sys.Services.AuthenticationServiceTutorial\Authentication.js" />\r
-    <Content Include="Sys.Services.AuthenticationServiceTutorial\CreateNewUser.aspx" />\r
-    <Content Include="Sys.Services.AuthenticationServiceTutorial\login.aspx" />\r
-    <Content Include="Sys.Services.AuthenticationServiceTutorial\secured\Default.aspx" />\r
-    <Content Include="Sys.Services.AuthenticationServiceTutorial\secured\Web.config.txt" />\r
-    <Content Include="Sys.Services.AuthenticationUserControl\Login.aspx" />\r
-    <Content Include="Sys.Services.AuthenticationUserControl\LoginControl.ascx" />\r
-    <Content Include="Sys.Services.AuthenticationUserControl\secured\Default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="Sys.Services.AuthenticationUserControl\secured\Web.config" />\r
-    <Content Include="Sys.Services.ProfileServiceTutorial\login.aspx" />\r
-    <Content Include="Sys.Services.ProfileServiceTutorial\Profile.js" />\r
-    <Content Include="Sys.Services.ProfileUserControl\LoginProfileControl.ascx" />\r
-    <Content Include="Sys.Services.ProfileUserControl\Profile.aspx" />\r
-    <Content Include="Sys.UI.DomElement\default.aspx" />\r
-    <Content Include="Sys.UI.DomEvent.addHandlers\default.aspx" />\r
-    <Content Include="Sys.UI.DomEvent2\default.aspx" />\r
-    <Content Include="Sys.UI.DomEvent\default.aspx" />\r
-    <Content Include="Sys.WebForms.EndRequestEventArgs\default.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.abortPostBack\PageRequestManager_AbortPostBackCS.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.beginRequest\default.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.endRequest\default.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.initializeRequest\default.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.pageLoaded\PageRequestManager_isInAsyncPostBack.aspx" />\r
-    <Content Include="Sys.WebForms.PageRequestManager.pageLoaded\default.aspx" />\r
-    <Content Include="System.Web.Configuration\DefaultDummy.aspx" />\r
-    <Content Include="System.Web.Script.Serialization.ScriptIgnoreAttribute\DefaultDummy.aspx" />\r
-    <Content Include="System.Web.Script.Serialization.TypeResolver\Default.aspx" />\r
-    <Content Include="System.Web.Script.Serialization\Default.aspx" />\r
-    <Content Include="System.Web.Script.Serialization\images\spinner.gif" />\r
-    <Content Include="System.Web.Script.Services.GenerateScriptTypeAttribute\GenerateScriptTypeSample.asmx" />\r
-    <Content Include="System.Web.Script.Services.ScriptMethodAttribute\WebService.asmx" />\r
-    <Content Include="System.Web.Script.Services.ScriptServiceAttribute\ScriptServiceSample.asmx" />\r
-    <Content Include="System.Web.UI.AsyncPostBackTrigger\AsyncPostBackTriggerCS.aspx" />\r
-    <Content Include="System.Web.UI.CompareValidator\UpdatePanelWizardValidatorsCS.aspx" />\r
-    <Content Include="System.Web.UI.Controls.Timer.Interval\Default.aspx" />\r
-    <Content Include="System.Web.UI.Controls.Timer.Tick\Default.aspx" />\r
-    <Content Include="System.Web.UI.Controls.Timer.Walkthrough2Panels\Default.aspx" />\r
-    <Content Include="System.Web.UI.Controls.Timer.Walkthrough\Default.aspx" />\r
-    <Content Include="System.Web.UI.Controls.Timer\Default.aspx" />\r
-    <Content Include="System.WEb.UI.PostBackTrigger\PostBackTriggerCS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.AsyncPostBackErrorMessage\ScriptManager_AsyncPostBackErrorMessageCS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.EnableScriptGlobalization\default.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.OnAsyncPostBackError\default.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.OnAsyncPostBackError\ErrorHandling.js" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterAsyncPostBackControl\Controls\WebUserControl.ascx" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterAsyncPostBackControl\ScriptManager1CS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterAsyncPostBackControl\ScriptManager2CS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterClientScriptBlock\App_Data\Contacts.xml" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterClientScriptBlock\ScriptManager_RegisterClientScriptBlockCS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterClientScriptInclude\ScriptManager_RegisterClientScriptIncludeCS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterClientScriptInclude\scripts\script_alertdiv.js" />\r
-    <Content Include="System.Web.UI.ScriptManager.RegisterDataItem\ScriptManagerRegisterDataItemCS.aspx" />\r
-    <Content Include="System.Web.UI.ScriptMode\CustomClient.js" />\r
-    <Content Include="System.Web.UI.ScriptMode\Default.aspx" />\r
-    <Content Include="System.Web.UI.ScriptReference.Path\Default.aspx" />\r
-    <Content Include="System.Web.UI.ScriptReference.Path\scripts\UpdatePanelAnimation.js" />\r
-    <Content Include="System.Web.UI.ScriptReferenceEventArgs\Default.aspx" />\r
-    <Content Include="System.Web.UI.ScriptReferenceEventArgs\scripts\CustomScript.js" />\r
-    <Content Include="System.Web.UI.ScriptReference\Default.aspx" />\r
-    <EmbeddedResource Include="LocalizingClientResourcesWalkthrough\VerificationResources.it.resx">\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="LocalizingClientResourcesWalkthrough\VerificationResources.resx">\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.ScriptReference\UpdatePanelAnimation.js" />\r
-    <Content Include="System.Web.UI.UpdatePanel.Constructor\UpdatePanelConstructorCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.ContentTemplate\UpdatePanelContentTemplateCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.ContentTemplate\UpdatePanelContentTemplateDynamicCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.CreateContentTemplateContainer\UpdatePanelCreateContentTemplateContainerCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.RenderMode\UpdatePanelRenderModeCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.UpdateMode\UpdatePanelUpdateMode2CS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.UpdateMode\UpdatePanelUpdateMode3CS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel.UpdateMode\UpdatePanelUpdateModeCS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel\UpdatePanelExample1CS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel\UpdatePanelExample2CS.aspx" />\r
-    <Content Include="System.Web.UI.UpdatePanel\UpdatePanelExample3CS.aspx" />\r
-    <Content Include="System.Web.UI.UpdateProgress1\default.aspx" />\r
-    <Content Include="System.Web.UI.UpdateProgress2\default.aspx" />\r
-    <Content Include="System.Web.UI.UpdateProgress3\default.aspx" />\r
-    <Content Include="System.Web.UI.UpdateProgress4\default.aspx" />\r
-    <Content Include="System.Web.UI.UpdateProgress5\default.aspx" />\r
-    <Content Include="System.Web.UI.ValidationSummary2\WizardValidationSummaryCS.aspx" />\r
-    <Content Include="System.Web.UI.ValidationSummary\ValidationSummaryCS.aspx" />\r
-    <Content Include="UpdatePanelApplicationSample1\images\calendar.gif" />\r
-    <Content Include="UpdatePanelApplicationSample1\UpdatePanel1CS.aspx" />\r
-    <Content Include="UpdatePanelApplicationSample1\UpdatePanel2CS.aspx" />\r
-    <Content Include="UpdatePanelApplicationSample1\UpdatePanel3CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo1\UpdatePanel4CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo10\ErrorHandlingBasicsCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo10\ErrorHandlingExampleCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo1\UpdatePanelHowToNoUpdatePanel.aspx" />\r
-    <Content Include="UpdatePanelHowTo1\UpdatePanelHowToWithUpdatePanel.aspx" />\r
-    <Content Include="UpdatePanelHowTo2\Controls\WebUserControl.ascx" />\r
-    <Content Include="UpdatePanelHowTo2\UpdatePanelHowTo1CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo2\UpdatePanelHowTo2CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo3\UpdatePanelContentPage2CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo3\UpdatePanelContentPage3CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo3\UpdatePanelContentPageCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo3\UpdatePanelContentPageDisablePartialRenderingCS.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="UpdatePanelHowTo3\MasterPageCS.master" />\r
-    <Content Include="UpdatePanelHowTo4\UpdatePanelDynamicallyUpdatedCS1.aspx" />\r
-    <Content Include="UpdatePanelHowTo4\UpdatePanelDynamicallyUpdatedCS2.aspx" />\r
-    <Content Include="UpdatePanelHowTo4\UpdatePanelDynamicallyUpdatedCS3.aspx" />\r
-    <Content Include="UpdatePanelHowTo5\UpdatePanelTriggerBasicsCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo5\UpdatePanelTriggerExampleCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo6\SurveyQuestionsExample.aspx" />\r
-    <Content Include="UpdatePanelHowTo7\NewsHeadLineExampleCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo7\SimpleExample1CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo7\SimpleExample2CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo8\SimpleExample1CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo8\SimpleExample2CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo8\SimpleExample3CS.aspx" />\r
-    <Content Include="UpdatePanelHowTo9\ExclusivePostBackBasicsCS.aspx" />\r
-    <Content Include="UpdatePanelHowTo9\ExclusivePostBackCS.aspx" />\r
-    <Content Include="UpdatePanelTechnologyOverview1\UpdatePanelContentPageCS.aspx" />\r
-    <Content Include="UpdatePanelTechnologyOverview1\UpdatePanelCS.aspx" />\r
-    <Content Include="UpdatePanelTechnologyOverview1\UpdatePanelNestedCS.aspx" />\r
-    <Content Include="UpdatePanelTechnologyOverview1\UpdatePanelProgrammaticallyCS.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="UpdatePanelTechnologyOverview1\MasterCS.master" />\r
-    <Content Include="UpdatePanelTutorial12\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial13\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial14\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial14\ProductQueryScript.js" />\r
-    <Content Include="UpdatePanelTutorial14\ProductQueryService.asmx" />\r
-    <Content Include="UpdatePanelTutorial15\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial15\ProductQueryScript.js" />\r
-    <Content Include="UpdatePanelTutorial15\ProductQueryService.asmx" />\r
-    <Content Include="UpdatePanelTutorial16\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial16\UpdatePanelAnimation.js" />\r
-    <Content Include="UpdatePanelTutorial17\CancelPostback.js" />\r
-    <Content Include="UpdatePanelTutorial17\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial18\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial18\PostbackPrecedence.js" />\r
-    <Content Include="UpdatePanelTutorial19\default.aspx" />\r
-    <Content Include="UpdatePanelTutorial20\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialChildTriggers\ChildTriggers.aspx" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\awc_jersey_female_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\awc_jersey_male_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\awc_tee_female_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\awc_tee_male_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\awc_tee_male_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\bikepump_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\bike_lock_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\bike_shoes_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\bike_shorts_female_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\bike_shorts_male_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\chain_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\chain_lube_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\clipless_pedals_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\co2_4tire_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\double_headlight_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\fork_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\frame_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\handlebar_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\handpump_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_f_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\hotrodbike_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\innertube_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_f_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_f_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_f_gold_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_f_green_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_f_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_gold_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_green_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\julianax_r_02_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\mb_shoes_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\mb_tires_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\no_image_available_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\pedal_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_black_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_blue_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_green_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_green_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer02_yellow_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\racer_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_green_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_green_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_purple_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_purple_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_red_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_yellow_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\roadster_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\saddle_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\shorts_female_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\shorts_male_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\silver_chain_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\silver_pedal_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\silver_sprocket_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\single_headlight_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\sprocket_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\street_tires_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_black_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_black_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_blue_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_blue_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_metalicgreen_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_metalicgreen_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_red_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_red_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_silver_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_silver_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_yellow_f_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\superlight_yellow_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\tail_lights_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\awc_jersey_female_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\awc_jersey_male_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\awc_tee_female_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\awc_tee_male_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\awc_tee_male_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\bikepump_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\bike_lock_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\bike_shoes_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\bike_shorts_female_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\bike_shorts_male_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\chain_lube_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\chain_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\clipless_pedals_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\co2_4tire_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\double_headlight_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\fork_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\frame_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\handlebar_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\handpump_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_f_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\hotrodbike_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\innertube_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_f_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_f_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_f_gold_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_f_green_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_f_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_gold_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_green_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\julianax_r_02_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\mb_shoes_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\mb_tires_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\no_image_available_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\pedal_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_black_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_blue_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_green_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_green_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer02_yellow_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\racer_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_green_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_green_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_purple_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_purple_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_red_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_yellow_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\roadster_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\saddle_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\shorts_female_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\shorts_male_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\silver_chain_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\silver_pedal_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\silver_sprocket_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\single_headlight_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\sprocket_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\street_tires_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_black_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_black_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_blue_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_blue_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_metalicgreen_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_metalicgreen_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_red_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_red_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_silver_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_silver_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_yellow_f_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\superlight_yellow_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\tail_lights_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\tirepatch_kit_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\water_bottle_cage_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\water_bottle_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\thumbnails\wheel_small.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\tirepatch_kit_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\water_bottle_cage_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\water_bottle_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\images\wheel_large.gif" />\r
-    <Content Include="UpdatePanelTutorialCustom\ShowProducts.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro1\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro2\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro3\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro4\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro5\default.aspx" />\r
-    <Content Include="UpdatePanelTutorialIntro8\default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="UpdatePanelTutorialIntro8\MasterPage.master" />\r
-    <Content Include="UpdatePanelTutorialIntro9\default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="UpdatePanelTutorialIntro9\MasterPage.master" />\r
-    <Content Include="UpdatePanelTutorialNested\NestedPanels.aspx" />\r
-    <Content Include="UpdatePanelTutorialSibling\DataEntry.aspx" />\r
-    <Content Include="UpdatePanelUserControlTutorial1\EmployeeInfo.ascx" />\r
-    <Content Include="UpdatePanelUserControlTutorial1\EmployeeList.ascx" />\r
-    <Content Include="UpdatePanelWalkthrough1\DeclarativeMarkupCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough1\WizardWithoutUpdatePanelCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough1\WizardWithUpdatePanelCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough2\SearchResultsWithoutUpdatePanelCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough2\SearchResultsWithUpdatePanelCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough2\TriggersDeclarativeMarkupCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough3\DelcarativeContentPageCS.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough3\NorthwindTradersContentPageCS.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="DynamicScriptReferencesHowTo\DynamicScriptReferences1.aspx" />\r
-    <Content Include="DynamicScriptReferencesHowTo\DynamicScriptReferences2.aspx" />\r
-    <EmbeddedResource Include="DynamicScriptReferencesHowTo\Scripts\Scripts.debug.js" />\r
-    <EmbeddedResource Include="DynamicScriptReferencesHowTo\Scripts\Scripts.js" />\r
-    <Content Include="EnhancingJavaScript\Enumeration.aspx" />\r
-    <Content Include="EnhancingJavaScript\Enumeration.js" />\r
-    <Content Include="EnhancingJavaScript\Inheritance.aspx" />\r
-    <Content Include="EnhancingJavaScript\Inheritance.js" />\r
-    <Content Include="EnhancingJavaScript\Interface.aspx" />\r
-    <Content Include="EnhancingJavaScript\Interface.js" />\r
-    <Content Include="EnhancingJavaScript\Namespace.aspx" />\r
-    <Content Include="EnhancingJavaScript\Namespace.js" />\r
-    <Content Include="EnhancingJavaScript\Reflection.aspx" />\r
-    <Content Include="ErrorTypeExtensions\ErrorArgumentNullSampleCSharp.aspx" />\r
-    <Content Include="ErrorTypeExtensions\ErrorCreateSampleCSharp.aspx" />\r
-    <Content Include="ExtenderControlTutorial1\Default.aspx" />\r
-    <Content Include="ExtenderControlTutorial1\FocusBehavior.js" />\r
-    <Content Include="IScriptControlTutorial1\Default.aspx" />\r
-    <Content Include="IScriptControlTutorial1\SampleTextBox.js" />\r
-    <EmbeddedResource Include="LocalizingClientResourcesWalkthrough\CheckAnswer.js" />\r
-    <Content Include="LocalizingClientResourcesWalkthrough\Default.aspx" />\r
-    <Content Include="LocalizingDateTutorial1\localeFormat.aspx" />\r
-    <Content Include="UpdatePanelUserControlTutorial1\Default.aspx" />\r
-    <Content Include="UpdatePanelWalkthrough3\DeclarativeMasterPageCS.master" />\r
-    <Content Include="UpdatePanelWalkthrough3\NorthwindTradersMasterPageCS.master" />\r
-    <Content Include="UpdatePanelWalkthrough4\SurveyExampleCS.aspx" />\r
-    <Content Include="UpdateProgressOverview1\default.aspx" />\r
-    <Content Include="UpdateProgressOverview2\default.aspx" />\r
-    <Content Include="UpdateProgressTutorialIntro10\default.aspx" />\r
-    <Content Include="UpdateProgressTutorialIntro11\default.aspx" />\r
-    <Content Include="UpdateProgressTutorialIntro6\default.aspx" />\r
-    <Content Include="UpdateProgressTutorialIntro7\default.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="LocalizingDateTutorial1\web.config" />\r
-    <Content Include="LocalizingDateTutorial2\localeFormat.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="LocalizingDateTutorial2\web.config" />\r
-    <Content Include="LocalizingDateTutorial3\localeFormat.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="LocalizingDateTutorial3\web.config" />\r
-    <Content Include="LocalizingDateTutorial4\localeFormat.aspx" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="LocalizingDateTutorial4\web.config" />\r
-    <Content Include="ResourcesInScriptFile\Default.aspx" />\r
-    <Content Include="ResourcesInScriptFile\scripts\CheckAnswer.it-IT.js" />\r
-    <Content Include="ResourcesInScriptFile\scripts\CheckAnswer.js" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="App_GlobalResources\" />\r
-    <Folder Include="Sys.WebForms.PageRequestManager.isInAsyncPostBack\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">\r
-        <WebProjectProperties>\r
-          <UseIIS>True</UseIIS>\r
-          <AutoAssignPort>True</AutoAssignPort>\r
-          <DevelopmentServerPort>0</DevelopmentServerPort>\r
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>\r
-          <IISUrl>http://localhost/SystemWebExtensionsAUT</IISUrl>\r
-          <NTLMAuthentication>False</NTLMAuthentication>\r
-        </WebProjectProperties>\r
-      </FlavorProperties>\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-</Project>
diff --git a/mcs/class/System.Web.Mvc3/System.Web.Mvc.csproj b/mcs/class/System.Web.Mvc3/System.Web.Mvc.csproj
deleted file mode 100644 (file)
index ad38a2c..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{3D3FFD8A-624D-4E9B-954B-E1C105507975}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>System.Web</RootNamespace>\r
-    <AssemblyName>System.Web.Mvc</AssemblyName>\r
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\r
-    <BaseAddress>1609891840</BaseAddress>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>..\..\bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <CodeAnalysisRuleSet>..\FxCopRules.ruleset</CodeAnalysisRuleSet>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>..\..\bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <CodeAnalysisRuleSet>..\FxCopRules.ruleset</CodeAnalysisRuleSet>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'FxCop|AnyCPU'">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>..\..\bin\FxCop\</OutputPath>\r
-    <DefineConstants>TRACE;CODE_ANALYSIS</DefineConstants>\r
-    <CodeAnalysisRuleSet>..\FxCopRules.ruleset</CodeAnalysisRuleSet>\r
-    <RunCodeAnalysis>true</RunCodeAnalysis>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CodeCoverage|AnyCPU'">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>..\..\bin\CodeCoverage\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;CODE_COVERAGE</DefineConstants>\r
-    <DebugType>full</DebugType>\r
-    <CodeAnalysisRuleSet>..\FxCopRules.ruleset</CodeAnalysisRuleSet>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>..\..\..\webpages\ReferenceAssemblies\Microsoft.Web.Infrastructure.dll</HintPath>\r
-    </Reference>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.ComponentModel.DataAnnotations" />\r
-    <Reference Include="System.configuration" />\r
-    <Reference Include="System.Core" />\r
-    <Reference Include="System.Data.Entity" />\r
-    <Reference Include="System.Data.Linq" />\r
-    <Reference Include="System.Runtime.Caching" />\r
-    <Reference Include="System.Web" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Web.Abstractions" />\r
-    <Reference Include="System.Web.Extensions" />\r
-    <Reference Include="System.Web.Routing" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="..\GlobalAssemblyInfo.cs">\r
-      <Link>Properties\GlobalAssemblyInfo.cs</Link>\r
-    </Compile>\r
-    <Compile Include="Mvc\AdditionalMetaDataAttribute.cs" />\r
-    <Compile Include="Mvc\BuildManagerCompiledView.cs" />\r
-    <Compile Include="Mvc\BuildManagerViewEngine.cs" />\r
-    <Compile Include="Mvc\CompareAttribute.cs" />\r
-    <Compile Include="Mvc\ChildActionValueProvider.cs" />\r
-    <Compile Include="Mvc\ChildActionValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\DataTypeUtil.cs" />\r
-    <Compile Include="Mvc\ReflectedAttributeCache.cs" />\r
-    <Compile Include="Mvc\SessionStateAttribute.cs" />\r
-    <Compile Include="Mvc\AllowHtmlAttribute.cs" />\r
-    <Compile Include="Mvc\UnvalidatedRequestValuesAccessor.cs" />\r
-    <Compile Include="Mvc\UnvalidatedRequestValuesWrapper.cs" />\r
-    <Compile Include="Mvc\IUnvalidatedRequestValues.cs" />\r
-    <Compile Include="Mvc\IUnvalidatedValueProvider.cs" />\r
-    <Compile Include="Mvc\DependencyResolverExtensions.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\BinaryExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\CachedExpressionCompiler.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\ConditionalExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\ConstantExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\DefaultExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\ExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\ExpressionFingerprintChain.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\FingerprintingExpressionVisitor.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\HashCodeCombiner.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\Hoisted`2.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\HoistingExpressionVisitor.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\IndexExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\LambdaExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\MemberExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\MethodCallExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\ParameterExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\TypeBinaryExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\ExpressionUtil\UnaryExpressionFingerprint.cs" />\r
-    <Compile Include="Mvc\IControllerActivator.cs" />\r
-    <Compile Include="Mvc\IModelBinderProvider.cs" />\r
-    <Compile Include="Mvc\IUniquelyIdentifiable.cs" />\r
-    <Compile Include="Mvc\IViewStartPageChild.cs" />\r
-    <Compile Include="Mvc\IResolver.cs" />\r
-    <Compile Include="Mvc\ControllerInstanceFilterProvider.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationEqualToRule.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationRemoteRule.cs" />\r
-    <Compile Include="Mvc\RazorView.cs" />\r
-    <Compile Include="Mvc\RazorViewEngine.cs" />\r
-    <Compile Include="Mvc\DynamicViewDataDictionary.cs" />\r
-    <Compile Include="Mvc\Filter.cs" />\r
-    <Compile Include="Mvc\FilterAttributeFilterProvider.cs" />\r
-    <Compile Include="Mvc\FilterProviderCollection.cs" />\r
-    <Compile Include="Mvc\FilterProviders.cs" />\r
-    <Compile Include="Mvc\FilterScope.cs" />\r
-    <Compile Include="Mvc\GlobalFilterCollection.cs" />\r
-    <Compile Include="Mvc\GlobalFilters.cs" />\r
-    <Compile Include="Mvc\IFilterProvider.cs" />\r
-    <Compile Include="Mvc\IMvcFilter.cs" />\r
-    <Compile Include="Mvc\IViewPageActivator.cs" />\r
-    <Compile Include="Mvc\ModelBinderProviderCollection.cs" />\r
-    <Compile Include="Mvc\ModelBinderProviders.cs" />\r
-    <Compile Include="Mvc\MultiServiceResolver.cs" />\r
-    <Compile Include="Mvc\Razor\ModelSpan.cs" />\r
-    <Compile Include="Mvc\Razor\MvcCSharpRazorCodeParser.cs" />\r
-    <Compile Include="Mvc\Razor\MvcCSharpRazorCodeGenerator.cs" />\r
-    <Compile Include="Mvc\MvcFilter.cs" />\r
-    <Compile Include="Mvc\Razor\MvcVBRazorCodeGenerator.cs" />\r
-    <Compile Include="Mvc\Razor\MvcVBRazorCodeParser.cs" />\r
-    <Compile Include="Mvc\Razor\MvcWebPageRazorHost.cs" />\r
-    <Compile Include="Mvc\MvcWebRazorHostFactory.cs" />\r
-    <Compile Include="Mvc\PreApplicationStartCode.cs" />\r
-    <Compile Include="Mvc\RemoteAttribute.cs" />\r
-    <Compile Include="Mvc\SecurityUtil.cs" />\r
-    <Compile Include="Mvc\SingleServiceResolver.cs" />\r
-    <Compile Include="Mvc\Razor\StartPageLookupDelegate.cs" />\r
-    <Compile Include="Mvc\TagBuilderExtensions.cs" />\r
-    <Compile Include="Mvc\UrlRewriterHelper.cs" />\r
-    <Compile Include="Mvc\ViewStartPage.cs" />\r
-    <Compile Include="Mvc\WebViewPage.cs" />\r
-    <Compile Include="Mvc\WebViewPage`1.cs" />\r
-    <Compile Include="Mvc\HttpNotFoundResult.cs" />\r
-    <Compile Include="Mvc\HttpStatusCodeResult.cs" />\r
-    <Compile Include="Mvc\IMvcControlBuilder.cs" />\r
-    <Compile Include="Mvc\AssociatedMetadataProvider.cs" />\r
-    <Compile Include="Mvc\ActionExecutedContext.cs" />\r
-    <Compile Include="Mvc\ActionExecutingContext.cs" />\r
-    <Compile Include="Mvc\ClientDataTypeModelValidatorProvider.cs" />\r
-    <Compile Include="Mvc\AssociatedValidatorProvider.cs" />\r
-    <Compile Include="Mvc\Async\ActionDescriptorCreator.cs" />\r
-    <Compile Include="Mvc\Async\AsyncActionDescriptor.cs" />\r
-    <Compile Include="Mvc\Async\AsyncActionMethodSelector.cs" />\r
-    <Compile Include="Mvc\Async\AsyncControllerActionInvoker.cs" />\r
-    <Compile Include="Mvc\Async\SynchronousOperationException.cs" />\r
-    <Compile Include="Mvc\Async\AsyncManager.cs" />\r
-    <Compile Include="Mvc\AsyncTimeoutAttribute.cs" />\r
-    <Compile Include="Mvc\Async\BeginInvokeDelegate.cs" />\r
-    <Compile Include="Mvc\Async\AsyncResultWrapper.cs" />\r
-    <Compile Include="Mvc\Async\AsyncVoid.cs" />\r
-    <Compile Include="Mvc\AsyncController.cs" />\r
-    <Compile Include="Mvc\Async\AsyncUtil.cs" />\r
-    <Compile Include="Mvc\Async\IAsyncController.cs" />\r
-    <Compile Include="Mvc\Async\IAsyncActionInvoker.cs" />\r
-    <Compile Include="Mvc\Async\IAsyncManagerContainer.cs" />\r
-    <Compile Include="Mvc\IClientValidatable.cs" />\r
-    <Compile Include="Mvc\IMetadataAware.cs" />\r
-    <Compile Include="Mvc\IDependencyResolver.cs" />\r
-    <Compile Include="Mvc\JsonValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\DependencyResolver.cs" />\r
-    <Compile Include="Mvc\UrlParameter.cs" />\r
-    <Compile Include="Mvc\FormValueProvider.cs" />\r
-    <Compile Include="Mvc\FormValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\HttpFileCollectionValueProvider.cs" />\r
-    <Compile Include="Mvc\HttpFileCollectionValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\QueryStringValueProvider.cs" />\r
-    <Compile Include="Mvc\QueryStringValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\RangeAttributeAdapter.cs" />\r
-    <Compile Include="Mvc\RegularExpressionAttributeAdapter.cs" />\r
-    <Compile Include="Mvc\RequiredAttributeAdapter.cs" />\r
-    <Compile Include="Mvc\RouteDataValueProvider.cs" />\r
-    <Compile Include="Mvc\RouteDataValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\StringLengthAttributeAdapter.cs" />\r
-    <Compile Include="Mvc\TypeCacheUtil.cs" />\r
-    <Compile Include="Mvc\TypeCacheSerializer.cs" />\r
-    <Compile Include="Mvc\Html\DisplayTextExtensions.cs" />\r
-    <Compile Include="Mvc\NoAsyncTimeoutAttribute.cs" />\r
-    <Compile Include="Mvc\Async\OperationCounter.cs" />\r
-    <Compile Include="Mvc\Async\ReflectedAsyncActionDescriptor.cs" />\r
-    <Compile Include="Mvc\Async\ReflectedAsyncControllerDescriptor.cs" />\r
-    <Compile Include="Mvc\Async\Trigger.cs" />\r
-    <Compile Include="Mvc\Async\TriggerListener.cs" />\r
-    <Compile Include="Mvc\Async\SimpleAsyncResult.cs" />\r
-    <Compile Include="Mvc\Async\EndInvokeDelegate.cs" />\r
-    <Compile Include="Mvc\Async\EndInvokeDelegate`1.cs" />\r
-    <Compile Include="Mvc\Async\SynchronizationContextUtil.cs" />\r
-    <Compile Include="Mvc\AuthorizationContext.cs" />\r
-    <Compile Include="Mvc\ByteArrayModelBinder.cs" />\r
-    <Compile Include="Mvc\ControllerContext.cs" />\r
-    <Compile Include="Mvc\Html\ChildActionExtensions.cs" />\r
-    <Compile Include="Mvc\ParameterInfoUtil.cs" />\r
-    <Compile Include="Mvc\HttpHandlerUtil.cs" />\r
-    <Compile Include="Mvc\ChildActionOnlyAttribute.cs" />\r
-    <Compile Include="Mvc\TypeDescriptorHelper.cs" />\r
-    <Compile Include="Mvc\ValidatableObjectAdapter.cs" />\r
-    <Compile Include="Mvc\ValueProviderFactories.cs" />\r
-    <Compile Include="Mvc\ValueProviderFactory.cs" />\r
-    <Compile Include="Mvc\ValueProviderFactoryCollection.cs" />\r
-    <Compile Include="Mvc\ValueProviderCollection.cs" />\r
-    <Compile Include="Mvc\DictionaryValueProvider`1.cs" />\r
-    <Compile Include="Mvc\NameValueCollectionValueProvider.cs" />\r
-    <Compile Include="Mvc\ValueProviderUtil.cs" />\r
-    <Compile Include="Mvc\IValueProvider.cs" />\r
-    <Compile Include="Mvc\DataErrorInfoModelValidatorProvider.cs" />\r
-    <Compile Include="Mvc\ModelValidatorProviderCollection.cs" />\r
-    <Compile Include="Mvc\DataAnnotationsModelMetadata.cs" />\r
-    <Compile Include="Mvc\HiddenInputAttribute.cs" />\r
-    <Compile Include="Mvc\HttpGetAttribute.cs" />\r
-    <Compile Include="Mvc\HttpPutAttribute.cs" />\r
-    <Compile Include="Mvc\HttpDeleteAttribute.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationRequiredRule.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationRangeRule.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationStringLengthRule.cs" />\r
-    <Compile Include="Mvc\MvcHtmlString.cs" />\r
-    <Compile Include="Mvc\DataAnnotationsModelValidator.cs" />\r
-    <Compile Include="Mvc\DataAnnotationsModelValidatorProvider.cs" />\r
-    <Compile Include="Mvc\DataAnnotationsModelValidator`1.cs" />\r
-    <Compile Include="Mvc\EmptyModelValidatorProvider.cs" />\r
-    <Compile Include="Mvc\ExpressionHelper.cs" />\r
-    <Compile Include="Mvc\FieldValidationMetadata.cs" />\r
-    <Compile Include="Mvc\FormContext.cs" />\r
-    <Compile Include="Mvc\JsonRequestBehavior.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationRegexRule.cs" />\r
-    <Compile Include="Mvc\ModelClientValidationRule.cs" />\r
-    <Compile Include="Mvc\ModelValidationResult.cs" />\r
-    <Compile Include="Mvc\ModelValidator.cs" />\r
-    <Compile Include="Mvc\ModelValidatorProvider.cs" />\r
-    <Compile Include="Mvc\ModelValidatorProviders.cs" />\r
-    <Compile Include="Mvc\RequireHttpsAttribute.cs" />\r
-    <Compile Include="Mvc\HttpRequestExtensions.cs" />\r
-    <Compile Include="Mvc\DataAnnotationsModelMetadataProvider.cs" />\r
-    <Compile Include="Mvc\EmptyModelMetadataProvider.cs" />\r
-    <Compile Include="Mvc\ModelMetadata.cs" />\r
-    <Compile Include="Mvc\ModelMetadataProvider.cs" />\r
-    <Compile Include="Mvc\ModelMetadataProviders.cs" />\r
-    <Compile Include="Mvc\AreaHelpers.cs" />\r
-    <Compile Include="Mvc\AreaRegistration.cs" />\r
-    <Compile Include="Mvc\AreaRegistrationContext.cs" />\r
-    <Compile Include="Mvc\Error.cs" />\r
-    <Compile Include="Mvc\IRouteWithArea.cs" />\r
-    <Compile Include="Mvc\Async\SingleEntryGate.cs" />\r
-    <Compile Include="Mvc\Html\PartialExtensions.cs" />\r
-    <Compile Include="Mvc\LinqBinaryModelBinder.cs" />\r
-    <Compile Include="Mvc\TryGetValueDelegate.cs" />\r
-    <Compile Include="Mvc\ViewDataInfo.cs" />\r
-    <Compile Include="Mvc\Html\DefaultDisplayTemplates.cs" />\r
-    <Compile Include="Mvc\Html\DefaultEditorTemplates.cs" />\r
-    <Compile Include="Mvc\Html\DisplayExtensions.cs" />\r
-    <Compile Include="Mvc\Html\EditorExtensions.cs" />\r
-    <Compile Include="Mvc\Html\LabelExtensions.cs" />\r
-    <Compile Include="Mvc\Html\TemplateHelpers.cs" />\r
-    <Compile Include="Mvc\HttpPostAttribute.cs" />\r
-    <Compile Include="Mvc\PathHelpers.cs" />\r
-    <Compile Include="Mvc\ExceptionContext.cs" />\r
-    <Compile Include="Mvc\ResultExecutedContext.cs" />\r
-    <Compile Include="Mvc\ResultExecutingContext.cs" />\r
-    <Compile Include="Mvc\TemplateInfo.cs" />\r
-    <Compile Include="Mvc\ValidateAntiForgeryTokenAttribute.cs" />\r
-    <Compile Include="Mvc\JavaScriptResult.cs" />\r
-    <Compile Include="Mvc\ActionDescriptor.cs" />\r
-    <Compile Include="Mvc\ActionMethodDispatcher.cs" />\r
-    <Compile Include="Mvc\ActionMethodSelector.cs" />\r
-    <Compile Include="Mvc\ActionMethodSelectorAttribute.cs" />\r
-    <Compile Include="Mvc\ActionNameSelectorAttribute.cs" />\r
-    <Compile Include="Mvc\AuthorizeAttribute.cs" />\r
-    <Compile Include="Mvc\Ajax\AjaxOptions.cs" />\r
-    <Compile Include="Mvc\Ajax\AjaxExtensions.cs" />\r
-    <Compile Include="Mvc\ActionMethodDispatcherCache.cs" />\r
-    <Compile Include="Mvc\BindAttribute.cs" />\r
-    <Compile Include="Mvc\ControllerBase.cs" />\r
-    <Compile Include="Mvc\ActionNameAttribute.cs" />\r
-    <Compile Include="Mvc\AcceptVerbsAttribute.cs" />\r
-    <Compile Include="Mvc\AjaxHelper`1.cs" />\r
-    <Compile Include="Mvc\HtmlHelper`1.cs" />\r
-    <Compile Include="Mvc\DictionaryHelpers.cs" />\r
-    <Compile Include="Mvc\AjaxRequestExtensions.cs" />\r
-    <Compile Include="Mvc\ModelBinderDictionary.cs" />\r
-    <Compile Include="Mvc\ValueProviderDictionary.cs" />\r
-    <Compile Include="Mvc\ViewContext.cs" />\r
-    <Compile Include="Mvc\ViewMasterPageControlBuilder.cs" />\r
-    <Compile Include="Mvc\ViewTemplateUserControl.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewTemplateUserControl`1.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewType.cs" />\r
-    <Compile Include="Mvc\ViewTypeControlBuilder.cs" />\r
-    <Compile Include="Mvc\ViewUserControlControlBuilder.cs">\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewPageControlBuilder.cs">\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewTypeParserFilter.cs" />\r
-    <Compile Include="Mvc\DefaultViewLocationCache.cs" />\r
-    <Compile Include="Mvc\FormCollection.cs" />\r
-    <Compile Include="Mvc\HttpPostedFileBaseModelBinder.cs" />\r
-    <Compile Include="Mvc\NullViewLocationCache.cs" />\r
-    <Compile Include="Mvc\ValidateInputAttribute.cs" />\r
-    <Compile Include="Mvc\FileContentResult.cs" />\r
-    <Compile Include="Mvc\FilePathResult.cs" />\r
-    <Compile Include="Mvc\FileResult.cs" />\r
-    <Compile Include="Mvc\FileStreamResult.cs" />\r
-    <Compile Include="Mvc\InputType.cs" />\r
-    <Compile Include="Mvc\ControllerDescriptorCache.cs" />\r
-    <Compile Include="Mvc\ReflectedParameterBindingInfo.cs" />\r
-    <Compile Include="Mvc\ParameterBindingInfo.cs" />\r
-    <Compile Include="Mvc\ReaderWriterCache`2.cs" />\r
-    <Compile Include="Mvc\DescriptorUtil.cs" />\r
-    <Compile Include="Mvc\ReflectedControllerDescriptor.cs" />\r
-    <Compile Include="Mvc\ControllerDescriptor.cs" />\r
-    <Compile Include="Mvc\ActionSelector.cs" />\r
-    <Compile Include="Mvc\ReflectedActionDescriptor.cs" />\r
-    <Compile Include="Mvc\Html\MvcForm.cs" />\r
-    <Compile Include="Mvc\HttpVerbs.cs" />\r
-    <Compile Include="Mvc\DefaultModelBinder.cs" />\r
-    <Compile Include="Mvc\ModelBindingContext.cs" />\r
-    <Compile Include="Mvc\ParameterDescriptor.cs" />\r
-    <Compile Include="Mvc\RouteValuesHelpers.cs" />\r
-    <Compile Include="Mvc\SelectListItem.cs" />\r
-    <Compile Include="Mvc\ReflectedParameterDescriptor.cs" />\r
-    <Compile Include="Mvc\ValueProviderResult.cs" />\r
-    <Compile Include="Mvc\CustomModelBinderAttribute.cs" />\r
-    <Compile Include="Mvc\FormMethod.cs" />\r
-    <Compile Include="Mvc\Html\FormExtensions.cs" />\r
-    <Compile Include="Mvc\Html\InputExtensions.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\Html\RenderPartialExtensions.cs" />\r
-    <Compile Include="Mvc\Html\SelectExtensions.cs" />\r
-    <Compile Include="Mvc\Html\TextAreaExtensions.cs" />\r
-    <Compile Include="Mvc\Html\ValidationExtensions.cs" />\r
-    <Compile Include="Mvc\IModelBinder.cs" />\r
-    <Compile Include="Mvc\Html\LinkExtensions.cs" />\r
-    <Compile Include="Mvc\ModelBinderAttribute.cs" />\r
-    <Compile Include="Mvc\ModelBinders.cs" />\r
-    <Compile Include="Mvc\ModelStateDictionary.cs" />\r
-    <Compile Include="Mvc\ModelState.cs" />\r
-    <Compile Include="Mvc\ModelErrorCollection.cs" />\r
-    <Compile Include="Mvc\ModelError.cs" />\r
-    <Compile Include="Mvc\Ajax\InsertionMode.cs" />\r
-    <Compile Include="Mvc\HandleErrorAttribute.cs" />\r
-    <Compile Include="Mvc\HandleErrorInfo.cs" />\r
-    <Compile Include="Mvc\HttpUnauthorizedResult.cs" />\r
-    <Compile Include="Mvc\IActionInvoker.cs" />\r
-    <Compile Include="Mvc\IView.cs" />\r
-    <Compile Include="Mvc\IViewLocationCache.cs" />\r
-    <Compile Include="Mvc\MvcHttpHandler.cs" />\r
-    <Compile Include="Mvc\PartialViewResult.cs" />\r
-    <Compile Include="Mvc\SessionStateTempDataProvider.cs" />\r
-    <Compile Include="Mvc\ITempDataProvider.cs" />\r
-    <Compile Include="Mvc\OutputCacheAttribute.cs" />\r
-    <Compile Include="Mvc\FilterInfo.cs" />\r
-    <Compile Include="GlobalSuppressions.cs" />\r
-    <Compile Include="Mvc\ActionFilterAttribute.cs" />\r
-    <Compile Include="Mvc\ActionResult.cs" />\r
-    <Compile Include="Mvc\AjaxHelper.cs" />\r
-    <Compile Include="Mvc\BuildManagerWrapper.cs" />\r
-    <Compile Include="Mvc\Controller.cs" />\r
-    <Compile Include="Mvc\ControllerActionInvoker.cs" />\r
-    <Compile Include="Mvc\ControllerBuilder.cs" />\r
-    <Compile Include="Mvc\ControllerTypeCache.cs" />\r
-    <Compile Include="Mvc\ContentResult.cs" />\r
-    <Compile Include="Mvc\FilterAttribute.cs" />\r
-    <Compile Include="Mvc\IResultFilter.cs" />\r
-    <Compile Include="Mvc\IExceptionFilter.cs" />\r
-    <Compile Include="Mvc\IAuthorizationFilter.cs" />\r
-    <Compile Include="Mvc\JsonResult.cs" />\r
-    <Compile Include="Mvc\NameValueCollectionExtensions.cs" />\r
-    <Compile Include="Mvc\ViewDataDictionary`1.cs" />\r
-    <Compile Include="Mvc\EmptyResult.cs" />\r
-    <Compile Include="Mvc\MultiSelectList.cs" />\r
-    <Compile Include="Mvc\RedirectResult.cs" />\r
-    <Compile Include="Mvc\RedirectToRouteResult.cs" />\r
-    <Compile Include="Mvc\DefaultControllerFactory.cs" />\r
-    <Compile Include="Mvc\HtmlHelper.cs" />\r
-    <Compile Include="Mvc\IActionFilter.cs" />\r
-    <Compile Include="Mvc\IBuildManager.cs" />\r
-    <Compile Include="Mvc\IController.cs" />\r
-    <Compile Include="Mvc\IControllerFactory.cs" />\r
-    <Compile Include="Mvc\IViewDataContainer.cs" />\r
-    <Compile Include="Mvc\IViewEngine.cs" />\r
-    <Compile Include="Mvc\MvcHandler.cs" />\r
-    <Compile Include="Mvc\MvcRouteHandler.cs" />\r
-    <Compile Include="Mvc\NonActionAttribute.cs" />\r
-    <Compile Include="Mvc\RouteCollectionExtensions.cs" />\r
-    <Compile Include="Mvc\SelectList.cs" />\r
-    <Compile Include="Mvc\TempDataDictionary.cs" />\r
-    <Compile Include="Mvc\TypeHelpers.cs" />\r
-    <Compile Include="Mvc\UrlHelper.cs" />\r
-    <Compile Include="Mvc\ViewDataDictionary.cs" />\r
-    <Compile Include="Mvc\ViewEngineCollection.cs" />\r
-    <Compile Include="Mvc\ViewEngineResult.cs" />\r
-    <Compile Include="Mvc\ViewEngines.cs" />\r
-    <Compile Include="Mvc\ViewMasterPage.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewMasterPage`1.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewPage.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewPage`1.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewResult.cs" />\r
-    <Compile Include="Mvc\ViewResultBase.cs" />\r
-    <Compile Include="Mvc\ViewUserControl.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\ViewUserControl`1.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="Mvc\VirtualPathProviderViewEngine.cs" />\r
-    <Compile Include="Mvc\WebFormView.cs" />\r
-    <Compile Include="Mvc\WebFormViewEngine.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <Compile Include="Mvc\Resources\MvcResources.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DesignTime>True</DesignTime>\r
-      <DependentUpon>MvcResources.resx</DependentUpon>\r
-    </Compile>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Mvc\Resources\MvcResources.resx">\r
-      <Generator>ResXFileCodeGenerator</Generator>\r
-      <LastGenOutput>MvcResources.Designer.cs</LastGenOutput>\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <CodeAnalysisDictionary Include="..\CustomDictionary.xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\..\webpages\src\System.Web.Razor\System.Web.Razor.csproj">\r
-      <Project>{8F18041B-9410-4C36-A9C5-067813DF5F31}</Project>\r
-      <Name>System.Web.Razor</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\..\..\webpages\src\System.Web.WebPages.Razor\System.Web.WebPages.Razor.csproj">\r
-      <Project>{0939B11A-FE4E-4BA1-8AD6-D97741EE314F}</Project>\r
-      <Name>System.Web.WebPages.Razor</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\..\..\webpages\src\System.Web.WebPages\System.Web.WebPages.csproj">\r
-      <Project>{76EFA9C5-8D7E-4FDF-B710-E20F8B6B00D2}</Project>\r
-      <Name>System.Web.WebPages</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Web.Services/DefaultWsdlHelpGenerator/DefaultWsdlHelpGenerator.csproj b/mcs/class/System.Web.Services/DefaultWsdlHelpGenerator/DefaultWsdlHelpGenerator.csproj
deleted file mode 100644 (file)
index 95e59d3..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java20_prepare|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE;JAVA</DefineConstants>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <DebugType>full</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{BC1CF9B3-F696-4988-A4D1-E190CB6D2851}</ProjectGuid>\r
-    <ProjectTypeGuids>{F6B19D50-1E2E-4e87-ADFB-10393B439DE0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <AssemblyName>DefaultWsdlHelpGenerator</AssemblyName>\r
-    <JDKName>1.6</JDKName>\r
-    <GHProjectType>3</GHProjectType>\r
-    <GHProjectKind>runtime</GHProjectKind>\r
-    <Version>2.0</Version>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <RootNamespace>DefaultWsdlHelpGenerator</RootNamespace>\r
-    <jarserver>ip2</jarserver>\r
-    <ApplicationServerType>tomcat</ApplicationServerType>\r
-    <FlatWebApp>true</FlatWebApp>\r
-    <DeployOnBuild>False</DeployOnBuild>\r
-    <FileUpgradeFlags>\r
-    </FileUpgradeFlags>\r
-    <UpgradeBackupLocation>\r
-    </UpgradeBackupLocation>\r
-    <OldToolsVersion>3.5</OldToolsVersion>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java20|AnyCPU' ">\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>TRACE;JAVA</DefineConstants>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <Optimize>true</Optimize>\r
-    <DebugType>pdbonly</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE;JAVA</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>TRACE;JAVA</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java20|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>bin\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE;JAVA</DefineConstants>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <DebugType>full</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java20_prepare|AnyCPU' ">\r
-    <OutputPath>bin\</OutputPath>\r
-    <SkipValidation>False</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <PreCompile>true</PreCompile>\r
-    <DeploymentMethod>1</DeploymentMethod>\r
-    <CompressionLevel>1</CompressionLevel>\r
-    <UseTestingPage>True</UseTestingPage>\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>TRACE;JAVA</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Reference Include="myfaces, Version=1.6.65535.65535, Culture=neutral, processorArchitecture=MSIL" />\r
-    <Reference Include="rt, Version=1.6.65535.65535, Culture=neutral, processorArchitecture=MSIL" />\r
-    <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" />\r
-    <Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" />\r
-    <Reference Include="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />\r
-    <Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Content Include="DefaultWsdlHelpGenerator.aspx" />\r
-    <Content Include="WEB-INF\faces-config.xml" />\r
-    <Content Include="WEB-INF\web.xml" />\r
-    <Content Include="Web.config" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.csharp.targets" />\r
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">\r
-        <WebProjectProperties>\r
-          <UseIIS>False</UseIIS>\r
-          <AutoAssignPort>True</AutoAssignPort>\r
-          <DevelopmentServerPort>2253</DevelopmentServerPort>\r
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>\r
-          <IISUrl>\r
-          </IISUrl>\r
-          <NTLMAuthentication>False</NTLMAuthentication>\r
-          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>\r
-        </WebProjectProperties>\r
-      </FlavorProperties>\r
-      <UserProperties REFS-JarPath-system="" REFS-RefInfo-system="repository:vmw:framework:2.0" REFS-JarPath-system-configuration="" REFS-RefInfo-system-configuration="repository:vmw:framework:2.0" REFS-JarPath-system-data="" REFS-RefInfo-system-data="repository:vmw:framework:2.0" REFS-JarPath-system-drawing="" REFS-RefInfo-system-drawing="repository:vmw:framework:2.0" REFS-JarPath-system-web="" REFS-RefInfo-system-web="repository:vmw:framework:2.0" REFS-JarPath-system-web-services="" REFS-RefInfo-system-web-services="repository:vmw:framework:2.0" REFS-JarPath-system-xml="" REFS-RefInfo-system-xml="repository:vmw:framework:2.0" REFS-JarPath-mainsoft-web-aspnetconfig="" REFS-RefInfo-mainsoft-web-aspnetconfig="repository:vmw:framework:2.0" REFS-JarPath-myfaces="" REFS-RefInfo-myfaces="repository:vmw:framework:2.0" REFS-JarPath-rt="" REFS-RefInfo-rt="repository:jre:sun:1.6.0" />\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-  <PropertyGroup>\r
-    <PreBuildEvent>copy ..\..\..\..\..\mono\data\net_2_0\DefaultWsdlHelpGenerator.jvm.aspx ..\DefaultWsdlHelpGenerator.aspx</PreBuildEvent>\r
-  </PropertyGroup>\r
-</Project>
diff --git a/mcs/class/System.Web.Services/Mono.System.Web.Services.csproj b/mcs/class/System.Web.Services/Mono.System.Web.Services.csproj
deleted file mode 100644 (file)
index 9359785..0000000
+++ /dev/null
@@ -1,901 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.10.2292"\r
-        SchemaVersion = "2.0"\r
-        ProjectGuid = "{1E24995F-861C-4FCB-BE59-C7B518F02F64}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "System.Web.Services"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                PreBuildEvent = ""\r
-                PostBuildEvent = ""\r
-                RootNamespace = "System.Web.Servces"\r
-                RunPostBuildEvent = "OnBuildSuccess"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "true"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System.EnterpriseServices"\r
-                    AssemblyName = "System.EnterpriseServices"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.EnterpriseServices.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.XML"\r
-                    AssemblyName = "System.Xml"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Web"\r
-                    AssemblyName = "System.Web"\r
-                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.dll"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "list"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "makefile.gnu"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.build"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\TODOAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebMethodAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebService.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebService.resx"\r
-                    DependentUpon = "WebService.cs"\r
-                    BuildAction = "EmbeddedResource"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebServiceAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebServiceBindingAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services\WebServicesDescriptionAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Configuration\ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Configuration\XmlFormatExtensionAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPointAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPrefixAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Binding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\BindingCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\DocumentableItem.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\FaultBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\FaultBindingCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\HttpAddressBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\HttpBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\HttpOperationBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\HttpUrlEncodedBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\HttpUrlReplacementBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Import.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ImportCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\InputBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Message.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MessageBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MessageCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MessagePart.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MessagePartCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeContentBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeMultipartRelatedBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimePart.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimePartCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeTextBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeTextMatch.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeTextMatchCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\MimeXmlBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Operation.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationBindingCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationFault.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationFaultCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationFlow.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationInput.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationMessage.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationMessageCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OperationOutput.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\OutputBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Port.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\PortCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\PortType.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\PortTypeCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ProtocolImporter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ProtocolReflector.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Service.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescription.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionBaseCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtension.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtensionCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionImporter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionImportStyle.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionImportWarnings.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\ServiceDescriptionReflector.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapAddressBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapBindingStyle.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapBindingUse.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapBodyBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapExtensionImporter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapExtensionReflector.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapFaultBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapHeaderBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapHeaderFaultBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapOperationBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapProtocolImporter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapProtocolReflector.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\SoapTransportImporter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Description\Types.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\ContractReference.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\ContractSearchPattern.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryClientDocumentCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryClientReferenceCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryClientResult.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryClientResultCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryDocument.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryDocumentLinksPattern.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryDocumentReference.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryDocumentSearchPattern.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryExceptionDictionary.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryReference.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryReferenceCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoveryRequestHandler.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DiscoverySearchPattern.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\DynamicDiscoveryDocument.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\ExcludePathInfo.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\SchemaReference.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\SoapBinding.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Discovery\XmlSchemaSearchPattern.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\AnyReturnReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HtmlFormParameterReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HtmlFormParameterWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpGetClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpMethodAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpPostClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpServerProtocol.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpSimpleClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\HttpWebClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\LogicalMethodInfo.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\LogicalMethodTypes.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MatchAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MimeFormatter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MimeParameterReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MimeParameterWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MimeReturnReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\MimeReturnWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\NopReturnReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\PatternMatcher.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\ServerProtocol.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapClientMessage.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapClientMethod.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapDocumentMethodAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapDocumentServiceAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapException.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapExtension.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapExtensionAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHeader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHeaderAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHeaderCollection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHeaderDirection.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHeaderException.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapHttpClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapMessage.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapMessageStage.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapParameterStyle.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapRpcMethodAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapRpcServiceAttribute.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapServerMessage.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapServerProtocol.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapServiceRoutingStyle.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\SoapUnknownHeader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\TextReturnReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\UrlEncodedParameterWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\UrlParameterReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\UrlParameterWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\ValueCollectionParameterReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\WebClientAsyncResult.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\WebClientProtocol.cs"\r
-                    SubType = "Component"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\WebServiceHandler.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\WebServiceHandlerFactory.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\XmlReturnReader.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Web.Services.Protocols\XmlReturnWriter.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.Web/System.Web.Phantom/System.Web.Phantom.csproj b/mcs/class/System.Web/System.Web.Phantom/System.Web.Phantom.csproj
deleted file mode 100644 (file)
index 089d12b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{FBFDAD51-74B6-4660-81C0-9C8B6C8D3B47}</ProjectGuid>
-    <ProjectTypeGuids>{F6B19D50-1E2E-4e87-ADFB-10393B439DE0};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <AssemblyName>System.Web.Phantom</AssemblyName>
-    <JDKName>1.6</JDKName>
-    <GHProjectType>1</GHProjectType>
-    <Version>2.0</Version>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <AdditionalClassPath>
-    </AdditionalClassPath>
-    <RootNamespace>System.Web.Phantom</RootNamespace>
-    <jarserver>ipa</jarserver>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug_Java\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;JAVA,NET_2_0,TARGET_JVM,TARGET_J2EE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <BaseAddress>285212672</BaseAddress>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release_Java\</OutputPath>
-    <DefineConstants>TRACE;JAVA,NET_2_0,TARGET_JVM,TARGET_J2EE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <BaseAddress>285212672</BaseAddress>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="..\System.Web.UI\IScriptManager.cs">
-      <Link>IScriptManager.cs</Link>
-    </Compile>
-    <Compile Include="..\System.Web\IHttpExtendedHandler.cs">
-      <Link>IHttpExtendedHandler.cs</Link>
-    </Compile>
-    <Compile Include="..\System.Web\IHttpExtendedWorkerRequest.cs">
-      <Link>IHttpExtendedWorkerRequest.cs</Link>
-    </Compile>
-    <Compile Include="Stubs.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="JavaEE, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" />
-    <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-    <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" />
-    <Reference Include="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" />
-    <Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.csharp.targets" />
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <ProjectExtensions>
-    <VisualStudio>
-      <UserProperties REFS-RefInfo-javaee="repository:JavaEE:tomcat:1.3" REFS-JarPath-javaee="" REFS-JarPath-system="" REFS-RefInfo-system="repository:vmw:framework:2.0" REFS-JarPath-system-data="" REFS-RefInfo-system-data="repository:vmw:framework:2.0" REFS-JarPath-system-xml="" REFS-RefInfo-system-xml="repository:vmw:framework:2.0" REFS-JarPath-rt="" REFS-RefInfo-rt="repository:jre:sun:1.6.0" REFS-JarPath-system-web="" REFS-RefInfo-system-web="repository:vmw:framework:2.0" />
-    </VisualStudio>
-  </ProjectExtensions>
-</Project>
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/Charting.sln b/mcs/class/System.Windows.Forms.DataVisualization/Charting.sln
deleted file mode 100644 (file)
index 55864ee..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 11.00\r
-# Visual Studio 2010\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows.Forms.DataVisualization", "System.Windows.Forms.DataVisualization.csproj", "{73F9BAEA-A04B-4254-A736-D3B8B9947340}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Charting", "Test\Charting\Charting.csproj", "{9E7C5CA0-2297-414C-B2EB-FC5418548E9D}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoCharting", "Test\MonoCharting\MonoCharting.csproj", "{2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChartingTests", "Test\ChartingTests.csproj", "{D318CCA4-B16E-434D-B490-53A810FC949E}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Debug|Mixed Platforms = Debug|Mixed Platforms\r
-               Debug|x86 = Debug|x86\r
-               Release|Any CPU = Release|Any CPU\r
-               Release|Mixed Platforms = Release|Mixed Platforms\r
-               Release|x86 = Release|x86\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Debug|x86.ActiveCfg = Debug|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
-               {73F9BAEA-A04B-4254-A736-D3B8B9947340}.Release|x86.ActiveCfg = Release|Any CPU\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Debug|Any CPU.ActiveCfg = Debug|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Debug|Mixed Platforms.ActiveCfg = Debug|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Debug|Mixed Platforms.Build.0 = Debug|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Debug|x86.ActiveCfg = Debug|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Debug|x86.Build.0 = Debug|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Release|Any CPU.ActiveCfg = Release|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Release|Mixed Platforms.ActiveCfg = Release|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Release|Mixed Platforms.Build.0 = Release|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Release|x86.ActiveCfg = Release|x86\r
-               {9E7C5CA0-2297-414C-B2EB-FC5418548E9D}.Release|x86.Build.0 = Release|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Debug|Any CPU.ActiveCfg = Debug|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Debug|Mixed Platforms.ActiveCfg = Debug|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Debug|Mixed Platforms.Build.0 = Debug|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Debug|x86.ActiveCfg = Debug|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Debug|x86.Build.0 = Debug|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Release|Any CPU.ActiveCfg = Release|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Release|Mixed Platforms.ActiveCfg = Release|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Release|Mixed Platforms.Build.0 = Release|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Release|x86.ActiveCfg = Release|x86\r
-               {2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}.Release|x86.Build.0 = Release|x86\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Debug|x86.ActiveCfg = Debug|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
-               {D318CCA4-B16E-434D-B490-53A810FC949E}.Release|x86.ActiveCfg = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/Test/Charting/Charting.csproj b/mcs/class/System.Windows.Forms.DataVisualization/Test/Charting/Charting.csproj
deleted file mode 100644 (file)
index 1cc73fc..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>\r
-    <ProductVersion>8.0.30703</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9E7C5CA0-2297-414C-B2EB-FC5418548E9D}</ProjectGuid>\r
-    <OutputType>WinExe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>WindowsFormsApplication1</RootNamespace>\r
-    <AssemblyName>Charting</AssemblyName>\r
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">\r
-    <PlatformTarget>x86</PlatformTarget>\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">\r
-    <PlatformTarget>x86</PlatformTarget>\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core" />\r
-    <Reference Include="System.Windows.Forms.DataVisualization" />\r
-    <Reference Include="System.Xml.Linq" />\r
-    <Reference Include="System.Data.DataSetExtensions" />\r
-    <Reference Include="Microsoft.CSharp" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Deployment" />\r
-    <Reference Include="System.Drawing" />\r
-    <Reference Include="System.Windows.Forms" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Form1.cs">\r
-      <SubType>Form</SubType>\r
-    </Compile>\r
-    <Compile Include="Form1.Designer.cs">\r
-      <DependentUpon>Form1.cs</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="Program.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <EmbeddedResource Include="Form1.resx">\r
-      <DependentUpon>Form1.cs</DependentUpon>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Properties\Resources.resx">\r
-      <Generator>ResXFileCodeGenerator</Generator>\r
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
-    <Compile Include="Properties\Resources.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DependentUpon>Resources.resx</DependentUpon>\r
-    </Compile>\r
-    <None Include="Properties\Settings.settings">\r
-      <Generator>SettingsSingleFileGenerator</Generator>\r
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\r
-    </None>\r
-    <Compile Include="Properties\Settings.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DependentUpon>Settings.settings</DependentUpon>\r
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>\r
-    </Compile>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/Test/ChartingTests.csproj b/mcs/class/System.Windows.Forms.DataVisualization/Test/ChartingTests.csproj
deleted file mode 100644 (file)
index 40a8d4c..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.30703</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D318CCA4-B16E-434D-B490-53A810FC949E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>ChartingTests</RootNamespace>\r
-    <AssemblyName>ChartingTests</AssemblyName>\r
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="nunit.framework, Version=2.5.2.9222, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>..\..\..\..\..\..\..\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\nunit.framework.dll</HintPath>\r
-      <Package>nunit</Package>\r
-    </Reference>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core" />\r
-    <Reference Include="System.Drawing" />\r
-    <Reference Include="System.Windows.Forms.DataVisualization" />\r
-    <Reference Include="System.Xml.Linq" />\r
-    <Reference Include="System.Data.DataSetExtensions" />\r
-    <Reference Include="Microsoft.CSharp" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPathPointTest.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnovaResultTest.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ArrowAnnotationTest.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScaleBreakStyleTest.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElementTest.cs" />\r
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPointTest.cs" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/Test/MonoCharting/MonoCharting.csproj b/mcs/class/System.Windows.Forms.DataVisualization/Test/MonoCharting/MonoCharting.csproj
deleted file mode 100644 (file)
index 48a104f..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>\r
-    <ProductVersion>8.0.30703</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2DF0C530-64FF-4125-B03C-B79F7A5E1F7E}</ProjectGuid>\r
-    <OutputType>WinExe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>MonoCharting</RootNamespace>\r
-    <AssemblyName>MonoCharting</AssemblyName>\r
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">\r
-    <PlatformTarget>x86</PlatformTarget>\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">\r
-    <PlatformTarget>x86</PlatformTarget>\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Core" />\r
-    <Reference Include="System.Xml.Linq" />\r
-    <Reference Include="System.Data.DataSetExtensions" />\r
-    <Reference Include="Microsoft.CSharp" />\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Deployment" />\r
-    <Reference Include="System.Drawing" />\r
-    <Reference Include="System.Windows.Forms" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="..\Charting\Form1.cs">\r
-      <SubType>Form</SubType>\r
-    </Compile>\r
-    <Compile Include="..\Charting\Form1.Designer.cs">\r
-      <DependentUpon>Form1.cs</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="Program.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <EmbeddedResource Include="Properties\Resources.resx">\r
-      <Generator>ResXFileCodeGenerator</Generator>\r
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
-    <Compile Include="Properties\Resources.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DependentUpon>Resources.resx</DependentUpon>\r
-    </Compile>\r
-    <None Include="Properties\Settings.settings">\r
-      <Generator>SettingsSingleFileGenerator</Generator>\r
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\r
-    </None>\r
-    <Compile Include="Properties\Settings.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
-      <DependentUpon>Settings.settings</DependentUpon>\r
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>\r
-    </Compile>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\System.Windows.Forms.DataVisualization.csproj">\r
-      <Project>{73F9BAEA-A04B-4254-A736-D3B8B9947340}</Project>\r
-      <Name>System.Windows.Forms.DataVisualization</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms.RTF/rtf.csproj b/mcs/class/System.Windows.Forms/System.Windows.Forms.RTF/rtf.csproj
deleted file mode 100644 (file)
index f8763b1..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.10.3077"\r
-        SchemaVersion = "2.0"\r
-        ProjectGuid = "{12D60959-776E-41E9-82BE-AA5DF4BB7CAE}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "rtf"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Exe"\r
-                PreBuildEvent = ""\r
-                PostBuildEvent = ""\r
-                RootNamespace = "rtf"\r
-                RunPostBuildEvent = "OnBuildSuccess"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = ""\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "1"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = ""\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "1"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System.Drawing"\r
-                    AssemblyName = "System.Drawing"\r
-                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Windows.Forms"\r
-                    AssemblyName = "System.Windows.Forms"\r
-                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "Charcode.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Charset.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "CharsetFlags.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "CharsetType.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ClassDelegate.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Color.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "DestinationDelegate.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Font.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "KeysInit.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "KeyStruct.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Major.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Minor.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "RTF.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "RTFException.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "StandardCharCode.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "StandardCharName.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "Style.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "StyleElement.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "StyleType.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "test.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "TextMap.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "TokenClass.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
index 4c6d072bd6e54f1d941afc3c26b58a573101ae96..76ec9ecd8e60e13af8ac62b6df33db58a141ef30 100644 (file)
@@ -49,9 +49,6 @@ xmlfiles_files = \
 EXTRA_DISTFILES = \
        $(wildcard System.Xml.Serialization/standalone_tests/*.cs) \
        $(wildcard System.Xml.Serialization/standalone_tests/*.output) \
-       Test/Microsoft.Test.csproj      \
-       Test/Mono.Test.csproj           \
-       Test/MonoMicro.Test.csproj      \
        Test/XmlFiles/76102.xml         \
        Test/XmlFiles/79683.dtd         \
        Test/XmlFiles/496192.xml        \
diff --git a/mcs/class/System.XML/Test/Microsoft.Test.csproj b/mcs/class/System.XML/Test/Microsoft.Test.csproj
deleted file mode 100644 (file)
index 99f1015..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.0.9466"\r
-        SchemaVersion = "1.0"\r
-        ProjectGuid = "{D6C51F53-33E2-41DF-981A-33FCFA81CDA7}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "Microsoft.Test"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                RootNamespace = "Test"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "true"\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.XML"\r
-                    AssemblyName = "System.Xml"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"\r
-                />\r
-                <Reference\r
-                    Name = "NUnitCore"\r
-                    AssemblyName = "NUnitCore"\r
-                    HintPath = "..\..\..\nunit\NUnitCore.dll"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "AllTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "NameTableTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlAttributeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlCDataSectionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlCommentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDeclarationTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDocumentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDocumentTypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlElementTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlNamespaceManagerTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlNodeListTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlSignificantWhitespaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlTextReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlTextWriterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlWhiteSpaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.XML/Test/Mono.Test.csproj b/mcs/class/System.XML/Test/Mono.Test.csproj
deleted file mode 100644 (file)
index 677a5b8..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.0.9466"\r
-        SchemaVersion = "1.0"\r
-        ProjectGuid = "{D6C51F53-33E2-41DF-981A-33FCFA81CDA7}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "Mono.Test"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                RootNamespace = "Test"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "true"\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "Mono.System.XML"\r
-                    Project = "{0CB7FB41-3C0F-40E8-ACD3-8C5B8BC35B2C}"\r
-                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"\r
-                />\r
-                <Reference\r
-                    Name = "NUnitCore"\r
-                    AssemblyName = "NUnitCore"\r
-                    HintPath = "..\..\..\nunit\NUnitCore.dll"\r
-                />\r
-                <Reference\r
-                    Name = "System.Data"\r
-                    AssemblyName = "System.Data"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "AllTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "NameTableTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlAttributeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlCDataSectionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlCommentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDeclarationTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDocumentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlDocumentTypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlElementTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlNamespaceManagerTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlNodeListTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlSignificantWhitespaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlTextReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlTextWriterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "XmlWhiteSpaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.XML/Test/MonoMicro.Test.csproj b/mcs/class/System.XML/Test/MonoMicro.Test.csproj
deleted file mode 100644 (file)
index 0affcdb..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-<VisualStudioProject>\r
-    <CSHARP\r
-        ProjectType = "Local"\r
-        ProductVersion = "7.10.3077"\r
-        SchemaVersion = "2.0"\r
-        ProjectGuid = "{F7734143-3845-4288-B1CA-FE614FFA70F0}"\r
-    >\r
-        <Build>\r
-            <Settings\r
-                ApplicationIcon = ""\r
-                AssemblyKeyContainerName = ""\r
-                AssemblyName = "MonoMicro.Test"\r
-                AssemblyOriginatorKeyFile = ""\r
-                DefaultClientScript = "JScript"\r
-                DefaultHTMLPageLayout = "Grid"\r
-                DefaultTargetSchema = "IE50"\r
-                DelaySign = "false"\r
-                OutputType = "Library"\r
-                PreBuildEvent = ""\r
-                PostBuildEvent = ""\r
-                RootNamespace = "MonoMicro.Test"\r
-                StartupObject = ""\r
-            >\r
-                <Config\r
-                    Name = "Debug"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "DEBUG;TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "true"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "true"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "false"\r
-                    OutputPath = "bin\Debug\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-                <Config\r
-                    Name = "Release"\r
-                    AllowUnsafeBlocks = "false"\r
-                    BaseAddress = "285212672"\r
-                    CheckForOverflowUnderflow = "false"\r
-                    ConfigurationOverrideFile = ""\r
-                    DefineConstants = "TRACE"\r
-                    DocumentationFile = ""\r
-                    DebugSymbols = "false"\r
-                    FileAlignment = "4096"\r
-                    IncrementalBuild = "false"\r
-                    NoStdLib = "false"\r
-                    NoWarn = ""\r
-                    Optimize = "true"\r
-                    OutputPath = "bin\Release\"\r
-                    RegisterForComInterop = "false"\r
-                    RemoveIntegerChecks = "false"\r
-                    TreatWarningsAsErrors = "false"\r
-                    WarningLevel = "4"\r
-                />\r
-            </Settings>\r
-            <References>\r
-                <Reference\r
-                    Name = "System"\r
-                    AssemblyName = "System"\r
-                    HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
-                />\r
-                <Reference\r
-                    Name = "nunit.framework"\r
-                    AssemblyName = "nunit.framework"\r
-                    HintPath = "..\..\..\..\..\Program Files\NUnit V2.0\bin\nunit.framework.dll"\r
-                />\r
-                <Reference\r
-                    Name = "Mono.System.XML"\r
-                    Project = "{0CB7FB41-3C0F-40E8-ACD3-8C5B8BC35B2C}"\r
-                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"\r
-                />\r
-            </References>\r
-        </Build>\r
-        <Files>\r
-            <Include>\r
-                <File\r
-                    RelPath = "ChangeLog"\r
-                    BuildAction = "None"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\NameTableTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlAttributeCollectionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlAttributeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlCDataSectionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlCharacterDataTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlCharTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlCommentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlConvertTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlDeclarationTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlDocumentEventTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlDocumentFragmentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlDocumentTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlDocumentTypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlElementTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlEntityReferenceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlEntityTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlNamespaceManagerTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlNodeListTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlNodeReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlNodeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlProcessingInstructionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlReaderCommonTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlSecureResolverTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlSignificantWhitespaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlTextReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlTextTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlTextWriterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlUrlResolverTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlValidatingReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlWhiteSpaceTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XmlWriterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XsdParticleValidationTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\XsdValidatingReaderTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\ITest.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\util.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Attr\Attr.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\CharacterData\CharacterData.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Comment\Comment.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Document\Document.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\DOMImplementation\DOMImplementation.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Element\Element.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\NamedNodeMap\NamedNodeMap.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Node\Node.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\NodeList\NodeList.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml\nist_dom\fundamental\Text\Text.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaAssertion.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaBuiltInDatatypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaCollectionTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaComplexTypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaDatatypeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaGroupRefTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaLengthFacetTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Schema\XmlSchemaTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\DeserializeTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\XmlAttributesTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\XmlReflectionImporterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\XmlSerializationWriterTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\XmlSerializerTestClasses.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Serialization\XmlSerializerTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.XPath\SelectNodesTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.XPath\XPathNavigatorCommonTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.XPath\XPathNavigatorEvaluateTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.XPath\XPathNavigatorMatchesTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.XPath\XPathNavigatorTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Xsl\MsxslScriptTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Xsl\XsltArgumentListTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "System.Xml.Xsl\XslTransformTests.cs"\r
-                    SubType = "Code"\r
-                    BuildAction = "Compile"\r
-                />\r
-            </Include>\r
-        </Files>\r
-    </CSHARP>\r
-</VisualStudioProject>\r
-\r
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt.sln b/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt.sln
deleted file mode 100755 (executable)
index 338c190..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "xslt", "xslt.vmwcsproj", "{7D5A1B1C-4B8C-462B-86C8-0961A838A39D}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.framework.dll.J2EE", "..\..\..\..\..\nunit20\framework\nunit.framework.dll.J2EE.vmwcsproj", "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.core.dll.J2EE", "..\..\..\..\..\nunit20\core\nunit.core.dll.J2EE.vmwcsproj", "{7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               Debug = Debug\r
-               Debug_Java = Debug_Java\r
-               Debug-Strong = Debug-Strong\r
-               Release = Release\r
-               Release_Java = Release_Java\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug.ActiveCfg = Debug|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug.Build.0 = Debug|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug-Strong.ActiveCfg = Debug|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug-Strong.Build.0 = Debug|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release.ActiveCfg = Release_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release.Build.0 = Release_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.ActiveCfg = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.Build.0 = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug-Strong.ActiveCfg = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug-Strong.Build.0 = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.Build.0 = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.ActiveCfg = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.Build.0 = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug-Strong.ActiveCfg = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug-Strong.Build.0 = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release.Build.0 = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.Build.0 = Release_Java|.NET\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.csproj b/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.csproj
deleted file mode 100644 (file)
index 468ccaf..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <ProjectType>Local</ProjectType>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7D5A1B1C-4B8C-462B-86C8-0961A838A39D}</ProjectGuid>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ApplicationIcon>\r
-    </ApplicationIcon>\r
-    <AssemblyKeyContainerName>\r
-    </AssemblyKeyContainerName>\r
-    <AssemblyName>xslt</AssemblyName>\r
-    <AssemblyOriginatorKeyFile>\r
-    </AssemblyOriginatorKeyFile>\r
-    <DefaultClientScript>JScript</DefaultClientScript>\r
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>\r
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>\r
-    <DelaySign>false</DelaySign>\r
-    <OutputType>Library</OutputType>\r
-    <RootNamespace>xslt</RootNamespace>\r
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>\r
-    <StartupObject>\r
-    </StartupObject>\r
-    <FileUpgradeFlags>\r
-    </FileUpgradeFlags>\r
-    <UpgradeBackupLocation>\r
-    </UpgradeBackupLocation>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java|AnyCPU' ">\r
-    <OutputPath>.\</OutputPath>\r
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>\r
-    <ConfigurationOverrideFile>\r
-    </ConfigurationOverrideFile>\r
-    <DefineConstants>DEBUG;TRACE;TARGET_JVM</DefineConstants>\r
-    <DocumentationFile>\r
-    </DocumentationFile>\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <FileAlignment>4096</FileAlignment>\r
-    <NoStdLib>false</NoStdLib>\r
-    <NoWarn>1595</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <RegisterForComInterop>false</RegisterForComInterop>\r
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>\r
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>\r
-    <WarningLevel>4</WarningLevel>\r
-    <DebugType>full</DebugType>\r
-    <ErrorReport>prompt</ErrorReport>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java|AnyCPU' ">\r
-    <OutputPath>bin\Release_Java\</OutputPath>\r
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>\r
-    <ConfigurationOverrideFile>\r
-    </ConfigurationOverrideFile>\r
-    <DefineConstants>TRACE;TARGET_JVM</DefineConstants>\r
-    <DocumentationFile>\r
-    </DocumentationFile>\r
-    <DebugSymbols>false</DebugSymbols>\r
-    <FileAlignment>4096</FileAlignment>\r
-    <NoStdLib>false</NoStdLib>\r
-    <NoWarn>1595</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <RegisterForComInterop>false</RegisterForComInterop>\r
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>\r
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>\r
-    <WarningLevel>4</WarningLevel>\r
-    <DebugType>none</DebugType>\r
-    <ErrorReport>prompt</ErrorReport>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <OutputPath>.\</OutputPath>\r
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>\r
-    <ConfigurationOverrideFile>\r
-    </ConfigurationOverrideFile>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <DocumentationFile>\r
-    </DocumentationFile>\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <FileAlignment>4096</FileAlignment>\r
-    <NoStdLib>false</NoStdLib>\r
-    <NoWarn>1595</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <RegisterForComInterop>false</RegisterForComInterop>\r
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>\r
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>\r
-    <WarningLevel>4</WarningLevel>\r
-    <DebugType>full</DebugType>\r
-    <ErrorReport>prompt</ErrorReport>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System">\r
-      <Name>System</Name>\r
-    </Reference>\r
-    <Reference Include="System.XML" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="XmlCompare.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="xslttest.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-    <Compile Include="XsltTestUtils.cs">\r
-      <SubType>Code</SubType>\r
-    </Compile>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\..\..\..\nunit20\core\nunit.core.dll20.csproj">\r
-      <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>\r
-      <Name>nunit.core.dll20</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\..\..\..\..\nunit20\framework\nunit.framework.dll20.csproj">\r
-      <Project>{83DD7E12-A705-4DBA-9D71-09C8973D9382}</Project>\r
-      <Name>nunit.framework.dll20</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-    </PreBuildEvent>\r
-    <PostBuildEvent>\r
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-</Project>
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.sln b/mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslt20.sln
deleted file mode 100644 (file)
index f0b0a8c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00\r
-# Visual Studio 2005\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xslt20", "xslt20.csproj", "{7D5A1B1C-4B8C-462B-86C8-0961A838A39D}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll20", "..\..\..\..\..\nunit20\framework\nunit.framework.dll20.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll20", "..\..\..\..\..\nunit20\core\nunit.core.dll20.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console20", "..\..\..\..\..\nunit20\nunit-console\nunit-console20.csproj", "{9367EC89-6A38-42BA-9607-0DC288E4BC3A}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug_Java|Any CPU = Debug_Java|Any CPU\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Debug-Strong|Any CPU = Debug-Strong|Any CPU\r
-               Release_Java|Any CPU = Release_Java|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java|Any CPU.ActiveCfg = Debug_Java|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java|Any CPU.Build.0 = Debug_Java|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug-Strong|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug-Strong|Any CPU.Build.0 = Debug|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java|Any CPU.ActiveCfg = Release_Java|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java|Any CPU.Build.0 = Release_Java|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release|Any CPU.ActiveCfg = Release_Java|Any CPU\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release|Any CPU.Build.0 = Release_Java|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug_Java|Any CPU.ActiveCfg = Debug-Strong|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug_Java|Any CPU.Build.0 = Debug-Strong|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug-Strong|Any CPU.ActiveCfg = Debug-Strong|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug-Strong|Any CPU.Build.0 = Debug-Strong|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release_Java|Any CPU.ActiveCfg = Release|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release_Java|Any CPU.Build.0 = Release|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug_Java|Any CPU.ActiveCfg = Debug-Strong|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug_Java|Any CPU.Build.0 = Debug-Strong|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug-Strong|Any CPU.ActiveCfg = Debug-Strong|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug-Strong|Any CPU.Build.0 = Debug-Strong|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release_Java|Any CPU.ActiveCfg = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release_Java|Any CPU.Build.0 = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug_Java|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug_Java|Any CPU.Build.0 = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug-Strong|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug-Strong|Any CPU.Build.0 = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release_Java|Any CPU.ActiveCfg = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release_Java|Any CPU.Build.0 = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.XML/Test/System.Xml/W3C/W3C.sln b/mcs/class/System.XML/Test/System.Xml/W3C/W3C.sln
deleted file mode 100644 (file)
index 19441fa..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "W3C", "W3C.vmwcsproj", "{7D5A1B1C-4B8C-462B-86C8-0961A838A39D}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.framework.dll.J2EE", "..\..\..\..\..\nunit20\framework\nunit.framework.dll.J2EE.vmwcsproj", "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.core.dll.J2EE", "..\..\..\..\..\nunit20\core\nunit.core.dll.J2EE.vmwcsproj", "{7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               Debug = Debug\r
-               Debug_Java = Debug_Java\r
-               Release_Java = Release_Java\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug.ActiveCfg = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug.Build.0 = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7D5A1B1C-4B8C-462B-86C8-0961A838A39D}.Release_Java.Build.0 = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.ActiveCfg = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.Build.0 = Debug|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.Build.0 = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.ActiveCfg = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug.Build.0 = Debug|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {7C52A6A5-71ED-4468-9564-2FF5CD6E6E6C}.Release_Java.Build.0 = Release_Java|.NET\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.XML/Test/System.Xml/W3C/W3C20.sln b/mcs/class/System.XML/Test/System.Xml/W3C/W3C20.sln
deleted file mode 100644 (file)
index cf9dea6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 9.00\r
-# Visual Studio 2005\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "W3C20", "W3C20.csproj", "{9DCE5474-B890-4237-ADAF-4C1375D1FA3A}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console20", "..\..\..\..\..\nunit20\nunit-console\nunit-console20.csproj", "{9367EC89-6A38-42BA-9607-0DC288E4BC3A}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll20", "..\..\..\..\..\nunit20\core\nunit.core.dll20.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll20", "..\..\..\..\..\nunit20\framework\nunit.framework.dll20.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.util.dll20", "..\..\..\..\..\nunit20\util\nunit.util.dll20.csproj", "{61CE9CE5-943E-44D4-A381-814DC1406767}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {9DCE5474-B890-4237-ADAF-4C1375D1FA3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {9DCE5474-B890-4237-ADAF-4C1375D1FA3A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {9DCE5474-B890-4237-ADAF-4C1375D1FA3A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {9DCE5474-B890-4237-ADAF-4C1375D1FA3A}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {9367EC89-6A38-42BA-9607-0DC288E4BC3A}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {83DD7E12-A705-4DBA-9D71-09C8973D9382}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {61CE9CE5-943E-44D4-A381-814DC1406767}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {61CE9CE5-943E-44D4-A381-814DC1406767}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {61CE9CE5-943E-44D4-A381-814DC1406767}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {61CE9CE5-943E-44D4-A381-814DC1406767}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/class/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs b/mcs/class/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs
deleted file mode 100644 (file)
index a34208a..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// AssemblyInfo.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Security;
-using System.Security.Permissions;
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about the assembly
-
-[assembly: AssemblyTitle ("System.Xml.XPath.XmlDocument.dll")]
-[assembly: AssemblyDescription ("System.Xml.XPath.XmlDocument.dll")]
-[assembly: AssemblyDefaultAlias ("System.Xml.XPath.XmlDocument.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
-[assembly: AssemblyVersion (Consts.FxVersion)]
-[assembly: SatelliteContractVersion (Consts.FxVersion)]
-[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
-[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
-
-[assembly: NeutralResourcesLanguage ("en-US")]
-[assembly: CLSCompliant (true)]
-[assembly: AssemblyDelaySign (true)]
-
-[assembly: AssemblyKeyFile("../msfinal.pub")]
-
-[assembly: SecurityCritical]
-
-[assembly: ComVisible (false)]
\ No newline at end of file
diff --git a/mcs/class/System.Xml.XPath.XmlDocument/Makefile b/mcs/class/System.Xml.XPath.XmlDocument/Makefile
deleted file mode 100644 (file)
index 504b374..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-thisdir = class/System.Xml.XPath.XmlDocument
-SUBDIRS = 
-include ../../build/rules.make
-
-LIBRARY = System.Xml.XPath.XmlDocument.dll
-LIB_REFS = System System.Xml
-LIB_MCS_FLAGS =
-
-NO_TEST = yes
-
-include ../../build/library.make
diff --git a/mcs/class/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources b/mcs/class/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources
deleted file mode 100644 (file)
index c5813ec..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-System.Xml/XmlDocumentXPathExtensions.cs
diff --git a/mcs/class/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs b/mcs/class/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs
deleted file mode 100644 (file)
index ee4968b..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// XmlDocumentXPathExtensions.cs
-//
-// Author:
-//   Alexander Köplinger (alexander.koeplinger@xamarin.com)
-//
-// (C) 2016 Xamarin, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Xml
-{
-       public static class XmlDocumentXPathExtensions
-       {
-               [MonoTODO]
-               public static XmlNodeList SelectNodes (this XmlNode node, string xpath)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XmlNodeList SelectNodes (this XmlNode node, string xpath, XmlNamespaceManager nsmgr)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XmlNode SelectSingleNode (this XmlNode node, string xpath)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XmlNode SelectSingleNode (this XmlNode node, string xpath, XmlNamespaceManager nsmgr)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XPath.XPathNavigator CreateNavigator (this XmlNode node)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XPath.IXPathNavigable ToXPathNavigable (this XmlNode node)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XPath.XPathNavigator CreateNavigator (this XmlDocument document)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public static XPath.XPathNavigator CreateNavigator (this XmlDocument document, XmlNode node)
-               {
-                       throw new NotImplementedException ();
-               }
-       }
-}
index 81f1b62a8ab96cb41973fcdcb1dab1eb010f709a..4fdabfd3ae3d22b8658a5a86dd5db672cc0edcd1 100644 (file)
@@ -16,6 +16,7 @@ using System;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Net.Security;
 using System.Security.Authentication;
 using System.Security.Cryptography.X509Certificates;
 
@@ -30,21 +31,26 @@ namespace Mono.AppleTls
 {
        class AppleTlsProvider : MonoTlsProvider
        {
-               static readonly Guid id = new Guid ("981af8af-a3a3-419a-9f01-a518e3a17c1c");
-
                public override string Name {
                        get { return "apple-tls"; }
                }
 
                public override Guid ID {
-                       get { return id; }
+                       get { return MNS.MonoTlsProviderFactory.AppleTlsId; }
                }
 
                public override IMonoSslStream CreateSslStream (
                        Stream innerStream, bool leaveInnerStreamOpen,
                        MonoTlsSettings settings = null)
                {
-                       return new AppleTlsStream (innerStream, leaveInnerStreamOpen, settings, this);
+                       return SslStream.CreateMonoSslStream (innerStream, leaveInnerStreamOpen, this, settings);
+               }
+
+               internal override IMonoSslStream CreateSslStreamInternal (
+                       SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen,
+                       MonoTlsSettings settings)
+               {
+                       return new AppleTlsStream (innerStream, leaveInnerStreamOpen, sslStream, settings, this);
                }
 
                public override bool SupportsSslStream {
index 749fec6d35d970b3ab557d148fd2f9d396c2c177..e3b9fa85933912d704580bbb9374cf43d822c188 100644 (file)
@@ -16,6 +16,7 @@ using System;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Net.Security;
 using System.Security.Authentication;
 using System.Security.Cryptography.X509Certificates;
 
@@ -30,8 +31,9 @@ namespace Mono.AppleTls
 {
        class AppleTlsStream : MNS.MobileAuthenticatedStream
        {
-               public AppleTlsStream (Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings, MonoTlsProvider provider)
-                       : base (innerStream, leaveInnerStreamOpen, settings, provider)
+               public AppleTlsStream (Stream innerStream, bool leaveInnerStreamOpen, SslStream owner,
+                                      MonoTlsSettings settings, MonoTlsProvider provider)
+                       : base (innerStream, leaveInnerStreamOpen, owner, settings, provider)
                {
                }
 
index 21aa003b4d8d7bea9aba8429bdb052f19bc7aca2..bd979345e0debc693cfe43b9c5db0c7ca096277e 100644 (file)
@@ -32,6 +32,7 @@ using System;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Net.Security;
 using System.Security.Cryptography.X509Certificates;
 using System.Security.Authentication;
 
@@ -49,10 +50,8 @@ namespace Mono.Btls
 {
        class MonoBtlsProvider : MonoTlsProvider
        {
-               static readonly Guid id = new Guid ("432d18c9-9348-4b90-bfbf-9f2a10e1f15b");
-
                public override Guid ID {
-                       get { return id; }
+                       get { return MNS.MonoTlsProviderFactory.BtlsId; }
                }
                public override string Name {
                        get { return "btls"; }
@@ -83,9 +82,16 @@ namespace Mono.Btls
                public override IMonoSslStream CreateSslStream (
                        Stream innerStream, bool leaveInnerStreamOpen,
                        MonoTlsSettings settings = null)
+               {
+                       return SslStream.CreateMonoSslStream (innerStream, leaveInnerStreamOpen, this, settings);
+               }
+
+               internal override IMonoSslStream CreateSslStreamInternal (
+                       SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen,
+                       MonoTlsSettings settings)
                {
                        return new MonoBtlsStream (
-                               innerStream, leaveInnerStreamOpen, settings, this);
+                               innerStream, leaveInnerStreamOpen, sslStream, settings, this);
                }
 
                internal override bool HasNativeCertificates {
index 38b6d83a4d6706ca62b1158e567f0ed2472faf38..e941fcd1c0c132674b6fa6d2f61871b4bfadf9bb 100644 (file)
@@ -30,6 +30,7 @@ extern alias MonoSecurity;
 
 using System;
 using System.IO;
+using System.Net.Security;
 using System.Security.Authentication;
 using System.Security.Cryptography.X509Certificates;
 
@@ -45,8 +46,9 @@ namespace Mono.Btls
 {
        class MonoBtlsStream : MNS.MobileAuthenticatedStream
        {
-               public MonoBtlsStream (Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings, MonoTlsProvider provider)
-                       : base (innerStream, leaveInnerStreamOpen, settings, provider)
+               public MonoBtlsStream (Stream innerStream, bool leaveInnerStreamOpen, SslStream owner,
+                                      MonoTlsSettings settings, MonoTlsProvider provider)
+                       : base (innerStream, leaveInnerStreamOpen, owner, settings, provider)
                {
                }
 
diff --git a/mcs/class/System/Mono.Net.Security/IMonoSslStream.cs b/mcs/class/System/Mono.Net.Security/IMonoSslStream.cs
deleted file mode 100644 (file)
index 69daf52..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-//
-// IMonoSslStream.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if SECURITY_DEP
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-#endif
-
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Security;
-using System.Threading.Tasks;
-using System.Security.Authentication;
-using System.Security.Cryptography.X509Certificates;
-using System.Security.Principal;
-using System.Security.Cryptography;
-
-namespace Mono.Net.Security
-{
-       interface IMonoSslStream : IDisposable
-       {
-               AuthenticatedStream AuthenticatedStream {
-                       get;
-               }
-
-               void AuthenticateAsClient (string targetHost);
-
-               void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
-
-               IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState);
-
-               IAsyncResult BeginAuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates,
-                                                       SslProtocols enabledSslProtocols, bool checkCertificateRevocation,
-                                                       AsyncCallback asyncCallback, object asyncState);
-
-               void EndAuthenticateAsClient (IAsyncResult asyncResult);
-
-               void AuthenticateAsServer (X509Certificate serverCertificate);
-
-               void AuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired,
-                                         SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
-
-               IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, AsyncCallback asyncCallback, object asyncState);
-
-               IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired,
-                                                       SslProtocols enabledSslProtocols, bool checkCertificateRevocation,
-                                                       AsyncCallback asyncCallback,
-                                                       object asyncState);
-
-               void EndAuthenticateAsServer (IAsyncResult asyncResult);
-
-               TransportContext TransportContext {
-                       get;
-               }
-
-               Task AuthenticateAsClientAsync (string targetHost);
-
-               Task AuthenticateAsClientAsync (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
-
-               Task AuthenticateAsServerAsync (X509Certificate serverCertificate);
-
-               Task AuthenticateAsServerAsync (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
-
-               //
-               //
-               // Base class properties
-               //
-               bool IsAuthenticated {
-                       get;
-               }
-
-               bool IsMutuallyAuthenticated {
-                       get;
-               }
-
-               bool IsEncrypted {
-                       get;
-               }
-
-               bool IsSigned {
-                       get;
-               }
-
-               bool IsServer {
-                       get;
-               }
-
-               //
-               //
-               //SSL specific properties
-               //
-               //
-               SslProtocols SslProtocol {
-                       get;
-               }
-
-               bool CheckCertRevocationStatus {
-                       get;
-               }
-
-               X509Certificate InternalLocalCertificate {
-                       get;
-               }
-
-               X509Certificate LocalCertificate {
-                       get;
-               }
-
-               X509Certificate RemoteCertificate {
-                       get;
-               }
-
-               //
-               // More informational properties
-               //
-               CipherAlgorithmType CipherAlgorithm {
-                       get;
-               }
-
-               int CipherStrength {
-                       get;
-               }
-
-               HashAlgorithmType HashAlgorithm {
-                       get;
-               }
-
-               int HashStrength {
-                       get;
-               }
-
-               ExchangeAlgorithmType KeyExchangeAlgorithm {
-                       get;
-               }
-
-               int KeyExchangeStrength {
-                       get;
-               }
-
-               //
-               //
-               // Stream contract implementation
-               //
-               //
-               //
-               bool CanRead {
-                       get;
-               }
-
-               bool CanTimeout {
-                       get;
-               }
-
-               bool CanWrite {
-                       get;
-               }
-
-               int ReadTimeout {
-                       get;
-                       set;
-               }
-
-               int WriteTimeout {
-                       get;
-                       set;
-               }
-
-               long Length {
-                       get;
-               }
-
-               long Position {
-                       get;
-               }
-
-               void SetLength (long value);
-
-               void Flush ();
-
-               int Read (byte[] buffer, int offset, int count);
-
-               void Write (byte[] buffer);
-
-               void Write (byte[] buffer, int offset, int count);
-
-               IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState);
-
-               int EndRead (IAsyncResult asyncResult);
-
-               IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState);
-
-               void EndWrite (IAsyncResult asyncResult);
-
-#if SECURITY_DEP
-               MSI.MonoTlsProvider Provider {
-                       get;
-               }
-
-               MSI.MonoTlsConnectionInfo GetConnectionInfo ();
-#endif
-       }
-}
diff --git a/mcs/class/System/Mono.Net.Security/IMonoTlsProvider.cs b/mcs/class/System/Mono.Net.Security/IMonoTlsProvider.cs
deleted file mode 100644 (file)
index 942b506..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// IMonoTlsProvider.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if SECURITY_DEP
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MonoSecurity::Mono.Security.Interface;
-#else
-using Mono.Security.Interface;
-#endif
-#endif
-
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Security;
-using System.Security.Cryptography.X509Certificates;
-
-namespace Mono.Net.Security
-{
-       /*
-        * For consumption within System.dll only - do not access from friend assemblies.
-        * 
-        * Unfortunately, there's some compiler madness involved when using Mono.Security.dll
-        * APIs from within System.dll because the compiler perceives those types which come
-        * from the prebuilt version of System.dll being different from those it's currently
-        * compiling.  At runtime, there is only one single System.dll, so these all map to
-        * the same actual type.
-        * 
-        * This internal interface helps to keep all this compilation stuff contained within
-        * the 'Mono.Net.Security.Private' namespace - this namespace should be considered
-        * strictly private and must not be accessed from files outside the Mono.Net.Security
-        * directory.
-        * 
-        */
-       interface IMonoTlsProvider
-       {
-#if SECURITY_DEP
-               MonoTlsProvider Provider {
-                       get;
-               }
-
-               IMonoSslStream CreateSslStream (
-                       Stream innerStream, bool leaveInnerStreamOpen,
-                       MonoTlsSettings settings);
-#endif
-       }
-}
index 1ca30e6c96daf0e2b1a8c457dab8464d83a2141e..a5572addc13c4583642104a84fd321feadbd07d9 100644 (file)
@@ -81,16 +81,16 @@ namespace Mono.Net.Security.Private
 
                SslStreamBase ssl_stream;
                ICertificateValidator certificateValidator;
-               MonoTlsProvider provider;
 
                #endregion // Fields
 
                #region Constructors
 
-               public LegacySslStream (Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings)
+               public LegacySslStream (Stream innerStream, bool leaveInnerStreamOpen, SslStream owner, MonoTlsProvider provider, MonoTlsSettings settings)
                        : base (innerStream, leaveInnerStreamOpen)
                {
-                       this.provider = provider;
+                       SslStream = owner;
+                       Provider = provider;
                        certificateValidator = ChainValidationHelper.GetInternalValidator (provider, settings);
                }
                #endregion // Constructors
@@ -583,11 +583,15 @@ namespace Mono.Net.Security.Private
                        get { throw new NotSupportedException (); }
                }
 
-               MonoTlsProvider IMonoSslStream.Provider {
-                       get { return provider; }
+               public SslStream SslStream {
+                       get;
                }
 
-               MonoTlsConnectionInfo IMonoSslStream.GetConnectionInfo ()
+               public MonoTlsProvider Provider {
+                       get;
+               }
+
+               public MonoTlsConnectionInfo GetConnectionInfo ()
                {
                        return null;
                }
index 7048f44c7b29d1310a6653149f0f8480ccf653ad..a67b1ff069e9c67c83a61f73e65c04165ad54af6 100644 (file)
@@ -48,10 +48,8 @@ namespace Mono.Net.Security
         */
        class LegacyTlsProvider : MSI.MonoTlsProvider
        {
-               static readonly Guid id = new Guid ("809e77d5-56cc-4da8-b9f0-45e65ba9cceb");
-
                public override Guid ID {
-                       get { return id; }
+                       get { return MonoTlsProviderFactory.LegacyId; }
                }
 
                public override string Name {
@@ -78,8 +76,14 @@ namespace Mono.Net.Security
                        Stream innerStream, bool leaveInnerStreamOpen,
                        MSI.MonoTlsSettings settings = null)
                {
-                       var impl = new Private.LegacySslStream (innerStream, leaveInnerStreamOpen, this, settings);
-                       return new Private.MonoSslStreamImpl (impl);
+                       return SslStream.CreateMonoSslStream (innerStream, leaveInnerStreamOpen, this, settings);
+               }
+
+               internal override MSI.IMonoSslStream CreateSslStreamInternal (
+                       SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen,
+                       MSI.MonoTlsSettings settings)
+               {
+                       return new Private.LegacySslStream (innerStream, leaveInnerStreamOpen, sslStream, this, settings);
                }
 
                internal override bool ValidateCertificate (
index 8ca8fb6575455eefcd1ce6e67d3adb46d0e75b8c..1e57c67341597cd191bf27b21a245ee276972b7d 100644 (file)
@@ -50,10 +50,11 @@ namespace Mono.Net.Security
 
                static int uniqueNameInteger = 123;
 
-               public MobileAuthenticatedStream (Stream innerStream, bool leaveInnerStreamOpen,
+               public MobileAuthenticatedStream (Stream innerStream, bool leaveInnerStreamOpen, SslStream owner,
                                                  MSI.MonoTlsSettings settings, MSI.MonoTlsProvider provider)
                        : base (innerStream, leaveInnerStreamOpen)
                {
+                       SslStream = owner;
                        Settings = settings;
                        Provider = provider;
 
@@ -61,18 +62,16 @@ namespace Mono.Net.Security
                        writeBuffer = new BufferOffsetSize2 (16384);
                }
 
-               public MSI.MonoTlsSettings Settings {
+               public SslStream SslStream {
                        get;
-                       private set;
                }
 
-               public MSI.MonoTlsProvider Provider {
+               public MSI.MonoTlsSettings Settings {
                        get;
-                       private set;
                }
 
-               MSI.MonoTlsProvider MSI.IMonoSslStream.Provider {
-                       get { return Provider; }
+               public MSI.MonoTlsProvider Provider {
+                       get;
                }
 
                internal bool HasContext {
diff --git a/mcs/class/System/Mono.Net.Security/MonoSslStreamImpl.cs b/mcs/class/System/Mono.Net.Security/MonoSslStreamImpl.cs
deleted file mode 100644 (file)
index f8a83bb..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-//
-// MonoSslStream.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Security;
-using System.Threading.Tasks;
-using System.Security.Authentication;
-using System.Security.Cryptography.X509Certificates;
-using System.Security.Principal;
-using System.Security.Cryptography;
-
-namespace Mono.Net.Security.Private
-{
-       /*
-        * Strictly private - do not use outside the Mono.Net.Security directory.
-        */
-       class MonoSslStreamImpl : MSI.IMonoSslStream
-       {
-               IMonoSslStream impl;
-
-               internal IMonoSslStream Impl {
-                       get {
-                               CheckDisposed ();
-                               return impl;
-                       }
-               }
-
-               public MonoSslStreamImpl (IMonoSslStream impl)
-               {
-                       this.impl = impl;
-               }
-
-               public void AuthenticateAsClient (string targetHost)
-               {
-                       Impl.AuthenticateAsClient (targetHost);
-               }
-
-               public void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       Impl.AuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsClient (targetHost, asyncCallback, asyncState);
-               }
-
-               public IAsyncResult BeginAuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
-               }
-
-               public void EndAuthenticateAsClient (IAsyncResult asyncResult)
-               {
-                       Impl.EndAuthenticateAsClient (asyncResult);
-               }
-
-               public void AuthenticateAsServer (X509Certificate serverCertificate)
-               {
-                       Impl.AuthenticateAsServer (serverCertificate);
-               }
-
-               public void AuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       Impl.AuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsServer (serverCertificate, asyncCallback, asyncState);
-               }
-
-               public IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
-               }
-
-               public void EndAuthenticateAsServer (IAsyncResult asyncResult)
-               {
-                       Impl.EndAuthenticateAsServer (asyncResult);
-               }
-
-               public Task AuthenticateAsClientAsync (string targetHost)
-               {
-                       return Impl.AuthenticateAsClientAsync (targetHost);
-               }
-
-               public Task AuthenticateAsClientAsync (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       return Impl.AuthenticateAsClientAsync (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public Task AuthenticateAsServerAsync (X509Certificate serverCertificate)
-               {
-                       return Impl.AuthenticateAsServerAsync (serverCertificate);
-               }
-
-               public Task AuthenticateAsServerAsync (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       return Impl.AuthenticateAsServerAsync (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public void Flush ()
-               {
-                       Impl.Flush ();
-               }
-
-               public int Read (byte[] buffer, int offset, int count)
-               {
-                       return Impl.Read (buffer, offset, count);
-               }
-
-               public void Write (byte[] buffer)
-               {
-                       Impl.Write (buffer);
-               }
-
-               public void Write (byte[] buffer, int offset, int count)
-               {
-                       Impl.Write (buffer, offset, count);
-               }
-
-               public IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginRead (buffer, offset, count, asyncCallback, asyncState);
-               }
-
-               public int EndRead (IAsyncResult asyncResult)
-               {
-                       return Impl.EndRead (asyncResult);
-               }
-
-               public IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginWrite (buffer, offset, count, asyncCallback, asyncState);
-               }
-
-               public void EndWrite (IAsyncResult asyncResult)
-               {
-                       Impl.EndWrite (asyncResult);
-               }
-
-               public TransportContext TransportContext {
-                       get { return Impl.TransportContext; }
-               }
-
-               public bool IsAuthenticated {
-                       get { return Impl.IsAuthenticated; }
-               }
-
-               public bool IsMutuallyAuthenticated {
-                       get { return Impl.IsMutuallyAuthenticated; }
-               }
-
-               public bool IsEncrypted {
-                       get { return Impl.IsEncrypted; }
-               }
-
-               public bool IsSigned {
-                       get { return Impl.IsSigned; }
-               }
-
-               public bool IsServer {
-                       get { return Impl.IsServer; }
-               }
-
-               public CipherAlgorithmType CipherAlgorithm {
-                       get { return Impl.CipherAlgorithm; }
-               }
-
-               public int CipherStrength {
-                       get { return Impl.CipherStrength; }
-               }
-
-               public HashAlgorithmType HashAlgorithm {
-                       get { return Impl.HashAlgorithm; }
-               }
-
-               public int HashStrength {
-                       get { return Impl.HashStrength; }
-               }
-
-               public ExchangeAlgorithmType KeyExchangeAlgorithm {
-                       get { return Impl.KeyExchangeAlgorithm; }
-               }
-
-               public int KeyExchangeStrength {
-                       get { return Impl.KeyExchangeStrength; }
-               }
-
-               public bool CanRead {
-                       get { return Impl.CanRead; }
-               }
-
-               public bool CanTimeout {
-                       get { return Impl.CanTimeout; }
-               }
-
-               public bool CanWrite {
-                       get { return Impl.CanWrite; }
-               }
-
-               public long Length {
-                       get { return Impl.Length; }
-               }
-
-               public long Position {
-                       get { return Impl.Position; }
-               }
-
-               public void SetLength (long value)
-               {
-                       Impl.SetLength (value);
-               }
-
-               public AuthenticatedStream AuthenticatedStream {
-                       get { return Impl.AuthenticatedStream; }
-               }
-
-               public int ReadTimeout {
-                       get { return Impl.ReadTimeout; }
-                       set { Impl.ReadTimeout = value; }
-               }
-
-               public int WriteTimeout {
-                       get { return Impl.WriteTimeout; }
-                       set { Impl.WriteTimeout = value; }
-               }
-
-               public bool CheckCertRevocationStatus {
-                       get { return Impl.CheckCertRevocationStatus; }
-               }
-
-               public X509Certificate InternalLocalCertificate {
-                       get { return Impl.InternalLocalCertificate; }
-               }
-
-               public X509Certificate LocalCertificate {
-                       get { return Impl.LocalCertificate; }
-               }
-
-               public X509Certificate RemoteCertificate {
-                       get { return Impl.RemoteCertificate; }
-               }
-
-               public SslProtocols SslProtocol {
-                       get { return Impl.SslProtocol; }
-               }
-
-               public MSI.MonoTlsProvider Provider {
-                       get { return Impl.Provider; }
-               }
-
-               public MSI.MonoTlsConnectionInfo GetConnectionInfo ()
-               {
-                       return Impl.GetConnectionInfo ();
-               }
-
-               void CheckDisposed ()
-               {
-                       if (impl == null)
-                               throw new ObjectDisposedException ("MonoSslStream");
-               }
-
-               public void Dispose ()
-               {
-                       Dispose (true);
-                       GC.SuppressFinalize (this);
-               }
-
-               protected virtual void Dispose (bool disposing)
-               {
-                       if (impl != null && disposing) {
-                               impl.Dispose ();
-                               impl = null;
-                       }
-               }
-       }
-}
-#endif
-
diff --git a/mcs/class/System/Mono.Net.Security/MonoSslStreamWrapper.cs b/mcs/class/System/Mono.Net.Security/MonoSslStreamWrapper.cs
deleted file mode 100644 (file)
index 0cf6d39..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-//
-// MonoSslStreamImpl.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Security;
-using System.Security.Authentication;
-using System.Security.Cryptography.X509Certificates;
-using System.Security.Principal;
-using System.Security.Cryptography;
-
-using System.Threading.Tasks;
-
-namespace Mono.Net.Security.Private
-{
-       class MonoSslStreamWrapper : IMonoSslStream
-       {
-               MSI.IMonoSslStream impl;
-
-               internal MSI.IMonoSslStream Impl {
-                       get {
-                               CheckDisposed ();
-                               return impl;
-                       }
-               }
-
-               public MonoSslStreamWrapper (MSI.IMonoSslStream impl)
-               {
-                       this.impl = impl;
-               }
-
-               public void AuthenticateAsClient (string targetHost)
-               {
-                       Impl.AuthenticateAsClient (targetHost);
-               }
-
-               public void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       Impl.AuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsClient (targetHost, asyncCallback, asyncState);
-               }
-
-               public IAsyncResult BeginAuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
-               }
-
-               public void EndAuthenticateAsClient (IAsyncResult asyncResult)
-               {
-                       Impl.EndAuthenticateAsClient (asyncResult);
-               }
-
-               public void AuthenticateAsServer (X509Certificate serverCertificate)
-               {
-                       Impl.AuthenticateAsServer (serverCertificate);
-               }
-
-               public void AuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       Impl.AuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsServer (serverCertificate, asyncCallback, asyncState);
-               }
-
-               public IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginAuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
-               }
-
-               public void EndAuthenticateAsServer (IAsyncResult asyncResult)
-               {
-                       Impl.EndAuthenticateAsServer (asyncResult);
-               }
-
-               public Task AuthenticateAsClientAsync (string targetHost)
-               {
-                       return Impl.AuthenticateAsClientAsync (targetHost);
-               }
-
-               public Task AuthenticateAsClientAsync (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       return Impl.AuthenticateAsClientAsync (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public Task AuthenticateAsServerAsync (X509Certificate serverCertificate)
-               {
-                       return Impl.AuthenticateAsServerAsync (serverCertificate);
-               }
-
-               public Task AuthenticateAsServerAsync (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
-               {
-                       return Impl.AuthenticateAsServerAsync (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
-               }
-
-               public void Flush ()
-               {
-                       Impl.Flush ();
-               }
-
-               public int Read (byte[] buffer, int offset, int count)
-               {
-                       return Impl.Read (buffer, offset, count);
-               }
-
-               public void Write (byte[] buffer)
-               {
-                       Impl.Write (buffer);
-               }
-
-               public void Write (byte[] buffer, int offset, int count)
-               {
-                       Impl.Write (buffer, offset, count);
-               }
-
-               public IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginRead (buffer, offset, count, asyncCallback, asyncState);
-               }
-
-               public int EndRead (IAsyncResult asyncResult)
-               {
-                       return Impl.EndRead (asyncResult);
-               }
-
-               public IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
-               {
-                       return Impl.BeginWrite (buffer, offset, count, asyncCallback, asyncState);
-               }
-
-               public void EndWrite (IAsyncResult asyncResult)
-               {
-                       Impl.EndWrite (asyncResult);
-               }
-
-               public TransportContext TransportContext {
-                       get { return Impl.TransportContext; }
-               }
-
-               public bool IsAuthenticated {
-                       get { return Impl.IsAuthenticated; }
-               }
-
-               public bool IsMutuallyAuthenticated {
-                       get { return Impl.IsMutuallyAuthenticated; }
-               }
-
-               public bool IsEncrypted {
-                       get { return Impl.IsEncrypted; }
-               }
-
-               public bool IsSigned {
-                       get { return Impl.IsSigned; }
-               }
-
-               public bool IsServer {
-                       get { return Impl.IsServer; }
-               }
-
-               public CipherAlgorithmType CipherAlgorithm {
-                       get { return (CipherAlgorithmType)Impl.CipherAlgorithm; }
-               }
-
-               public int CipherStrength {
-                       get { return Impl.CipherStrength; }
-               }
-
-               public HashAlgorithmType HashAlgorithm {
-                       get { return (HashAlgorithmType)Impl.HashAlgorithm; }
-               }
-
-               public int HashStrength {
-                       get { return Impl.HashStrength; }
-               }
-
-               public ExchangeAlgorithmType KeyExchangeAlgorithm {
-                       get { return (ExchangeAlgorithmType)Impl.KeyExchangeAlgorithm; }
-               }
-
-               public int KeyExchangeStrength {
-                       get { return Impl.KeyExchangeStrength; }
-               }
-
-               public bool CanRead {
-                       get { return Impl.CanRead; }
-               }
-
-               public bool CanTimeout {
-                       get { return Impl.CanTimeout; }
-               }
-
-               public bool CanWrite {
-                       get { return Impl.CanWrite; }
-               }
-
-               public long Length {
-                       get { return Impl.Length; }
-               }
-
-               public long Position {
-                       get { return Impl.Position; }
-               }
-
-               public void SetLength (long value)
-               {
-                       Impl.SetLength (value);
-               }
-
-               public AuthenticatedStream AuthenticatedStream {
-                       get { return Impl.AuthenticatedStream; }
-               }
-
-               public int ReadTimeout {
-                       get { return Impl.ReadTimeout; }
-                       set { Impl.ReadTimeout = value; }
-               }
-
-               public int WriteTimeout {
-                       get { return Impl.WriteTimeout; }
-                       set { Impl.WriteTimeout = value; }
-               }
-
-               public bool CheckCertRevocationStatus {
-                       get { return Impl.CheckCertRevocationStatus; }
-               }
-
-               X509Certificate IMonoSslStream.InternalLocalCertificate {
-                       get { return Impl.InternalLocalCertificate; }
-               }
-
-               public X509Certificate LocalCertificate {
-                       get { return Impl.LocalCertificate; }
-               }
-
-               public X509Certificate RemoteCertificate {
-                       get { return Impl.RemoteCertificate; }
-               }
-
-               public SslProtocols SslProtocol {
-                       get { return (SslProtocols)Impl.SslProtocol; }
-               }
-
-               public MSI.MonoTlsProvider Provider {
-                       get { return Impl.Provider; }
-               }
-
-               public MSI.MonoTlsConnectionInfo GetConnectionInfo ()
-               {
-                       return Impl.GetConnectionInfo ();
-               }
-
-               void CheckDisposed ()
-               {
-                       if (impl == null)
-                               throw new ObjectDisposedException ("MonoSslStream");
-               }
-
-               public void Dispose ()
-               {
-                       Dispose (true);
-                       GC.SuppressFinalize (this);
-               }
-
-               protected void Dispose (bool disposing)
-               {
-                       if (impl != null && disposing) {
-                               impl.Dispose ();
-                               impl = null;
-                       }
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Apple.cs b/mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Apple.cs
deleted file mode 100644 (file)
index bf326e5..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-//
-// MonoTlsProviderFactory.cs
-//
-// Author:
-//      Chris Hamons  <chris.hamons@xamarin.com>
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if !ONLY_APPLETLS
-#error Use MonoTlsProviderFactory.cs instead
-#endif
-
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-using MSI = MonoSecurity::Mono.Security.Interface;
-using MX = MonoSecurity::Mono.Security.X509;
-#else
-using MSI = Mono.Security.Interface;
-using MX = Mono.Security.X509;
-#endif
-using System.Security.Cryptography.X509Certificates;
-using Mono.AppleTls;
-
-#endif
-
-using System;
-using System.Net;
-using System.Collections.Generic;
-using System.Runtime.CompilerServices;
-
-namespace Mono.Net.Security
-{
-       /*
-        * Keep in sync with Mono.Security/Mono.Security.Interface/MonoTlsProvider.cs.
-        * Simple implementation that does hard codes only a single provider
-        */
-       static partial class MonoTlsProviderFactory
-       {
-               #region Internal API
-
-               /*
-                * APIs in this section are for consumption within System.dll only - do not access via
-                * reflection or from friend assemblies.
-                * 
-                * @IMonoTlsProvider is defined as empty interface outside 'SECURITY_DEP', so we don't need
-                * this conditional here.
-                */
-
-               internal static IMonoTlsProvider GetProviderInternal ()
-               {
-#if SECURITY_DEP
-                       return GetTlsProvider ();
-#else
-                       throw new NotSupportedException ("TLS Support not available.");
-#endif
-               }
-               
-               #endregion
-
-#if SECURITY_DEP
-               static object locker = new object ();
-               static IMonoTlsProvider provider;
-               static IMonoTlsProvider GetTlsProvider ()
-               {
-                       lock (locker) {
-                               if (provider == null)
-                                       provider = new Private.MonoTlsProviderWrapper (new AppleTlsProvider ());
-                               return provider;
-                       }
-               }
-
-
-               #region Mono.Security visible API
-
-               /*
-                * "Public" section, intended to be consumed via reflection.
-                * 
-                * Mono.Security.dll provides a public wrapper around these.
-                */
-
-               internal static MSI.MonoTlsProvider GetProvider ()
-               {
-                       return GetTlsProvider ().Provider;
-               }
-
-               internal static bool IsProviderSupported (string name)
-               {
-                       return true;
-               }
-
-               internal static MSI.MonoTlsProvider GetProvider (string name)
-               {
-                       return GetTlsProvider ().Provider;
-               }
-
-               internal static bool IsInitialized => true;
-
-               internal static void Initialize ()
-               {
-               }
-
-               internal static void Initialize (string provider)
-               {
-               }
-
-               internal static HttpWebRequest CreateHttpsRequest (Uri requestUri, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings)
-               {
-                       lock (locker) {
-                               var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null;
-                               return new HttpWebRequest (requestUri, internalProvider, settings);
-                       }
-               }
-
-               internal static HttpListener CreateHttpListener (X509Certificate certificate, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings)
-               {
-                       lock (locker) {
-                               var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null;
-                               return new HttpListener (certificate, internalProvider, settings);
-                       }
-               }
-               #endregion
-#endif
-       }
-}
-
diff --git a/mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Droid.cs b/mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.Droid.cs
deleted file mode 100644 (file)
index 49ac9fd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2015 Xamarin Inc. All rights reserved.
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-
-#if MONO_FEATURE_BTLS
-using Mono.Btls;
-#endif
-
-using System;
-
-namespace Mono.Net.Security
-{
-       static partial class MonoTlsProviderFactory
-       {
-               static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
-               {
-                       MSI.MonoTlsProvider provider = null;
-                       var type = Environment.GetEnvironmentVariable ("XA_TLS_PROVIDER");
-                       switch (type) {
-                       case null:
-                       case "default":
-                       case "legacy":
-                               return new LegacyTlsProvider ();
-#if MONO_FEATURE_BTLS
-                       case "btls":
-                               if (!IsBtlsSupported ())
-                                       throw new NotSupportedException ("BTLS in not supported!");
-                               return new MonoBtlsProvider ();
-#endif
-                       default:
-                               throw new NotSupportedException (string.Format ("Invalid TLS Provider: `{0}'.", provider));
-                       }
-               }
-       }
-}
-#endif
index 75138d8c715cf3d98741fd11398d41e1956a8f32..96d81315139bdede6a05c6d2a4b36aeb5701b453 100644 (file)
@@ -24,9 +24,8 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-#if !ONLY_APPLETLS // ONLY_APPLETLS uses MonoTlsProviderFactory.Apple.cs instead 
-
 #if SECURITY_DEP
+
 #if MONO_SECURITY_ALIAS
 extern alias MonoSecurity;
 using MSI = MonoSecurity::Mono.Security.Interface;
@@ -36,13 +35,20 @@ using MSI = Mono.Security.Interface;
 using MX = Mono.Security.X509;
 #endif
 using System.Security.Cryptography.X509Certificates;
-#endif
 
 using System;
 using System.Net;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
 
+#if MONO_FEATURE_BTLS
+using Mono.Btls;
+#endif
+
+#if MONO_FEATURE_APPLETLS
+using Mono.AppleTls;
+#endif
+
 #if !MOBILE
 using System.Reflection;
 #endif
@@ -55,29 +61,22 @@ namespace Mono.Net.Security
         */
        static partial class MonoTlsProviderFactory
        {
-               #region Internal API
+#region Internal API
 
                /*
                 * APIs in this section are for consumption within System.dll only - do not access via
                 * reflection or from friend assemblies.
                 * 
-                * @IMonoTlsProvider is defined as empty interface outside 'SECURITY_DEP', so we don't need
-                * this conditional here.
                 */
 
-               internal static IMonoTlsProvider GetProviderInternal ()
+               internal static MSI.MonoTlsProvider GetProviderInternal ()
                {
-                       #if SECURITY_DEP
                        lock (locker) {
                                InitializeInternal ();
                                return defaultProvider;
                        }
-                       #else
-                       throw new NotSupportedException ("TLS Support not available.");
-                       #endif
                }
 
-#if SECURITY_DEP
                internal static void InitializeInternal ()
                {
                        lock (locker) {
@@ -94,7 +93,12 @@ namespace Mono.Net.Security
                                if (provider == null)
                                        throw new NotSupportedException ("TLS Support not available.");
 
-                               defaultProvider = new Private.MonoTlsProviderWrapper (provider);
+                               if (!providerCache.ContainsKey (provider.ID))
+                                       providerCache.Add (provider.ID, provider);
+
+                               X509Helper2.Initialize ();
+
+                               defaultProvider = provider;
                                initialized = true;
                        }
                }
@@ -105,80 +109,164 @@ namespace Mono.Net.Security
                                if (initialized)
                                        throw new NotSupportedException ("TLS Subsystem already initialized.");
 
-                               var msiProvider = LookupProvider (provider, true);
-                               defaultProvider = new Private.MonoTlsProviderWrapper (msiProvider);
+                               defaultProvider = LookupProvider (provider, true);
+
+                               X509Helper2.Initialize ();
                                initialized = true;
                        }
                }
 
-               [MethodImpl (MethodImplOptions.InternalCall)]
-               internal extern static bool IsBtlsSupported ();
-
                static object locker = new object ();
                static bool initialized;
 
-               static IMonoTlsProvider defaultProvider;
-#endif
-               #endregion
+               static MSI.MonoTlsProvider defaultProvider;
 
-#if SECURITY_DEP
-
-               static Dictionary<string,string> providerRegistration;
+               /*
+                * @providerRegistration maps provider names to a tuple containing its ID and full type name.
+                * On non-reflection enabled systems (such as XI and XM), we can use the Guid to uniquely
+                * identify the provider.
+                *
+                * @providerCache maps the provider's Guid to the MSI.MonoTlsProvider instance.
+                *
+                */
+               static Dictionary<string,Tuple<Guid,string>> providerRegistration;
+               static Dictionary<Guid,MSI.MonoTlsProvider> providerCache;
 
+#if !ONLY_APPLETLS && !MONOTOUCH && !XAMMAC
                static Type LookupProviderType (string name, bool throwOnError)
                {
                        lock (locker) {
                                InitializeProviderRegistration ();
-                               string typeName;
-                               if (!providerRegistration.TryGetValue (name, out typeName)) {
+                               Tuple<Guid,string> entry;
+                               if (!providerRegistration.TryGetValue (name, out entry)) {
                                        if (throwOnError)
                                                throw new NotSupportedException (string.Format ("No such TLS Provider: `{0}'.", name));
                                        return null;
                                }
-                               var type = Type.GetType (typeName, false);
+                               var type = Type.GetType (entry.Item2, false);
                                if (type == null && throwOnError)
-                                       throw new NotSupportedException (string.Format ("Could not find TLS Provider: `{0}'.", typeName));
+                                       throw new NotSupportedException (string.Format ("Could not find TLS Provider: `{0}'.", entry.Item2));
                                return type;
                        }
                }
+#endif
 
                static MSI.MonoTlsProvider LookupProvider (string name, bool throwOnError)
                {
-                       var type = LookupProviderType (name, throwOnError);
-                       if (type == null)
-                               return null;
-
-                       try {
-                               return (MSI.MonoTlsProvider)Activator.CreateInstance (type, true);
-                       } catch (Exception ex) {
-                               throw new NotSupportedException (string.Format ("Unable to instantiate TLS Provider `{0}'.", type), ex);
+                       lock (locker) {
+                               InitializeProviderRegistration ();
+                               Tuple<Guid,string> entry;
+                               if (!providerRegistration.TryGetValue (name, out entry)) {
+                                       if (throwOnError)
+                                               throw new NotSupportedException (string.Format ("No such TLS Provider: `{0}'.", name));
+                                       return null;
+                               }
+
+                               // Check cache before doing the reflection lookup.
+                               MSI.MonoTlsProvider provider;
+                               if (providerCache.TryGetValue (entry.Item1, out provider))
+                                       return provider;
+
+#if !ONLY_APPLETLS && !MONOTOUCH && !XAMMAC
+                               var type = Type.GetType (entry.Item2, false);
+                               if (type == null && throwOnError)
+                                       throw new NotSupportedException (string.Format ("Could not find TLS Provider: `{0}'.", entry.Item2));
+
+                               try {
+                                       provider = (MSI.MonoTlsProvider)Activator.CreateInstance (type, true);
+                               } catch (Exception ex) {
+                                       throw new NotSupportedException (string.Format ("Unable to instantiate TLS Provider `{0}'.", type), ex);
+                               }
+#endif
+
+                               if (provider == null) {
+                                       if (throwOnError)
+                                               throw new NotSupportedException (string.Format ("No such TLS Provider: `{0}'.", name));
+                                       return null;
+                               }
+
+                               providerCache.Add (entry.Item1, provider);
+                               return provider;
                        }
                }
 
+#endregion
+
+               internal static readonly Guid AppleTlsId = new Guid ("981af8af-a3a3-419a-9f01-a518e3a17c1c");
+               internal static readonly Guid BtlsId = new Guid ("432d18c9-9348-4b90-bfbf-9f2a10e1f15b");
+               internal static readonly Guid LegacyId = new Guid ("809e77d5-56cc-4da8-b9f0-45e65ba9cceb");
+
                static void InitializeProviderRegistration ()
                {
                        lock (locker) {
                                if (providerRegistration != null)
                                        return;
-                               providerRegistration = new Dictionary<string,string> ();
-                               providerRegistration.Add ("legacy", "Mono.Net.Security.LegacyTlsProvider");
-                       
+                               providerRegistration = new Dictionary<string,Tuple<Guid,string>> ();
+                               providerCache = new Dictionary<Guid,MSI.MonoTlsProvider> ();
+
+                               var appleTlsEntry = new Tuple<Guid,String> (AppleTlsId, "Mono.AppleTls.AppleTlsProvider");
+
+#if ONLY_APPLETLS || MONOTOUCH || XAMMAC
+                               providerRegistration.Add ("default", appleTlsEntry);
+                               providerRegistration.Add ("apple", appleTlsEntry);
+#else
+                               var legacyEntry = new Tuple<Guid,String> (LegacyId, "Mono.Net.Security.LegacyTlsProvider");
+                               providerRegistration.Add ("legacy", legacyEntry);
+
+                               Tuple<Guid,String> btlsEntry = null;
+#if MONO_FEATURE_BTLS
+                               if (IsBtlsSupported ()) {
+                                       btlsEntry = new Tuple<Guid,String> (BtlsId, "Mono.Btls.MonoBtlsProvider");
+                                       providerRegistration.Add ("btls", btlsEntry);
+                               }
+#endif
+
                                if (Platform.IsMacOS)
-                                       providerRegistration.Add ("default", "Mono.AppleTls.AppleTlsProvider");
+                                       providerRegistration.Add ("default", appleTlsEntry);
+                               else if (btlsEntry != null)
+                                       providerRegistration.Add ("default", btlsEntry);
                                else
-                                       providerRegistration.Add ("default", "Mono.Net.Security.LegacyTlsProvider");
+                                       providerRegistration.Add ("default", legacyEntry);
 
-                               if (IsBtlsSupported ())
-                                       providerRegistration.Add ("btls", "Mono.Btls.MonoBtlsProvider");
-                       
-                               providerRegistration.Add ("apple", "Mono.AppleTls.AppleTlsProvider");
-                               
-                               X509Helper2.Initialize ();
+                               providerRegistration.Add ("apple", appleTlsEntry);
+#endif
                        }
                }
 
-#if !MONODROID && !MONOTOUCH && !XAMMAC
-               static MSI.MonoTlsProvider TryDynamicLoad ()
+#region Platform-Specific code
+
+#if MONO_FEATURE_BTLS
+               [MethodImpl (MethodImplOptions.InternalCall)]
+               internal extern static bool IsBtlsSupported ();
+#endif
+
+#if MONODROID
+               static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
+               {
+                       MSI.MonoTlsProvider provider = null;
+                       var type = Environment.GetEnvironmentVariable ("XA_TLS_PROVIDER");
+                       switch (type) {
+                       case null:
+                       case "default":
+                       case "legacy":
+                               return new LegacyTlsProvider ();
+#if MONO_FEATURE_BTLS
+                       case "btls":
+                               if (!IsBtlsSupported ())
+                                       throw new NotSupportedException ("BTLS in not supported!");
+                               return new MonoBtlsProvider ();
+#endif
+                       default:
+                               throw new NotSupportedException (string.Format ("Invalid TLS Provider: `{0}'.", provider));
+                       }
+               }
+#elif ONLY_APPLETLS || MONOTOUCH || XAMMAC
+               static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
+               {
+                       return new AppleTlsProvider ();
+               }
+#else
+               static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
                {
                        var variable = Environment.GetEnvironmentVariable ("MONO_TLS_PROVIDER");
                        if (string.IsNullOrEmpty (variable))
@@ -186,18 +274,11 @@ namespace Mono.Net.Security
 
                        return LookupProvider (variable, true);
                }
-
-               static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
-               {
-                       var provider = TryDynamicLoad ();
-                       if (provider != null)
-                               return provider;
-
-                       return new LegacyTlsProvider ();
-               }
 #endif
 
-               #region Mono.Security visible API
+#endregion
+
+#region Mono.Security visible API
 
                /*
                 * "Public" section, intended to be consumed via reflection.
@@ -211,12 +292,15 @@ namespace Mono.Net.Security
                        if (provider == null)
                                throw new NotSupportedException ("No TLS Provider available.");
 
-                       return provider.Provider;
+                       return provider;
                }
 
                internal static bool IsProviderSupported (string name)
                {
-                       return LookupProvider (name, false) != null;
+                       lock (locker) {
+                               InitializeProviderRegistration ();
+                               return providerRegistration.ContainsKey (name);
+                       }
                }
 
                internal static MSI.MonoTlsProvider GetProvider (string name)
@@ -234,41 +318,14 @@ namespace Mono.Net.Security
 
                internal static void Initialize ()
                {
-                       #if SECURITY_DEP
                        InitializeInternal ();
-                       #else
-                       throw new NotSupportedException ("TLS Support not available.");
-                       #endif
                }
 
                internal static void Initialize (string provider)
                {
-                       #if SECURITY_DEP
                        InitializeInternal (provider);
-                       #else
-                       throw new NotSupportedException ("TLS Support not available.");
-                       #endif
                }
-
-               internal static HttpWebRequest CreateHttpsRequest (Uri requestUri, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings)
-               {
-                       lock (locker) {
-                               var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null;
-                               return new HttpWebRequest (requestUri, internalProvider, settings);
-                       }
-               }
-
-               internal static HttpListener CreateHttpListener (X509Certificate certificate, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings)
-               {
-                       lock (locker) {
-                               var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null;
-                               return new HttpListener (certificate, internalProvider, settings);
-                       }
-               }
-               #endregion
-
-#endif
-
+#endregion
        }
 }
 #endif
diff --git a/mcs/class/System/Mono.Net.Security/MonoTlsProviderWrapper.cs b/mcs/class/System/Mono.Net.Security/MonoTlsProviderWrapper.cs
deleted file mode 100644 (file)
index 0a81f4f..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// MonoTlsProviderWrapper.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.com>
-//
-// Copyright (c) 2015 Xamarin, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Security;
-using System.Security.Cryptography.X509Certificates;
-
-namespace Mono.Net.Security.Private
-{
-       /*
-        * Strictly private - do not use outside the Mono.Net.Security directory.
-        * 
-        * This is used by MonoTlsProviderFactory.InstallProvider() to wrap and masquerade
-        * a user-supplied @MonoTlsProvider as @IMonoTlsProvider.
-        */
-       class MonoTlsProviderWrapper : IMonoTlsProvider
-       {
-               MSI.MonoTlsProvider provider;
-
-               public MonoTlsProviderWrapper (MSI.MonoTlsProvider provider)
-               {
-                       this.provider = provider;
-               }
-
-               public MSI.MonoTlsProvider Provider {
-                       get { return provider; }
-               }
-
-               public IMonoSslStream CreateSslStream (
-                       Stream innerStream, bool leaveInnerStreamOpen,
-                       MSI.MonoTlsSettings settings)
-               {
-                       var sslStream = provider.CreateSslStream (innerStream, leaveInnerStreamOpen, settings);
-                       var monoSslStreamImpl = sslStream as MonoSslStreamImpl;
-                       if (monoSslStreamImpl != null)
-                               return monoSslStreamImpl.Impl;
-                       return new MonoSslStreamWrapper (sslStream);
-               }
-       }
-}
-
-#endif
index f22111bea86b40d405f9934da7067a04325f67d8..ec6910c5ffb35e41c6a7d47fe4a3d7fc133bfdbe 100644 (file)
@@ -52,7 +52,7 @@ namespace Mono.Net.Security
        class MonoTlsStream
        {
 #if SECURITY_DEP               
-               readonly IMonoTlsProvider provider;
+               readonly MonoTlsProvider provider;
                readonly NetworkStream networkStream;           
                readonly HttpWebRequest request;
 
@@ -90,7 +90,7 @@ namespace Mono.Net.Security
                        provider = request.TlsProvider ?? MonoTlsProviderFactory.GetProviderInternal ();
                        status = WebExceptionStatus.SecureChannelFailure;
 
-                       /*validationHelper =*/ ChainValidationHelper.Create (provider.Provider, ref settings, this);
+                       /*validationHelper =*/ ChainValidationHelper.Create (provider, ref settings, this);
                }
 
                internal Stream CreateStream (byte[] buffer)
index 2787775d30204014f088f82f644ced144f584b02..5aa87483142036102766089445ed1a5bfd1b5c5d 100644 (file)
@@ -105,7 +105,7 @@ namespace Mono.Net.Security
                internal static HttpWebRequest CreateHttpsRequest (Uri requestUri, object provider, object settings)
                {
                        #if SECURITY_DEP
-                       return MonoTlsProviderFactory.CreateHttpsRequest (requestUri, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+                       return new HttpWebRequest (requestUri, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
                        #else
                        throw new NotSupportedException ();
                        #endif
@@ -114,7 +114,7 @@ namespace Mono.Net.Security
                internal static object CreateHttpListener (object certificate, object provider, object settings)
                {
                        #if SECURITY_DEP
-                       return MonoTlsProviderFactory.CreateHttpListener ((X509Certificate)certificate, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+                       return new HttpListener ((X509Certificate)certificate, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
                        #else
                        throw new NotSupportedException ();
                        #endif
@@ -129,6 +129,15 @@ namespace Mono.Net.Security
                        #endif
                }
 
+               internal static object GetMonoSslStream (HttpListenerContext context)
+               {
+#if SECURITY_DEP
+                       return context.Connection.SslStream?.Impl;
+#else
+                       throw new NotSupportedException ();
+#endif
+               }
+
                internal static bool IsProviderSupported (string name)
                {
                        #if SECURITY_DEP
index 89c23eae58fddcff8ef28874fc756fb39f8a3a67..e702e9f45d36f31f374377930598da065765b18d 100644 (file)
     <Compile Include="Mono.Net.Security\AsyncProtocolRequest.cs" />\r
     <Compile Include="Mono.Net.Security\CallbackHelpers.cs" />\r
     <Compile Include="Mono.Net.Security\ChainValidationHelper.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoSslStream.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\LegacySslStream.cs" />\r
     <Compile Include="Mono.Net.Security\LegacyTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\MobileAuthenticatedStream.cs" />\r
     <Compile Include="Mono.Net.Security\MobileTlsContext.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamImpl.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsProviderFactory.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoTlsProviderWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsStream.cs" />\r
     <Compile Include="Mono.Net.Security\NoReflectionHelper.cs" />\r
     <Compile Include="Mono.Net.Security\SystemCertificateValidator.cs" />\r
     <Compile Include="System.Net\BasicClient.cs" />\r
     <Compile Include="System.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
     <Compile Include="System.Net\DecompressionMethods.cs" />\r
     <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
     <Compile Include="System.Net\DigestClient.cs" />\r
     <Compile Include="System.Net\FtpWebResponse.cs" />\r
     <Compile Include="System.Net\HttpConnection.cs" />\r
     <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListener.Mono.cs" />\r
     <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
     <Compile Include="System.Net\HttpListenerContext.cs" />\r
     <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
     <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
     <Compile Include="System.Net\ListenerPrefix.cs" />\r
     <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoChunkStream.cs" />\r
     <Compile Include="System.Net\MonoHttpDate.cs" />\r
     <Compile Include="System.Net\NetConfig.cs" />\r
     <Compile Include="System.Net\NtlmClient.cs" />\r
index 02b06637ef5b3d1c5283a2db41b649956ed412f3..66e20e24fa0f5a614eaf933fd0c329dfafdbb76a 100644 (file)
     <Compile Include="Mono.Net.Security\AsyncProtocolRequest.cs" />\r
     <Compile Include="Mono.Net.Security\CallbackHelpers.cs" />\r
     <Compile Include="Mono.Net.Security\ChainValidationHelper.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoSslStream.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\LegacySslStream.cs" />\r
     <Compile Include="Mono.Net.Security\LegacyTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\MobileAuthenticatedStream.cs" />\r
     <Compile Include="Mono.Net.Security\MobileTlsContext.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamImpl.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsProviderFactory.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoTlsProviderWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsStream.cs" />\r
     <Compile Include="Mono.Net.Security\NoReflectionHelper.cs" />\r
     <Compile Include="Mono.Net.Security\SystemCertificateValidator.cs" />\r
     <Compile Include="System.Net\BasicClient.cs" />\r
     <Compile Include="System.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
     <Compile Include="System.Net\DecompressionMethods.cs" />\r
     <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
     <Compile Include="System.Net\DigestClient.cs" />\r
     <Compile Include="System.Net\FtpWebResponse.cs" />\r
     <Compile Include="System.Net\HttpConnection.cs" />\r
     <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListener.Mono.cs" />\r
     <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
     <Compile Include="System.Net\HttpListenerContext.cs" />\r
     <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
     <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
     <Compile Include="System.Net\ListenerPrefix.cs" />\r
     <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoChunkStream.cs" />\r
     <Compile Include="System.Net\MonoHttpDate.cs" />\r
     <Compile Include="System.Net\NetConfig.cs" />\r
     <Compile Include="System.Net\NtlmClient.cs" />\r
index 8a7cd545b71dfa104b966494f1c0370f1fc75ef7..b8c05e9c76586c125a047d6cb4948cce37f2c1f4 100644 (file)
     <Compile Include="Mono.Net.Security\AsyncProtocolRequest.cs" />\r
     <Compile Include="Mono.Net.Security\CallbackHelpers.cs" />\r
     <Compile Include="Mono.Net.Security\ChainValidationHelper.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoSslStream.cs" />\r
-    <Compile Include="Mono.Net.Security\IMonoTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\LegacySslStream.cs" />\r
     <Compile Include="Mono.Net.Security\LegacyTlsProvider.cs" />\r
     <Compile Include="Mono.Net.Security\MobileAuthenticatedStream.cs" />\r
     <Compile Include="Mono.Net.Security\MobileTlsContext.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamImpl.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoSslStreamWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsProviderFactory.cs" />\r
-    <Compile Include="Mono.Net.Security\MonoTlsProviderWrapper.cs" />\r
     <Compile Include="Mono.Net.Security\MonoTlsStream.cs" />\r
     <Compile Include="Mono.Net.Security\NoReflectionHelper.cs" />\r
     <Compile Include="Mono.Net.Security\SystemCertificateValidator.cs" />\r
     <Compile Include="System.Net\BasicClient.cs" />\r
     <Compile Include="System.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
     <Compile Include="System.Net\DecompressionMethods.cs" />\r
     <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
     <Compile Include="System.Net\DigestClient.cs" />\r
     <Compile Include="System.Net\FtpWebResponse.cs" />\r
     <Compile Include="System.Net\HttpConnection.cs" />\r
     <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListener.Mono.cs" />\r
     <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
     <Compile Include="System.Net\HttpListenerContext.cs" />\r
     <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
     <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
     <Compile Include="System.Net\ListenerPrefix.cs" />\r
     <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoChunkStream.cs" />\r
     <Compile Include="System.Net\MonoHttpDate.cs" />\r
     <Compile Include="System.Net\NetConfig.cs" />\r
     <Compile Include="System.Net\NtlmClient.cs" />\r
index f71585c0f00590751d0cf31b4dcc030cec20e7d7..1cafd08d03bf9a0bec10fba4de284b5b82798d3c 100644 (file)
@@ -28,7 +28,6 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-#if SECURITY_DEP
 
 using System.Security.Cryptography.X509Certificates;
 
@@ -41,4 +40,3 @@ namespace System.Net.Security
                X509Certificate remoteCertificate,
                string [] acceptableIssuers);
 }
-#endif
index 8d6e9ddbc5ea696dbf12c83f37f4a29bce44a421..b2f51095a7d9d1ac3be2092cd5bdce993fd85b92 100644 (file)
@@ -39,6 +39,7 @@ using Mono.Security.Interface;
 using CipherAlgorithmType = System.Security.Authentication.CipherAlgorithmType;
 using HashAlgorithmType = System.Security.Authentication.HashAlgorithmType;
 using ExchangeAlgorithmType = System.Security.Authentication.ExchangeAlgorithmType;
+#endif
 
 using System.IO;
 using System.Net;
@@ -71,8 +72,9 @@ namespace System.Net.Security
                X509Certificate remoteCertificate,
                string[] acceptableIssuers);
 
-       public class SslStream : AuthenticatedStream, MNS.IMonoSslStream
+       public class SslStream : AuthenticatedStream
        {
+#if SECURITY_DEP
                MonoTlsProvider provider;
                IMonoSslStream impl;
 
@@ -104,7 +106,7 @@ namespace System.Net.Security
                        : base (innerStream, leaveInnerStreamOpen)
                {
                        provider = GetProvider ();
-                       impl = provider.CreateSslStream (innerStream, leaveInnerStreamOpen);
+                       impl = provider.CreateSslStreamInternal (this, innerStream, leaveInnerStreamOpen, null);
                }
 
                public SslStream (Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback)
@@ -128,10 +130,17 @@ namespace System.Net.Security
                {
                }
 
-               internal SslStream (Stream innerStream, bool leaveInnerStreamOpen, IMonoSslStream impl)
+               SslStream (Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings)
                        : base (innerStream, leaveInnerStreamOpen)
                {
-                       this.impl = impl;
+                       this.provider = provider;
+                       impl = provider.CreateSslStreamInternal (this, innerStream, leaveInnerStreamOpen, settings);
+               }
+
+               internal static IMonoSslStream CreateMonoSslStream (Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings)
+               {
+                       var sslStream = new SslStream (innerStream, leaveInnerStreamOpen, provider, settings);
+                       return sslStream.Impl;
                }
 
                public virtual void AuthenticateAsClient (string targetHost)
@@ -242,10 +251,6 @@ namespace System.Net.Security
                        get { return Impl.CheckCertRevocationStatus; }
                }
 
-               X509Certificate MNS.IMonoSslStream.InternalLocalCertificate {
-                       get { return Impl.InternalLocalCertificate; }
-               }
-
                public virtual X509Certificate LocalCertificate {
                        get { return Impl.LocalCertificate; }
                }
@@ -384,97 +389,257 @@ namespace System.Net.Security
                {
                        Impl.EndWrite (asyncResult);
                }
+#else // !SECURITY_DEP
+               const string EXCEPTION_MESSAGE = "System.Net.Security.SslStream is not supported on the current platform.";
 
-               AuthenticatedStream MNS.IMonoSslStream.AuthenticatedStream {
-                       get { return this; }
+               public SslStream (Stream innerStream)
+                       : this (innerStream, false)
+               {
                }
 
-               MonoTlsProvider MNS.IMonoSslStream.Provider {
-                       get { return provider; }
+               public SslStream (Stream innerStream, bool leaveInnerStreamOpen)
+                       : base (innerStream, leaveInnerStreamOpen)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               MonoTlsConnectionInfo MNS.IMonoSslStream.GetConnectionInfo ()
+               public SslStream (Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback)
+                       : this (innerStream, leaveInnerStreamOpen)
                {
-                       return Impl.GetConnectionInfo ();
                }
-       }
-}
-#else // !SECURITY_DEP
 
-using System.IO;
-using System.Threading.Tasks;
+               public SslStream (Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback)
+                       : this (innerStream, leaveInnerStreamOpen)
+               {
+               }
 
-namespace System.Net.Security
-{
-       public class SslStream : Stream
-       {
-               public SslStream (object innerStream)
+               public SslStream (Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy)
+                       : this (innerStream, leaveInnerStreamOpen)
                {
                }
 
-               public override bool CanRead {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+               public virtual void AuthenticateAsClient (string targetHost)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual void EndAuthenticateAsClient (IAsyncResult asyncResult)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual void AuthenticateAsServer (X509Certificate serverCertificate)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual void AuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, AsyncCallback asyncCallback, object asyncState)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual void EndAuthenticateAsServer (IAsyncResult asyncResult)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public TransportContext TransportContext {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual Task AuthenticateAsClientAsync (string targetHost)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual Task AuthenticateAsClientAsync (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual Task AuthenticateAsServerAsync (X509Certificate serverCertificate)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public virtual Task AuthenticateAsServerAsync (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public override bool IsAuthenticated {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool IsMutuallyAuthenticated {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool IsEncrypted {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool IsSigned {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool IsServer {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual SslProtocols SslProtocol {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual bool CheckCertRevocationStatus {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual X509Certificate LocalCertificate {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual X509Certificate RemoteCertificate {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual CipherAlgorithmType CipherAlgorithm {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual int CipherStrength {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual HashAlgorithmType HashAlgorithm {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual int HashStrength {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual ExchangeAlgorithmType KeyExchangeAlgorithm {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public virtual int KeyExchangeStrength {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
                }
 
                public override bool CanSeek {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool CanRead {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override bool CanTimeout {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
                }
 
                public override bool CanWrite {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override int ReadTimeout {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+                       set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
+
+               public override int WriteTimeout {
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+                       set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
                }
 
                public override long Length {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
                }
 
                public override long Position {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+                       set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
+               }
 
-                       set {
-                               throw new NotImplementedException ();
-                       }
+               public override void SetLength (long value)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public override long Seek (long offset, SeekOrigin origin)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
                public override void Flush ()
                {
-                       throw new NotImplementedException ();
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               public override int Read (System.Byte [] buffer, int offset, int count)
+               protected override void Dispose (bool disposing)
                {
-                       throw new NotImplementedException ();
                }
 
-               public override long Seek (long offset, SeekOrigin origin)
+               public override int Read (byte[] buffer, int offset, int count)
                {
-                       throw new NotImplementedException ();
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               public override void SetLength (long value)
+               public void Write (byte[] buffer)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public override void Write (byte[] buffer, int offset, int count)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+
+               public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
                {
-                       throw new NotImplementedException ();
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               public override void Write (System.Byte [] buffer, int offset, int count)
+               public override int EndRead (IAsyncResult asyncResult)
                {
-                       throw new NotImplementedException ();
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               public virtual Task AuthenticateAsClientAsync (string targetHost, object clientCertificates, object enabledSslProtocols, bool checkCertificateRevocation)
+               public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
                {
-                       throw new NotImplementedException ();
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
+
+               public override void EndWrite (IAsyncResult asyncResult)
+               {
+                       throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
+               }
+#endif
        }
 }
-#endif
index 9024c52306b2e10645141334d7ddfb945164a20f..06fefad105ac81e87e83fa25a76f8b3dc74e8343 100644 (file)
@@ -31,6 +31,23 @@ using System.Threading.Tasks;
 
 namespace System.Net.Security
 {
+       /*
+        * These two are defined by the referencesource; add them here to make
+        * it easy to switch between the two implementations.
+        */
+
+       internal delegate bool RemoteCertValidationCallback (
+               string host,
+               X509Certificate certificate,
+               X509Chain chain,
+               SslPolicyErrors sslPolicyErrors);
+
+       internal delegate X509Certificate LocalCertSelectionCallback (
+               string targetHost,
+               X509CertificateCollection localCertificates,
+               X509Certificate remoteCertificate,
+               string[] acceptableIssuers);
+
        public class SslStream : AuthenticatedStream
        {
                const string EXCEPTION_MESSAGE = "System.Net.Security.SslStream is not supported on the current platform.";
@@ -51,7 +68,6 @@ namespace System.Net.Security
                {
                }
 
-#if SECURITY_DEP
                public SslStream (Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback)
                        : this (innerStream, leaveInnerStreamOpen)
                {
@@ -61,7 +77,6 @@ namespace System.Net.Security
                        : this (innerStream, leaveInnerStreamOpen)
                {
                }
-#endif
 
                public virtual void AuthenticateAsClient (string targetHost)
                {
diff --git a/mcs/class/System/System.Net/ChunkStream.cs b/mcs/class/System/System.Net/ChunkStream.cs
deleted file mode 100644 (file)
index b7cc923..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-//
-// System.Net.ChunkStream
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2003 Ximian, Inc (http://www.ximian.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Collections;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Text;
-
-namespace System.Net
-{
-       class ChunkStream
-       {
-               enum State {
-                       None,
-                       PartialSize,
-                       Body,
-                       BodyFinished,
-                       Trailer
-               }
-
-               class Chunk {
-                       public byte [] Bytes;
-                       public int Offset;
-
-                       public Chunk (byte [] chunk)
-                       {
-                               this.Bytes = chunk;
-                       }
-
-                       public int Read (byte [] buffer, int offset, int size)
-                       {
-                               int nread = (size > Bytes.Length - Offset) ? Bytes.Length - Offset : size;
-                               Buffer.BlockCopy (Bytes, Offset, buffer, offset, nread);
-                               Offset += nread;
-                               return nread;
-                       }
-               }
-
-               internal WebHeaderCollection headers;
-               int chunkSize;
-               int chunkRead;
-               int totalWritten;
-               State state;
-               //byte [] waitBuffer;
-               StringBuilder saved;
-               bool sawCR;
-               bool gotit;
-               int trailerState;
-               ArrayList chunks;
-               
-               public ChunkStream (byte [] buffer, int offset, int size, WebHeaderCollection headers)
-                                       : this (headers)
-               {
-                       Write (buffer, offset, size);
-               }
-
-               public ChunkStream (WebHeaderCollection headers)
-               {
-                       this.headers = headers;
-                       saved = new StringBuilder ();
-                       chunks = new ArrayList ();
-                       chunkSize = -1;
-                       totalWritten = 0;
-               }
-
-               public void ResetBuffer ()
-               {
-                       chunkSize = -1;
-                       chunkRead = 0;
-                       totalWritten = 0;
-                       chunks.Clear ();
-               }
-               
-               public void WriteAndReadBack (byte [] buffer, int offset, int size, ref int read)
-               {
-                       if (offset + read > 0)
-                               Write (buffer, offset, offset+read);
-                       read = Read (buffer, offset, size);
-               }
-
-               public int Read (byte [] buffer, int offset, int size)
-               {
-                       return ReadFromChunks (buffer, offset, size);
-               }
-
-               int ReadFromChunks (byte [] buffer, int offset, int size)
-               {
-                       int count = chunks.Count;
-                       int nread = 0;
-
-                       var chunksForRemoving = new List<Chunk>(count);
-                       for (int i = 0; i < count; i++) {
-                               Chunk chunk = (Chunk) chunks [i];
-
-                               if (chunk.Offset == chunk.Bytes.Length) {
-                                       chunksForRemoving.Add(chunk);
-                                       continue;
-                               }
-                               
-                               nread += chunk.Read (buffer, offset + nread, size - nread);
-                               if (nread == size)
-                                       break;
-                       }
-
-                       foreach (var chunk in chunksForRemoving)
-                               chunks.Remove(chunk);
-
-                       return nread;
-               }
-               
-               public void Write (byte [] buffer, int offset, int size)
-               {
-                       if (offset < size)
-                               InternalWrite (buffer, ref offset, size);
-               }
-               
-               void InternalWrite (byte [] buffer, ref int offset, int size)
-               {
-                       if (state == State.None || state == State.PartialSize) {
-                               state = GetChunkSize (buffer, ref offset, size);
-                               if (state == State.PartialSize)
-                                       return;
-                               
-                               saved.Length = 0;
-                               sawCR = false;
-                               gotit = false;
-                       }
-                       
-                       if (state == State.Body && offset < size) {
-                               state = ReadBody (buffer, ref offset, size);
-                               if (state == State.Body)
-                                       return;
-                       }
-                       
-                       if (state == State.BodyFinished && offset < size) {
-                               state = ReadCRLF (buffer, ref offset, size);
-                               if (state == State.BodyFinished)
-                                       return;
-
-                               sawCR = false;
-                       }
-                       
-                       if (state == State.Trailer && offset < size) {
-                               state = ReadTrailer (buffer, ref offset, size);
-                               if (state == State.Trailer)
-                                       return;
-
-                               saved.Length = 0;
-                               sawCR = false;
-                               gotit = false;
-                       }
-
-                       if (offset < size)
-                               InternalWrite (buffer, ref offset, size);
-               }
-
-               public bool WantMore {
-                       get { return (chunkRead != chunkSize || chunkSize != 0 || state != State.None); }
-               }
-
-               public bool DataAvailable {
-                       get {
-                               int count = chunks.Count;
-                               for (int i = 0; i < count; i++) {
-                                       Chunk ch = (Chunk) chunks [i];
-                                       if (ch == null || ch.Bytes == null)
-                                               continue;
-                                       if (ch.Bytes.Length > 0 && ch.Offset < ch.Bytes.Length)
-                                               return (state != State.Body);
-                               }
-                               return false;
-                       }
-               }
-
-               public int TotalDataSize {
-                       get { return totalWritten; }
-               }
-
-               public int ChunkLeft {
-                       get { return chunkSize - chunkRead; }
-               }
-               
-               State ReadBody (byte [] buffer, ref int offset, int size)
-               {
-                       if (chunkSize == 0)
-                               return State.BodyFinished;
-
-                       int diff = size - offset;
-                       if (diff + chunkRead > chunkSize)
-                               diff = chunkSize - chunkRead;
-
-                       byte [] chunk = new byte [diff];
-                       Buffer.BlockCopy (buffer, offset, chunk, 0, diff);
-                       chunks.Add (new Chunk (chunk));
-                       offset += diff;
-                       chunkRead += diff;
-                       totalWritten += diff;
-                       return (chunkRead == chunkSize) ? State.BodyFinished : State.Body;
-                               
-               }
-               
-               State GetChunkSize (byte [] buffer, ref int offset, int size)
-               {
-                       chunkRead = 0;
-                       chunkSize = 0;
-                       char c = '\0';
-                       while (offset < size) {
-                               c = (char) buffer [offset++];
-                               if (c == '\r') {
-                                       if (sawCR)
-                                               ThrowProtocolViolation ("2 CR found");
-
-                                       sawCR = true;
-                                       continue;
-                               }
-                               
-                               if (sawCR && c == '\n')
-                                       break;
-
-                               if (c == ' ')
-                                       gotit = true;
-
-                               if (!gotit)
-                                       saved.Append (c);
-
-                               if (saved.Length > 20)
-                                       ThrowProtocolViolation ("chunk size too long.");
-                       }
-
-                       if (!sawCR || c != '\n') {
-                               if (offset < size)
-                                       ThrowProtocolViolation ("Missing \\n");
-
-                               try {
-                                       if (saved.Length > 0) {
-                                               chunkSize = Int32.Parse (RemoveChunkExtension (saved.ToString ()), NumberStyles.HexNumber);
-                                       }
-                               } catch (Exception) {
-                                       ThrowProtocolViolation ("Cannot parse chunk size.");
-                               }
-
-                               return State.PartialSize;
-                       }
-
-                       chunkRead = 0;
-                       try {
-                               chunkSize = Int32.Parse (RemoveChunkExtension (saved.ToString ()), NumberStyles.HexNumber);
-                       } catch (Exception) {
-                               ThrowProtocolViolation ("Cannot parse chunk size.");
-                       }
-
-                       if (chunkSize == 0) {
-                               trailerState = 2;
-                               return State.Trailer;
-                       }
-
-                       return State.Body;
-               }
-
-               static string RemoveChunkExtension (string input)
-               {
-                       int idx = input.IndexOf (';');
-                       if (idx == -1)
-                               return input;
-                       return input.Substring (0, idx);
-               }
-
-               State ReadCRLF (byte [] buffer, ref int offset, int size)
-               {
-                       if (!sawCR) {
-                               if ((char) buffer [offset++] != '\r')
-                                       ThrowProtocolViolation ("Expecting \\r");
-
-                               sawCR = true;
-                               if (offset == size)
-                                       return State.BodyFinished;
-                       }
-                       
-                       if (sawCR && (char) buffer [offset++] != '\n')
-                               ThrowProtocolViolation ("Expecting \\n");
-
-                       return State.None;
-               }
-
-               State ReadTrailer (byte [] buffer, ref int offset, int size)
-               {
-                       char c = '\0';
-
-                       // short path
-                       if (trailerState == 2 && (char) buffer [offset] == '\r' && saved.Length == 0) {
-                               offset++;
-                               if (offset < size && (char) buffer [offset] == '\n') {
-                                       offset++;
-                                       return State.None;
-                               }
-                               offset--;
-                       }
-                       
-                       int st = trailerState;
-                       string stString = "\r\n\r";
-                       while (offset < size && st < 4) {
-                               c = (char) buffer [offset++];
-                               if ((st == 0 || st == 2) && c == '\r') {
-                                       st++;
-                                       continue;
-                               }
-
-                               if ((st == 1 || st == 3) && c == '\n') {
-                                       st++;
-                                       continue;
-                               }
-
-                               if (st > 0) {
-                                       saved.Append (stString.Substring (0, saved.Length == 0? st-2: st));
-                                       st = 0;
-                                       if (saved.Length > 4196)
-                                               ThrowProtocolViolation ("Error reading trailer (too long).");
-                               }
-                       }
-
-                       if (st < 4) {
-                               trailerState = st;
-                               if (offset < size)
-                                       ThrowProtocolViolation ("Error reading trailer.");
-
-                               return State.Trailer;
-                       }
-
-                       StringReader reader = new StringReader (saved.ToString ());
-                       string line;
-                       while ((line = reader.ReadLine ()) != null && line != "")
-                               headers.Add (line);
-
-                       return State.None;
-               }
-
-               static void ThrowProtocolViolation (string message)
-               {
-                       WebException we = new WebException (message, null, WebExceptionStatus.ServerProtocolViolation, null);
-                       throw we;
-               }
-       }
-}
-
index 5a46e510525ae070f3136244492bad3ddb487be7..04aa77310a62ee2f7181e3f65854e06d81fe4c6e 100644 (file)
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-#if SECURITY_DEP
-
 using System.IO;
 using System.Net.Sockets;
 using System.Runtime.InteropServices;
 namespace System.Net {
        class ChunkedInputStream : RequestStream {
                bool disposed;
-               ChunkStream decoder;
+               MonoChunkStream decoder;
                HttpListenerContext context;
                bool no_more_data;
 
@@ -60,10 +58,10 @@ namespace System.Net {
                {
                        this.context = context;
                        WebHeaderCollection coll = (WebHeaderCollection) context.Request.Headers;
-                       decoder = new ChunkStream (coll);
+                       decoder = new MonoChunkStream (coll);
                }
 
-               public ChunkStream Decoder {
+               public MonoChunkStream Decoder {
                        get { return decoder; }
                        set { decoder = value; }
                }
@@ -173,4 +171,3 @@ namespace System.Net {
                }
        }
 }
-#endif
index b7aae27d7f9039e03d8d8810704e7e0c04bfdea4..58aa63ea062d168ebd33bfcebca1341e96dbc028 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-using MonoSecurity::Mono.Security.Authenticode;
-#else
-using Mono.Security.Authenticode;
-#endif
-
 using System.IO;
 using System.Net.Sockets;
 using System.Collections;
@@ -372,5 +363,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index 6db036a7f02a3e0c14431511ac0c6cafbc69a915..2f1658ab113ee155ffbb146e8c69ca85652d8abd 100644 (file)
@@ -26,8 +26,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.Collections;
 using System.Collections.Generic;
 namespace System.Net {
@@ -158,5 +156,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index b9940eb07d89585b683f2904aa1b0fb49aa84157..231de98ff9467e33b3ad5f2e65c61ce15870dfd4 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-#endif
-
-#if MONO_SECURITY_ALIAS
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using MSI = Mono.Security.Interface;
-#endif
-
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
 using System.Threading;
+using System.Net.Security;
 using System.Security.Authentication;
 using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
-using Mono.Net.Security;
 
 namespace System.Net {
-       sealed class HttpConnection
-       {
+       sealed class HttpConnection {
                static AsyncCallback onread_cb = new AsyncCallback (OnRead);
                const int BufferSize = 8192;
                Socket sock;
@@ -73,7 +61,7 @@ namespace System.Net {
                HttpListener last_listener;
                int [] client_cert_errors;
                X509Certificate2 client_cert;
-               IMonoSslStream ssl_stream;
+               SslStream ssl_stream;
 
                public HttpConnection (Socket sock, EndPointListener epl, bool secure, X509Certificate cert)
                {
@@ -94,12 +82,18 @@ namespace System.Net {
                                        client_cert_errors = new int[] { (int)e };
                                        return true;
                                });
-                               stream = ssl_stream.AuthenticatedStream;
+                               stream = ssl_stream;
                        }
                        timer = new Timer (OnTimeout, null, Timeout.Infinite, Timeout.Infinite);
+                       if (ssl_stream != null)
+                               ssl_stream.AuthenticateAsServer (cert, true, (SslProtocols)ServicePointManager.SecurityProtocol, false);
                        Init ();
                }
 
+               internal SslStream SslStream {
+                       get { return ssl_stream; }
+               }
+
                internal int [] ClientCertificateErrors {
                        get { return client_cert_errors; }
                }
@@ -110,10 +104,6 @@ namespace System.Net {
 
                void Init ()
                {
-                       if (ssl_stream != null) {
-                               ssl_stream.AuthenticateAsServer (cert, true, (SslProtocols)ServicePointManager.SecurityProtocol, false);
-                       }
-
                        context_bound = false;
                        i_stream = null;
                        o_stream = null;
@@ -493,5 +483,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
diff --git a/mcs/class/System/System.Net/HttpListener.Mono.cs b/mcs/class/System/System.Net/HttpListener.Mono.cs
new file mode 100644 (file)
index 0000000..f6c88f0
--- /dev/null
@@ -0,0 +1,115 @@
+//
+// HttpListener.Mono.cs
+//
+// Author:
+//       Martin Baulig <mabaul@microsoft.com>
+//
+// Copyright (c) 2017 Xamarin Inc. (http://www.xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+#if SECURITY_DEP
+#if MONO_SECURITY_ALIAS
+extern alias MonoSecurity;
+using MonoSecurity::Mono.Security.Authenticode;
+using MonoSecurity::Mono.Security.Interface;
+#else
+using Mono.Security.Authenticode;
+using Mono.Security.Interface;
+#endif
+using MNS = Mono.Net.Security;
+#endif
+
+using System.IO;
+using System.Collections;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Net.Security;
+using System.Security.Authentication.ExtendedProtection;
+using System.Security.Cryptography;
+using System.Security.Cryptography.X509Certificates;
+
+namespace System.Net {
+       partial class HttpListener {
+#if SECURITY_DEP
+               MonoTlsProvider tlsProvider;
+               MonoTlsSettings tlsSettings;
+               X509Certificate certificate;
+
+               internal HttpListener (X509Certificate certificate, MonoTlsProvider tlsProvider, MonoTlsSettings tlsSettings)
+                       : this ()
+               {
+                       this.certificate = certificate;
+                       this.tlsProvider = tlsProvider;
+                       this.tlsSettings = tlsSettings;
+               }
+#endif
+
+               internal X509Certificate LoadCertificateAndKey (IPAddress addr, int port)
+               {
+#if SECURITY_DEP
+                       lock (_internalLock) {
+                               if (certificate != null)
+                                       return certificate;
+
+                               // Actually load the certificate
+                               try {
+                                       string dirname = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
+                                       string path = Path.Combine (dirname, ".mono");
+                                       path = Path.Combine (path, "httplistener");
+                                       string cert_file = Path.Combine (path, String.Format ("{0}.cer", port));
+                                       if (!File.Exists (cert_file))
+                                               return null;
+                                       string pvk_file = Path.Combine (path, String.Format ("{0}.pvk", port));
+                                       if (!File.Exists (pvk_file))
+                                               return null;
+                                       var cert = new X509Certificate2 (cert_file);
+                                       cert.PrivateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
+                                       certificate = cert;
+                                       return certificate;
+                               } catch {
+                                       // ignore errors
+                                       certificate = null;
+                                       return null;
+                               }
+                       }
+#else
+                       throw new PlatformNotSupportedException ();
+#endif
+               }
+
+               internal SslStream CreateSslStream (Stream innerStream, bool ownsStream, RemoteCertificateValidationCallback callback)
+               {
+#if SECURITY_DEP
+                       lock (_internalLock) {
+                               if (tlsProvider == null)
+                                       tlsProvider = MonoTlsProviderFactory.GetProvider ();
+                               if (tlsSettings == null)
+                                       tlsSettings = MonoTlsSettings.CopyDefaultSettings ();
+                               if (tlsSettings.RemoteCertificateValidationCallback == null)
+                                       tlsSettings.RemoteCertificateValidationCallback = MNS.Private.CallbackHelpers.PublicToMono (callback);
+                               var sslStream = tlsProvider.CreateSslStream (innerStream, ownsStream, tlsSettings);
+                               return sslStream.SslStream;
+                       }
+#else
+                       throw new PlatformNotSupportedException ();
+#endif
+               }
+       }
+}
index 716229d8b565b0bcc0a00b3894274f2565c3282e..d886219bc6d8117e8a969ef967fdb626f58d1222 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-#if MONO_SECURITY_ALIAS
-extern alias MonoSecurity;
-using MonoSecurity::Mono.Security.Authenticode;
-using MSI = MonoSecurity::Mono.Security.Interface;
-#else
-using Mono.Security.Authenticode;
-using MSI = Mono.Security.Interface;
-#endif
-
 using System.IO;
 using System.Collections;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Net.Security;
 using System.Security.Authentication.ExtendedProtection;
 using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
 
-using Mono.Net.Security;
-
-
 //TODO: logging
 namespace System.Net {
-       public sealed class HttpListener : IDisposable {
+       public sealed partial class HttpListener : IDisposable {
                AuthenticationSchemes auth_schemes;
                HttpListenerPrefixCollection prefixes;
                AuthenticationSchemeSelector auth_selector; 
@@ -61,9 +49,7 @@ namespace System.Net {
                bool listening;
                bool disposed;
 
-               IMonoTlsProvider tlsProvider;
-               MSI.MonoTlsSettings tlsSettings;
-               X509Certificate certificate;
+               readonly object _internalLock; // don't rename to match CoreFx
 
                Hashtable registry;   // Dictionary<HttpListenerContext,HttpListenerContext> 
                ArrayList ctx_queue;  // List<HttpListenerContext> ctx_queue;
@@ -78,6 +64,7 @@ namespace System.Net {
 
                public HttpListener ()
                {
+                       _internalLock = new object ();
                        prefixes = new HttpListenerPrefixCollection (this);
                        registry = new Hashtable ();
                        connections = Hashtable.Synchronized (new Hashtable ());
@@ -88,55 +75,6 @@ namespace System.Net {
                        extendedProtectionPolicy = new ExtendedProtectionPolicy (PolicyEnforcement.Never);
                }
 
-               internal HttpListener (X509Certificate certificate, IMonoTlsProvider tlsProvider, MSI.MonoTlsSettings tlsSettings)
-                       : this ()
-               {
-                       this.certificate = certificate;
-                       this.tlsProvider = tlsProvider;
-                       this.tlsSettings = tlsSettings;
-               }
-
-               internal X509Certificate LoadCertificateAndKey (IPAddress addr, int port)
-               {
-                       lock (registry) {
-                               if (certificate != null)
-                                       return certificate;
-
-                               // Actually load the certificate
-                               try {
-                                       string dirname = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
-                                       string path = Path.Combine (dirname, ".mono");
-                                       path = Path.Combine (path, "httplistener");
-                                       string cert_file = Path.Combine (path, String.Format ("{0}.cer", port));
-                                       if (!File.Exists (cert_file))
-                                               return null;
-                                       string pvk_file = Path.Combine (path, String.Format ("{0}.pvk", port));
-                                       if (!File.Exists (pvk_file))
-                                               return null;
-                                       var cert = new X509Certificate2 (cert_file);
-                                       cert.PrivateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
-                                       certificate = cert;
-                                       return certificate;
-                               } catch {
-                                       // ignore errors
-                                       certificate = null;
-                                       return null;
-                               }
-                       }
-               }
-
-               internal IMonoSslStream CreateSslStream (Stream innerStream, bool ownsStream, MSI.MonoRemoteCertificateValidationCallback callback)
-               {
-                       lock (registry) {
-                               if (tlsProvider == null)
-                                       tlsProvider = MonoTlsProviderFactory.GetProviderInternal ();
-                               if (tlsSettings == null)
-                                       tlsSettings = MSI.MonoTlsSettings.CopyDefaultSettings ();
-                               if (tlsSettings.RemoteCertificateValidationCallback == null)
-                                       tlsSettings.RemoteCertificateValidationCallback = callback;
-                               return tlsProvider.CreateSslStream (innerStream, ownsStream, tlsSettings);
-                       }
-               }
 
                // TODO: Digest, NTLM and Negotiate require ControlPrincipal
                public AuthenticationSchemes AuthenticationSchemes {
@@ -282,7 +220,7 @@ namespace System.Net {
 
                void Cleanup (bool close_existing)
                {
-                       lock (registry) {
+                       lock (_internalLock) {
                                if (close_existing) {
                                        // Need to copy this since closing will call UnregisterContext
                                        ICollection keys = registry.Keys;
@@ -438,7 +376,7 @@ namespace System.Net {
 
                internal void RegisterContext (HttpListenerContext context)
                {
-                       lock (registry)
+                       lock (_internalLock)
                                registry [context] = context;
 
                        ListenerAsyncResult ares = null;
@@ -457,7 +395,7 @@ namespace System.Net {
 
                internal void UnregisterContext (HttpListenerContext context)
                {
-                       lock (registry)
+                       lock (_internalLock)
                                registry.Remove (context);
                        lock (ctx_queue) {
                                int idx = ctx_queue.IndexOf (context);
@@ -477,11 +415,3 @@ namespace System.Net {
                }
        }
 }
-#else // SECURITY_DEP
-namespace System.Net
-{
-       public sealed class HttpListener
-       {
-       }
-}
-#endif
index 5a3a2f0f445be565d7b01433dce630f5c6d7cccb..ffb88651509db98c5a8d6c93889a728b66b1118a 100644 (file)
@@ -26,8 +26,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.Collections.Specialized;
 using System.IO;
 using System.Security.Principal;
@@ -162,5 +160,3 @@ namespace System.Net {
                }
        }
 }
-#endif
-
index dffb521ded455a128a09584704eceae1f46fd463..c4bdad2c89d7b277effa740008c5b5676f4498eb 100644 (file)
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-#if SECURITY_DEP || EMBEDDED_IN_1_0
 
 using System.Collections;
 using System.Collections.Generic;
 namespace System.Net {
-#if EMBEDDED_IN_1_0
-       public class HttpListenerPrefixCollection : IEnumerable, ICollection {
-               ArrayList prefixes;
-               
-#else
        public class HttpListenerPrefixCollection : ICollection<string>, IEnumerable<string>, IEnumerable {
                List<string> prefixes = new List<string> ();
-#endif
                HttpListener listener;
 
                internal HttpListenerPrefixCollection (HttpListener listener)
@@ -95,12 +88,10 @@ namespace System.Net {
                        ((ICollection) prefixes).CopyTo (array, offset);
                }
 
-#if !EMBEDDED_IN_1_0
                public IEnumerator<string> GetEnumerator ()
                {
                        return prefixes.GetEnumerator ();
                }
-#endif
        
                IEnumerator IEnumerable.GetEnumerator ()
                {
@@ -121,5 +112,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index fc0125df25a8fbd10362b6bfb2acea030bcdfde9..2a690b0e3b2519630622fb0e815026af226ab65b 100644 (file)
@@ -28,8 +28,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.Collections;
 using System.Collections.Specialized;
 using System.Globalization;
@@ -579,5 +577,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index 73aa6396b5343e27c1ae1808bc72a7c6470053a5..367c977c0edc4ffa36964f48d1fd8c3f6c9ab0ac 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.Globalization;
 using System.IO;
 using System.Text;
+
 namespace System.Net {
        public sealed class HttpListenerResponse : IDisposable
        {
@@ -518,5 +517,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index 5ca0425eb5af4444e5868505ef30bdac53e1890d..4f7d1d7d7baf1655780df5aba32bd4b84619f3b3 100644 (file)
@@ -112,8 +112,8 @@ namespace System.Net
                int maxResponseHeadersLength;
                static int defaultMaxResponseHeadersLength;
                int readWriteTimeout = 300000; // ms
-               IMonoTlsProvider tlsProvider;
 #if SECURITY_DEP
+               MonoTlsProvider tlsProvider;
                MonoTlsSettings tlsSettings;
 #endif
                ServerCertValidationCallback certValidationCallback;
@@ -161,7 +161,7 @@ namespace System.Net
                }
 
 #if SECURITY_DEP
-               internal HttpWebRequest (Uri uri, IMonoTlsProvider tlsProvider, MonoTlsSettings settings = null)
+               internal HttpWebRequest (Uri uri, MonoTlsProvider tlsProvider, MonoTlsSettings settings = null)
                        : this (uri)
                {
                        this.tlsProvider = tlsProvider;
@@ -274,16 +274,16 @@ namespace System.Net
                        }
                }
 
-               internal IMonoTlsProvider TlsProvider {
+#if SECURITY_DEP
+               internal MonoTlsProvider TlsProvider {
                        get { return tlsProvider; }
                }
 
-#if SECURITY_DEP
                internal MonoTlsSettings TlsSettings {
                        get { return tlsSettings; }
                }
 #endif
-               
+
                public X509CertificateCollection ClientCertificates {
                        get {
                                if (certificates == null)
index 590c82b0bd29ccee9c1565559de387307a0c43bc..470db5f2191e59f3fe5a78456f6679ee4cd46ec7 100644 (file)
@@ -48,7 +48,7 @@ namespace System.Net
                        throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
 
-               internal HttpWebRequest (Uri uri, object /* IMonoTlsProvider */ tlsProvider, object /* MonoTlsSettings */ settings = null)
+               internal HttpWebRequest (Uri uri, object /* MonoTlsProvider */ tlsProvider, object /* MonoTlsSettings */ settings = null)
                {
                        throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
                }
index 88f75e88a9941e4c7457f763497bc9f04416d6b7..f73922e032ff2f4bf3394061fc6c69890efaff06 100644 (file)
@@ -28,8 +28,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.Threading;
 namespace System.Net {
        class ListenerAsyncResult : IAsyncResult {
@@ -181,5 +179,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index f0b7ef8398e5f83e43ef92f093c97994cc23719a..f7cb7b381458a7b3b8d621f76111e478cddc7cad 100644 (file)
@@ -27,8 +27,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 namespace System.Net {
        sealed class ListenerPrefix
        {
@@ -160,4 +158,3 @@ namespace System.Net {
                }
        }
 }
-#endif
diff --git a/mcs/class/System/System.Net/MonoChunkStream.cs b/mcs/class/System/System.Net/MonoChunkStream.cs
new file mode 100644 (file)
index 0000000..1ca8836
--- /dev/null
@@ -0,0 +1,372 @@
+//
+// System.Net.MonoChunkStream
+//
+// Authors:
+//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
+//
+// (C) 2003 Ximian, Inc (http://www.ximian.com)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Text;
+
+namespace System.Net
+{
+       class MonoChunkStream
+       {
+               enum State {
+                       None,
+                       PartialSize,
+                       Body,
+                       BodyFinished,
+                       Trailer
+               }
+
+               class Chunk {
+                       public byte [] Bytes;
+                       public int Offset;
+
+                       public Chunk (byte [] chunk)
+                       {
+                               this.Bytes = chunk;
+                       }
+
+                       public int Read (byte [] buffer, int offset, int size)
+                       {
+                               int nread = (size > Bytes.Length - Offset) ? Bytes.Length - Offset : size;
+                               Buffer.BlockCopy (Bytes, Offset, buffer, offset, nread);
+                               Offset += nread;
+                               return nread;
+                       }
+               }
+
+               internal WebHeaderCollection headers;
+               int chunkSize;
+               int chunkRead;
+               int totalWritten;
+               State state;
+               //byte [] waitBuffer;
+               StringBuilder saved;
+               bool sawCR;
+               bool gotit;
+               int trailerState;
+               ArrayList chunks;
+               
+               public MonoChunkStream (byte [] buffer, int offset, int size, WebHeaderCollection headers)
+                                       : this (headers)
+               {
+                       Write (buffer, offset, size);
+               }
+
+               public MonoChunkStream (WebHeaderCollection headers)
+               {
+                       this.headers = headers;
+                       saved = new StringBuilder ();
+                       chunks = new ArrayList ();
+                       chunkSize = -1;
+                       totalWritten = 0;
+               }
+
+               public void ResetBuffer ()
+               {
+                       chunkSize = -1;
+                       chunkRead = 0;
+                       totalWritten = 0;
+                       chunks.Clear ();
+               }
+               
+               public void WriteAndReadBack (byte [] buffer, int offset, int size, ref int read)
+               {
+                       if (offset + read > 0)
+                               Write (buffer, offset, offset+read);
+                       read = Read (buffer, offset, size);
+               }
+
+               public int Read (byte [] buffer, int offset, int size)
+               {
+                       return ReadFromChunks (buffer, offset, size);
+               }
+
+               int ReadFromChunks (byte [] buffer, int offset, int size)
+               {
+                       int count = chunks.Count;
+                       int nread = 0;
+
+                       var chunksForRemoving = new List<Chunk>(count);
+                       for (int i = 0; i < count; i++) {
+                               Chunk chunk = (Chunk) chunks [i];
+
+                               if (chunk.Offset == chunk.Bytes.Length) {
+                                       chunksForRemoving.Add(chunk);
+                                       continue;
+                               }
+                               
+                               nread += chunk.Read (buffer, offset + nread, size - nread);
+                               if (nread == size)
+                                       break;
+                       }
+
+                       foreach (var chunk in chunksForRemoving)
+                               chunks.Remove(chunk);
+
+                       return nread;
+               }
+               
+               public void Write (byte [] buffer, int offset, int size)
+               {
+                       if (offset < size)
+                               InternalWrite (buffer, ref offset, size);
+               }
+               
+               void InternalWrite (byte [] buffer, ref int offset, int size)
+               {
+                       if (state == State.None || state == State.PartialSize) {
+                               state = GetChunkSize (buffer, ref offset, size);
+                               if (state == State.PartialSize)
+                                       return;
+                               
+                               saved.Length = 0;
+                               sawCR = false;
+                               gotit = false;
+                       }
+                       
+                       if (state == State.Body && offset < size) {
+                               state = ReadBody (buffer, ref offset, size);
+                               if (state == State.Body)
+                                       return;
+                       }
+                       
+                       if (state == State.BodyFinished && offset < size) {
+                               state = ReadCRLF (buffer, ref offset, size);
+                               if (state == State.BodyFinished)
+                                       return;
+
+                               sawCR = false;
+                       }
+                       
+                       if (state == State.Trailer && offset < size) {
+                               state = ReadTrailer (buffer, ref offset, size);
+                               if (state == State.Trailer)
+                                       return;
+
+                               saved.Length = 0;
+                               sawCR = false;
+                               gotit = false;
+                       }
+
+                       if (offset < size)
+                               InternalWrite (buffer, ref offset, size);
+               }
+
+               public bool WantMore {
+                       get { return (chunkRead != chunkSize || chunkSize != 0 || state != State.None); }
+               }
+
+               public bool DataAvailable {
+                       get {
+                               int count = chunks.Count;
+                               for (int i = 0; i < count; i++) {
+                                       Chunk ch = (Chunk) chunks [i];
+                                       if (ch == null || ch.Bytes == null)
+                                               continue;
+                                       if (ch.Bytes.Length > 0 && ch.Offset < ch.Bytes.Length)
+                                               return (state != State.Body);
+                               }
+                               return false;
+                       }
+               }
+
+               public int TotalDataSize {
+                       get { return totalWritten; }
+               }
+
+               public int ChunkLeft {
+                       get { return chunkSize - chunkRead; }
+               }
+               
+               State ReadBody (byte [] buffer, ref int offset, int size)
+               {
+                       if (chunkSize == 0)
+                               return State.BodyFinished;
+
+                       int diff = size - offset;
+                       if (diff + chunkRead > chunkSize)
+                               diff = chunkSize - chunkRead;
+
+                       byte [] chunk = new byte [diff];
+                       Buffer.BlockCopy (buffer, offset, chunk, 0, diff);
+                       chunks.Add (new Chunk (chunk));
+                       offset += diff;
+                       chunkRead += diff;
+                       totalWritten += diff;
+                       return (chunkRead == chunkSize) ? State.BodyFinished : State.Body;
+                               
+               }
+               
+               State GetChunkSize (byte [] buffer, ref int offset, int size)
+               {
+                       chunkRead = 0;
+                       chunkSize = 0;
+                       char c = '\0';
+                       while (offset < size) {
+                               c = (char) buffer [offset++];
+                               if (c == '\r') {
+                                       if (sawCR)
+                                               ThrowProtocolViolation ("2 CR found");
+
+                                       sawCR = true;
+                                       continue;
+                               }
+                               
+                               if (sawCR && c == '\n')
+                                       break;
+
+                               if (c == ' ')
+                                       gotit = true;
+
+                               if (!gotit)
+                                       saved.Append (c);
+
+                               if (saved.Length > 20)
+                                       ThrowProtocolViolation ("chunk size too long.");
+                       }
+
+                       if (!sawCR || c != '\n') {
+                               if (offset < size)
+                                       ThrowProtocolViolation ("Missing \\n");
+
+                               try {
+                                       if (saved.Length > 0) {
+                                               chunkSize = Int32.Parse (RemoveChunkExtension (saved.ToString ()), NumberStyles.HexNumber);
+                                       }
+                               } catch (Exception) {
+                                       ThrowProtocolViolation ("Cannot parse chunk size.");
+                               }
+
+                               return State.PartialSize;
+                       }
+
+                       chunkRead = 0;
+                       try {
+                               chunkSize = Int32.Parse (RemoveChunkExtension (saved.ToString ()), NumberStyles.HexNumber);
+                       } catch (Exception) {
+                               ThrowProtocolViolation ("Cannot parse chunk size.");
+                       }
+
+                       if (chunkSize == 0) {
+                               trailerState = 2;
+                               return State.Trailer;
+                       }
+
+                       return State.Body;
+               }
+
+               static string RemoveChunkExtension (string input)
+               {
+                       int idx = input.IndexOf (';');
+                       if (idx == -1)
+                               return input;
+                       return input.Substring (0, idx);
+               }
+
+               State ReadCRLF (byte [] buffer, ref int offset, int size)
+               {
+                       if (!sawCR) {
+                               if ((char) buffer [offset++] != '\r')
+                                       ThrowProtocolViolation ("Expecting \\r");
+
+                               sawCR = true;
+                               if (offset == size)
+                                       return State.BodyFinished;
+                       }
+                       
+                       if (sawCR && (char) buffer [offset++] != '\n')
+                               ThrowProtocolViolation ("Expecting \\n");
+
+                       return State.None;
+               }
+
+               State ReadTrailer (byte [] buffer, ref int offset, int size)
+               {
+                       char c = '\0';
+
+                       // short path
+                       if (trailerState == 2 && (char) buffer [offset] == '\r' && saved.Length == 0) {
+                               offset++;
+                               if (offset < size && (char) buffer [offset] == '\n') {
+                                       offset++;
+                                       return State.None;
+                               }
+                               offset--;
+                       }
+                       
+                       int st = trailerState;
+                       string stString = "\r\n\r";
+                       while (offset < size && st < 4) {
+                               c = (char) buffer [offset++];
+                               if ((st == 0 || st == 2) && c == '\r') {
+                                       st++;
+                                       continue;
+                               }
+
+                               if ((st == 1 || st == 3) && c == '\n') {
+                                       st++;
+                                       continue;
+                               }
+
+                               if (st > 0) {
+                                       saved.Append (stString.Substring (0, saved.Length == 0? st-2: st));
+                                       st = 0;
+                                       if (saved.Length > 4196)
+                                               ThrowProtocolViolation ("Error reading trailer (too long).");
+                               }
+                       }
+
+                       if (st < 4) {
+                               trailerState = st;
+                               if (offset < size)
+                                       ThrowProtocolViolation ("Error reading trailer.");
+
+                               return State.Trailer;
+                       }
+
+                       StringReader reader = new StringReader (saved.ToString ());
+                       string line;
+                       while ((line = reader.ReadLine ()) != null && line != "")
+                               headers.Add (line);
+
+                       return State.None;
+               }
+
+               static void ThrowProtocolViolation (string message)
+               {
+                       WebException we = new WebException (message, null, WebExceptionStatus.ServerProtocolViolation, null);
+                       throw we;
+               }
+       }
+}
+
index 81e1d6f67d4be3308554d97eb4f01a2ecc97bafa..5d33e477d1c2b7d733188dfe3ee309fdc07ec1e8 100644 (file)
@@ -26,8 +26,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if SECURITY_DEP
-
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
@@ -248,5 +246,4 @@ namespace System.Net {
                }
        }
 }
-#endif
 
index 563ce725fd9a5a4b1bacf9e0a30ccf4b6fabd50d..e1435f84b643cbab403b80237bc8ebdf51ae121c 100644 (file)
@@ -63,7 +63,7 @@ namespace System.Net
                AbortHelper abortHelper;
                internal WebConnectionData Data;
                bool chunkedRead;
-               ChunkStream chunkStream;
+               MonoChunkStream chunkStream;
                Queue queue;
                bool reused;
                int position;
@@ -89,7 +89,7 @@ namespace System.Net
                static extern void xamarin_start_wwan (string uri);
 #endif
 
-               internal ChunkStream ChunkStream {
+               internal MonoChunkStream MonoChunkStream {
                        get { return chunkStream; }
                }
 
@@ -539,7 +539,7 @@ namespace System.Net
                                }
                        } else if (chunkStream == null) {
                                try {
-                                       chunkStream = new ChunkStream (buffer, pos, nread, data.Headers);
+                                       chunkStream = new MonoChunkStream (buffer, pos, nread, data.Headers);
                                } catch (Exception e) {
                                        HandleError (WebExceptionStatus.ServerProtocolViolation, e, "ReadDone5");
                                        return;
@@ -889,7 +889,7 @@ namespace System.Net
                                WebAsyncResult wr = new WebAsyncResult (cb, state, buffer, offset, size);
                                wr.InnerAsyncResult = result;
                                if (result == null) {
-                                       // Will be completed from the data in ChunkStream
+                                       // Will be completed from the data in MonoChunkStream
                                        wr.SetCompleted (true, (Exception) null);
                                        wr.DoCallback ();
                                }
@@ -951,7 +951,7 @@ namespace System.Net
                        return (nbytes != 0) ? nbytes : -1;
                }
 
-               // To be called on chunkedRead when we can read no data from the ChunkStream yet
+               // To be called on chunkedRead when we can read no data from the MonoChunkStream yet
                int EnsureRead (byte [] buffer, int offset, int size)
                {
                        byte [] morebytes = null;
index b4cb1317ba5f99a609e07911604acdd364614a43..8dc20e21dc5e2b1da3702abea8ad0598c4999e6d 100644 (file)
@@ -46,7 +46,7 @@ System.Net/AuthenticationManager.cs
 System.Net/BasicClient.cs
 System.Net/BindIPEndPoint.cs
 System.Net/ChunkedInputStream.cs
-System.Net/ChunkStream.cs
+System.Net/MonoChunkStream.cs
 System.Net/DecompressionMethods.cs
 System.Net/DefaultCertificatePolicy.cs
 System.Net/DigestClient.cs
@@ -62,6 +62,7 @@ System.Net/FtpWebRequest.cs
 System.Net/FtpWebResponse.cs
 System.Net/HttpConnection.cs
 System.Net/HttpListener.cs
+System.Net/HttpListener.Mono.cs
 System.Net/HttpListenerBasicIdentity.cs
 System.Net/HttpListenerContext.cs
 System.Net/HttpListenerPrefixCollection.cs
@@ -297,16 +298,11 @@ Mono.AppleTls/Items.cs
 Mono.Net.Security/AsyncProtocolRequest.cs
 Mono.Net.Security/CallbackHelpers.cs
 Mono.Net.Security/ChainValidationHelper.cs
-Mono.Net.Security/IMonoTlsProvider.cs
-Mono.Net.Security/IMonoSslStream.cs
 Mono.Net.Security/LegacySslStream.cs
 Mono.Net.Security/MobileAuthenticatedStream.cs
 Mono.Net.Security/MobileTlsContext.cs
 Mono.Net.Security/LegacyTlsProvider.cs
-Mono.Net.Security/MonoSslStreamImpl.cs
-Mono.Net.Security/MonoSslStreamWrapper.cs
 Mono.Net.Security/MonoTlsProviderFactory.cs
-Mono.Net.Security/MonoTlsProviderWrapper.cs
 Mono.Net.Security/MonoTlsStream.cs
 Mono.Net.Security/NoReflectionHelper.cs
 Mono.Net.Security/SystemCertificateValidator.cs
index c2950c536caf33f5d6f337df9463118118f248e8..c6769c373a7eac6f111f5342562e19c338835c9c 100644 (file)
@@ -1,4 +1,3 @@
 #include mobile_System.dll.sources
 System/AndroidPlatform.cs
-Mono.Net.Security/MonoTlsProviderFactory.Droid.cs
 Mono.Btls/MonoBtlsX509LookupAndroid.cs
index 8d2f2fdbbc49f35167282c102740833693c5cf95..e478e8894eb5696c35639010f27ac26b0ef445cd 100644 (file)
@@ -1,5 +1,2 @@
 #include mobile_System.dll.sources
 
-System.Net/MacProxy.cs
-
-Mono.Net.Security/MonoTlsProviderFactory.Apple.cs
index d5e3ca4f944b0e1dbf72f1ed3be0f1ec0bc9b56f..b65990c3b4c761af0b3fdf8a77c2ffea9bc53de9 100644 (file)
@@ -2,20 +2,14 @@ Mono.Http/NtlmClient.cs
 Mono.Net.Security/AsyncProtocolRequest.cs
 Mono.Net.Security/CallbackHelpers.cs
 Mono.Net.Security/ChainValidationHelper.cs
-Mono.Net.Security/IMonoSslStream.cs
-Mono.Net.Security/IMonoTlsProvider.cs
 Mono.Net.Security/LegacySslStream.cs
 Mono.Net.Security/LegacySslStream.cs
 Mono.Net.Security/LegacyTlsProvider.cs
 Mono.Net.Security/LegacyTlsProvider.cs
 Mono.Net.Security/MobileAuthenticatedStream.cs
 Mono.Net.Security/MobileTlsContext.cs
-Mono.Net.Security/MonoSslStreamImpl.cs
-Mono.Net.Security/MonoSslStreamWrapper.cs
-Mono.Net.Security/MonoTlsProviderFactory.Apple.cs
 Mono.Net.Security/MonoTlsProviderFactory.cs
 Mono.Net.Security/MonoTlsProviderImpl.cs
-Mono.Net.Security/MonoTlsProviderWrapper.cs
 Mono.Net.Security/MonoTlsStream.cs
 Mono.Net.Security/NoReflectionHelper.cs
 Mono.Net.Security/SystemCertificateValidator.cs
@@ -38,6 +32,7 @@ System.Net/FtpWebRequest.cs
 System.Net/FtpWebResponse.cs
 System.Net/HttpConnection.cs
 System.Net/HttpListener.cs
+System.Net/HttpListener.Mono.cs
 System.Net/HttpListenerContext.cs
 System.Net/HttpListenerPrefixCollection.cs
 System.Net/HttpListenerRequest.cs
index 73405e102667f3ff0b2206a456a1a2cdef234b89..70a77a6dbff401e4d973b5d5f8ce11321a969f9a 100644 (file)
@@ -1,2 +1 @@
 #include mobile_System.dll.sources
-Mono.Net.Security/MonoTlsProviderFactory.Apple.cs
index fe68fff758f91170508456245fee3a8f194fabee..beb6f2415cf1c7c2da9e4ba40f1a04757013f3b9 100644 (file)
@@ -1,2 +1 @@
 #include net_4_x_System.dll.sources
-Mono.Net.Security/MonoTlsProviderFactory.Apple.cs
diff --git a/mcs/class/SystemWebTestShim/SystemWebTestShim.csproj b/mcs/class/SystemWebTestShim/SystemWebTestShim.csproj
deleted file mode 100644 (file)
index 41cffe6..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.21022</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{3D20F8D4-EE91-4FA5-85D9-4C36E8D68805}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>SystemWebTestShim</RootNamespace>\r
-    <AssemblyName>SystemWebTestShim</AssemblyName>\r
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-    <SignAssembly>true</SignAssembly>\r
-    <AssemblyOriginatorKeyFile>mono.snk</AssemblyOriginatorKeyFile>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;NET_1_1;NET_2_0;TARGET_DOTNET;VISUAL_STUDIO</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.configuration" />\r
-    <Reference Include="System.Core">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Data" />\r
-    <Reference Include="System.Web" />\r
-    <Reference Include="System.Web.Extensions">\r
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
-    </Reference>\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="SystemWebTestShim\Adapters.cs" />\r
-    <Compile Include="SystemWebTestShim\BuildManager.cs" />\r
-    <Compile Include="SystemWebTestShim\HttpCapabilitiesBase.cs" />\r
-    <Compile Include="SystemWebTestShim\Page.cs">\r
-      <SubType>ASPXCodeBehind</SubType>\r
-    </Compile>\r
-    <Compile Include="SystemWebTestShim\UrlUtils.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\System.Web\System.Web\System.Web.Testing.csproj">\r
-      <Project>{BB170E99-8793-4179-A19B-440539F6879F}</Project>\r
-      <Name>System.Web.Testing</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <None Include="mono.snk" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
index b6eb42611029951347bc3ae3d834b5ea842f4473..9cd987fabb54d3737dabbaf25aa38a4dba2c437f 100644 (file)
@@ -65,7 +65,7 @@ $(csc_MCS_image): $(csc_MCS_dll) $(runtime_dep)
        $(Q_AOT) MONO_PATH='$(the_libdir)' > $(PROFILE)_aot.log 2>&1 $(RUNTIME) --aot=bind-to-runtime-version$(profile_arg),outfile=$(csc_MCS_image) --debug $(csc_MCS_dll) || (cat $(PROFILE)_aot.log; exit 1)
 
 $(csc_SRM_image): $(csc_SRM_dll) $(runtime_dep)
-       $(Q_AOT) MONO_PATH='$(the_libdir)' > $(PROFILE)_aot.log 2>&1 $(RUNTIME) --aot=bind-to-runtime-version$(profile_arg),outfile=$(csc_SRM_image) --debug $(csc_SRM_dll) || (cat $(PROFILE)_aot.log; exit 1)
+       $(Q_AOT) MONO_PATH='$(the_libdir)' > $(PROFILE)_aot.log 2>&1 $(RUNTIME) --aot=bind-to-runtime-version$(profile_arg),outfile=$(csc_SRM_image) --debug --apply-bindings=$(csc_exe).config $(csc_SRM_dll) || (cat $(PROFILE)_aot.log; exit 1)
 
 $(csc_SCI_image): $(csc_SCI_dll) $(runtime_dep)
        $(Q_AOT) MONO_PATH='$(the_libdir)' > $(PROFILE)_aot.log 2>&1 $(RUNTIME) --aot=bind-to-runtime-version$(profile_arg),outfile=$(csc_SCI_image) --debug $(csc_SCI_dll) || (cat $(PROFILE)_aot.log; exit 1)
diff --git a/mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs b/mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs
deleted file mode 100644 (file)
index 1e9b5c8..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// AssemblyLoadContext.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Runtime.Loader
-{
-       //
-       // System.Runtime.Loader netstandard typeforwarders dependency
-       //
-       public abstract class AssemblyLoadContext
-       {
-               protected AssemblyLoadContext ()
-               {
-               }
-               
-               public static System.Runtime.Loader.AssemblyLoadContext Default { 
-                       get { 
-                               throw new NotImplementedException ();
-                       }
-               }
-               
-               public static System.Reflection.AssemblyName GetAssemblyName (string assemblyPath)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               public static AssemblyLoadContext GetLoadContext (System.Reflection.Assembly assembly) 
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               protected abstract System.Reflection.Assembly Load (System.Reflection.AssemblyName assemblyName);
-               
-               public System.Reflection.Assembly LoadFromAssemblyName(System.Reflection.AssemblyName assemblyName) 
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               public System.Reflection.Assembly LoadFromAssemblyPath (string assemblyPath)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               public System.Reflection.Assembly LoadFromNativeImagePath (string nativeImagePath, string assemblyPath)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               public System.Reflection.Assembly LoadFromStream (System.IO.Stream assembly)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public System.Reflection.Assembly LoadFromStream (System.IO.Stream assembly, System.IO.Stream assemblySymbols) 
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               protected IntPtr LoadUnmanagedDllFromPath (string unmanagedDllPath)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               protected virtual IntPtr LoadUnmanagedDll (string unmanagedDllName)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public void SetProfileOptimizationRoot (string directoryPath)
-               {
-               }
-
-               public void StartProfileOptimization (string profile)
-               {               
-               }
-
-#pragma warning disable 67
-               public event Func<AssemblyLoadContext, System.Reflection.AssemblyName, System.Reflection.Assembly> Resolving;
-               public event Action<AssemblyLoadContext> Unloading;
-#pragma warning restore
-       }
-}
index 75ee4e590f752214b70b4dd3c531dd382c4f3d5d..5c812b6f592288d5ac486919837ee6170de6ddde 100644 (file)
@@ -152,7 +152,7 @@ namespace System
 #if !MONODROID && !MONOTOUCH && !XAMMAC
                static TimeZoneInfo CreateLocal ()
                {
-#if (!FULL_AOT_DESKTOP || WIN_PLATFORM) && !XAMMAC_4_5
+#if WIN_PLATFORM
                        if (IsWindows && LocalZoneKey != null) {
                                string name = (string)LocalZoneKey.GetValue ("TimeZoneKeyName");
                                if (name == null)
@@ -206,7 +206,7 @@ namespace System
 
                static void GetSystemTimeZonesCore (List<TimeZoneInfo> systemTimeZones)
                {
-#if (!FULL_AOT_DESKTOP || WIN_PLATFORM) && !XAMMAC_4_5
+#if WIN_PLATFORM
                        if (TimeZoneKey != null) {
                                foreach (string id in TimeZoneKey.GetSubKeyNames ()) {
                                        try {
index eb6eff866c6f0c9967806a662a4fac68a31907a1..c57616753f7257ea49127be7cb5375a3df7300ae 100644 (file)
@@ -790,6 +790,61 @@ namespace MonoTests.System.Reflection.Emit
                        Assert.IsInstanceOfType (typeof (PublicVisibleCustomAttribute), attrs[1]);
                        Assert.IsInstanceOfType (typeof (PublicVisibleCustomAttribute), attrs[2]);
                }
+
+               [Test]
+               public void CustomAttributeSameAssembly () {
+                       // Regression test for 55681
+                       //
+                       // We build:
+                       // class MyAttr : Attr { public MyAttr () { } }
+                       // [assembly:MyAttr()]
+                       //
+                       // the important bit is that we pass the ConstructorBuilder to the CustomAttributeBuilder
+                       var assemblyName = new AssemblyName ("Repro55681");
+                       var assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly (assemblyName, AssemblyBuilderAccess.Save, tempDir);
+                       var moduleBuilder = assemblyBuilder.DefineDynamicModule ("Repro55681", "Repro55681.dll");
+                       var typeBuilder = moduleBuilder.DefineType ("MyAttr", TypeAttributes.Public, typeof (Attribute));
+                       ConstructorBuilder ctor = typeBuilder.DefineDefaultConstructor (MethodAttributes.Public);
+                       typeBuilder.CreateType ();
+
+                       assemblyBuilder.SetCustomAttribute (new CustomAttributeBuilder (ctor, new object [] { }));
+
+                       assemblyBuilder.Save ("Repro55681.dll");
+               }
+
+               [Test]
+               public void CustomAttributeAcrossAssemblies () {
+                       // Regression test for 55681
+                       //
+                       // We build:
+                       // assembly1:
+                       //   class MyAttr : Attr { public MyAttr () { } }
+                       // assembly2:
+                       //   class Dummy { }
+                       //   [assembly:MyAttr()]
+                       //
+                       // the important bit is that we pass the ConstructorBuilder to the CustomAttributeBuilder
+                       var assemblyName1 = new AssemblyName ("Repro55681-2a");
+                       var assemblyBuilder1 = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName1, AssemblyBuilderAccess.Save, tempDir);
+                       var moduleBuilder1 = assemblyBuilder1.DefineDynamicModule ("Repro55681-2a", "Repro55681-2a.dll");
+                       var typeBuilder1 = moduleBuilder1.DefineType ("MyAttr", TypeAttributes.Public, typeof (Attribute));
+                       ConstructorBuilder ctor = typeBuilder1.DefineDefaultConstructor (MethodAttributes.Public);
+                       typeBuilder1.CreateType ();
+
+                       var assemblyName2 = new AssemblyName ("Repro55681-2b");
+                       var assemblyBuilder2 = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName2, AssemblyBuilderAccess.Save, tempDir);
+                       var moduleBuilder2 = assemblyBuilder2.DefineDynamicModule ("Repro55681-2b", "Repro55681-2b.dll");
+
+                       var typeBuilder2 = moduleBuilder2.DefineType ("Dummy", TypeAttributes.Public);
+                       typeBuilder2.DefineDefaultConstructor (MethodAttributes.Public);
+                       typeBuilder2.CreateType ();
+
+                       assemblyBuilder2.SetCustomAttribute (new CustomAttributeBuilder (ctor, new object [] { }));
+
+                       assemblyBuilder2.Save ("Repro55681-2b.dll");
+                       assemblyBuilder1.Save ("Repro55681-2a.dll");
+               }
+               
        }
 }
 
index 128e68bd15d3f64edf023441ddc5812e143ce672..e4fe1f52e88e6f85f4c5b55d48f273072940c1a5 100644 (file)
@@ -303,6 +303,31 @@ namespace MonoTests.System.Reflection.Emit
                        Assert.AreEqual (FieldAttributes.RTSpecialName, value.Attributes & FieldAttributes.RTSpecialName);
                }
 
+               [Test]
+               public void TestCreateTypeIncompleteEnumStaticField ()
+               {
+                       ModuleBuilder modBuilder = GenerateModule ();
+                       EnumBuilder enumBuilder = GenerateEnum (modBuilder);
+                       GenerateField (enumBuilder);
+
+                       var tb = modBuilder.DefineType ("T", TypeAttributes.Public);
+
+                       tb.DefineDefaultConstructor (MethodAttributes.Public);
+                       tb.DefineField ("e", enumBuilder, FieldAttributes.Static | FieldAttributes.Public);
+
+                       var t = tb.CreateType ();
+                       Assert.IsNotNull (t);
+                       bool caught = false;
+                       try {
+                               object x = Activator.CreateInstance (t);
+                       } catch (TypeLoadException exn) {
+                               Assert.AreEqual (t.Name, exn.TypeName);
+                               caught = true;
+                       }
+                       if (!caught)
+                               Assert.Fail ("Expected CreateInstance of a broken type to throw TLE");
+               }
+
                private static void VerifyType (Type type)
                {
                        Assert.IsNotNull (type.Assembly, "#V1");
index 3de800b1815e3314f07f426e9c94205b816375a3..c59dd62bb8f44fab92f771edecf5eeeab8bcc8e1 100644 (file)
@@ -73,7 +73,9 @@
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Collections\Generic\KeyValuePair.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Diagnostics\Debug.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\IO\Win32Marshal.cs" />\r
+    <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Runtime\CompilerServices\IsReadOnlyAttribute.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Runtime\CompilerServices\ITuple.cs" />\r
+    <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Runtime\CompilerServices\RuntimeFeature.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Runtime\CompilerServices\TupleElementNamesAttribute.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\Threading\DeferredDisposableLifetime.cs" />\r
     <Compile Include="..\..\..\external\corert\src\System.Private.CoreLib\shared\System\TupleExtensions.cs" />\r
     <Compile Include="System.Runtime.InteropServices\UCOMITypeLib.cs" />\r
     <Compile Include="System.Runtime.InteropServices\VARDESC.cs" />\r
     <Compile Include="System.Runtime.InteropServices\VARFLAGS.cs" />\r
-    <Compile Include="System.Runtime.Loader\AssemblyLoadContext.cs" />\r
     <Compile Include="System.Runtime.Remoting.Activation\ActivationServices.cs" />\r
     <Compile Include="System.Runtime.Remoting.Activation\ActivatorLevel.cs" />\r
     <Compile Include="System.Runtime.Remoting.Activation\AppDomainLevelActivator.cs" />\r
index e7c20642094b4b080c0fc388fea1d26c776ad09e..c4af3f5b553037fedd3d8c19a405c27763e5145e 100644 (file)
@@ -605,7 +605,6 @@ System.Runtime.Remoting.Proxies/ProxyAttribute.cs
 System.Runtime.Remoting.Services/EnterpriseServicesHelper.cs
 System.Runtime.Remoting.Services/ITrackingHandler.cs
 System.Runtime.Remoting.Services/TrackingServices.cs
-System.Runtime.Loader/AssemblyLoadContext.cs
 System.Runtime.Versioning/CompatibilitySwitch.cs
 System.Security/CodeAccessPermission.cs
 System.Security/HostProtectionException.cs
@@ -1658,7 +1657,9 @@ corert/ThreadPoolBoundHandle.cs
 
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Diagnostics/Debug.cs
 
+../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/IsReadOnlyAttribute.cs
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/ITuple.cs
+../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/RuntimeFeature.cs
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/TupleElementNamesAttribute.cs
 
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Threading/DeferredDisposableLifetime.cs
index 425a983215473970ab5484bc9602437ff53b41fb..9871a3a8ad785d4ac9c359cf1fa99fc93c3c728f 100644 (file)
@@ -19,12 +19,14 @@ install-local:
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6-api
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.1-api
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.2-api
+       $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api/Facades
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.1-api/Facades
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.2-api/Facades
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6-api/Facades
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.1-api/Facades
        $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.2-api/Facades
+       $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api/Facades
 
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/*.dll $(PROFILE_DIR)/2.0-api
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/*.dll $(PROFILE_DIR)/3.5-api
@@ -35,12 +37,14 @@ install-local:
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6/*.dll $(PROFILE_DIR)/4.6-api
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.1/*.dll $(PROFILE_DIR)/4.6.1-api
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.2/*.dll $(PROFILE_DIR)/4.6.2-api
+       $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.7/*.dll $(PROFILE_DIR)/4.7-api
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll $(PROFILE_DIR)/4.5-api/Facades
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.1/Facades/*.dll $(PROFILE_DIR)/4.5.1-api/Facades
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.2/Facades/*.dll $(PROFILE_DIR)/4.5.2-api/Facades
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6/Facades/*.dll $(PROFILE_DIR)/4.6-api/Facades
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.1/Facades/*.dll $(PROFILE_DIR)/4.6.1-api/Facades
        $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.2/Facades/*.dll $(PROFILE_DIR)/4.6.2-api/Facades
+       $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.7/Facades/*.dll $(PROFILE_DIR)/4.7-api/Facades
 
        # Unfortunately, a few programs (most notably NUnit and FSharp) have hardcoded checks for <prefix>/lib/mono/4.0/mscorlib.dll or Mono.Posix.dll,
        # so we need to place something there or those tools break. We decided to symlink to the reference assembly for now.
@@ -50,12 +54,14 @@ install-local:
        ln -sf ../4.0-api/Mono.Posix.dll $(PROFILE_DIR)/4.0/Mono.Posix.dll
 
 DISTFILES =    \
+       $(wildcard ../../../external/binary-reference-assemblies/v4.7/Facades/*.dll)    \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6.2/Facades/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6.1/Facades/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6/Facades/*.dll)    \
        $(wildcard ../../../external/binary-reference-assemblies/v4.5.2/Facades/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.5.1/Facades/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll)    \
+       $(wildcard ../../../external/binary-reference-assemblies/v4.7/*.dll)    \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6.2/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6.1/*.dll)  \
        $(wildcard ../../../external/binary-reference-assemblies/v4.6/*.dll)    \
@@ -65,12 +71,14 @@ DISTFILES = \
        $(wildcard ../../../external/binary-reference-assemblies/v4.0/*.dll)    \
        $(wildcard ../../../external/binary-reference-assemblies/v3.5/*.dll)    \
        $(wildcard ../../../external/binary-reference-assemblies/v2.0/*.dll)    \
+       $(wildcard ../../../external/binary-reference-assemblies/src/v4.7/Facades/*.cs) \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.2/Facades/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.1/Facades/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6/Facades/*.cs) \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.2/Facades/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.1/Facades/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.5/Facades/*.cs) \
+       $(wildcard ../../../external/binary-reference-assemblies/src/v4.7/*.cs) \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.2/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.1/*.cs)       \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.6/*.cs) \
@@ -80,6 +88,7 @@ DISTFILES =   \
        $(wildcard ../../../external/binary-reference-assemblies/src/v4.0/*.cs) \
        $(wildcard ../../../external/binary-reference-assemblies/src/v3.5/*.cs) \
        $(wildcard ../../../external/binary-reference-assemblies/src/v2.0/*.cs) \
+       ../../../external/binary-reference-assemblies/v4.7/Makefile     \
        ../../../external/binary-reference-assemblies/v4.6.2/Makefile   \
        ../../../external/binary-reference-assemblies/v4.6.1/Makefile   \
        ../../../external/binary-reference-assemblies/v4.6/Makefile     \
index 4801e47b5a514fb88120ee7d63ea91a39d80babe..6f8b649c6fe72b692e23b42edeb7efded7a17761 100644 (file)
@@ -83,6 +83,11 @@ namespace System.Data.Common {
 
         static internal Task<bool> s_falseTask = Task.FromResult<bool>(false);
         
+#if MONO
+        static internal Task<bool> TrueTask => s_trueTask;
+        static internal Task<bool> FalseTask => s_falseTask;
+#endif
+
         [BidMethod] // this method accepts BID format as an argument, this attribute allows FXCopBid rule to validate calls to it
         static private void TraceException(
                 string trace,
index 835b18d97a6e88b9b947df7f61f9c7be4df5f1ff..b62c2e9c275d66cf051452ebee69c045b03c7be5 100644 (file)
@@ -304,11 +304,15 @@ namespace System.Data.ProviderBase {
 #endif
                 }
                 else {
+#if !MONO
+                    // DBConnection::ForceNewConnection is never set
                     if (owningConnection.ForceNewConnection) {
                         Debug.Assert(!(oldConnection is DbConnectionClosed), "Force new connection, but there is no old connection");
                         connection = connectionPool.ReplaceConnection(owningConnection, userOptions, oldConnection);
                     }
-                    else {
+                    else
+#endif
+                    {
                         if (!connectionPool.TryGetConnection(owningConnection, retry, userOptions, out connection)) {
                             return false;
                         }
index 657bed3dc7a3478b6bb7ed88b6ac80d0179e9a89..908dec7ecbcb31fd2803552059a67e3127767cca 100644 (file)
@@ -26,7 +26,9 @@ namespace System.Data.Sql {
         internal const string InstanceName   = "InstanceName";
         internal const string IsClustered    = "IsClustered";
         internal const string Version        = "Version";
+#if !MONO
         private  const int    timeoutSeconds = ADP.DefaultCommandTimeout;
+#endif
         private long timeoutTime;                                // variable used for timeout computations, holds the value of the hi-res performance counter at which this request should expire
 
         private SqlDataSourceEnumerator() : base() {
index 527832fdb4f87b3c6e47024e54b1d1e9799424b5..2f30f15241cde8e1ef2a059984073e410d3a746a 100644 (file)
@@ -15,7 +15,11 @@ namespace Microsoft.SqlServer.Server {
     
     [Serializable]
     public sealed class InvalidUdtException : SystemException {
-     
+#if MONO
+        class HResults {
+            internal const int InvalidUdt = unchecked((int)0x80131937);
+        }
+#endif
         internal InvalidUdtException() : base() {
             HResult = HResults.InvalidUdt;
         }
index d111e81a484a72aa398bec43d6278c4a4fce11ff..886a2fee29ca24b9db3cfccb052b4e2372f80a19 100644 (file)
@@ -5,8 +5,6 @@
 //------------------------------------------------------------------------------
 
 namespace System.Net {
-#if SECURITY_DEP
     public delegate AuthenticationSchemes AuthenticationSchemeSelector(HttpListenerRequest httpRequest);
-#endif
 }
 
index 4bb82b7c728ec4bbe2c9a5f8f5b25f420d1e44d1..77ffc4c02c8eb4d3574dceafad466db792dd28ed 100644 (file)
@@ -150,6 +150,10 @@ namespace System.Runtime.ExceptionServices {
             m_Exception.RestoreExceptionDispatchInfo(this);
             throw m_Exception; 
         }
+
+#if MONO
+        public static void Throw (Exception source) => Capture (source).Throw ();
+#endif
     }
 }
 #endif // FEATURE_EXCEPTIONDISPATCHINFO
diff --git a/mcs/diff.html.in b/mcs/diff.html.in
new file mode 100644 (file)
index 0000000..d5a2246
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <title>@title@</title>
+    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/github.min.css">
+    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/diff2html/2.3.0/diff2html.min.css">
+    <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Open+Sans' />
+  </head>
+  <body style="font-family: 'Open Sans'">
+    <h1>@title@</h1>
+    <p>@description@</p>
+    <p>Download <a id="patchdownload" href="#">changes.patch</a> which can be applied with <code>git apply changes.patch</code>.</p>
+
+    <div id="diffsource" style="display:none"><!--<![CDATA[
+@diffdata@
+]]>-->
+    </div>
+    <div id="diff">Loading ...</div>
+
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/languages/cs.min.js"></script>
+
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/diff2html/2.3.0/diff2html.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/diff2html/2.3.0/diff2html-ui.min.js"></script>
+
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
+
+    <script>
+    $(document).ready(function() {
+        var diffText = $("#diffsource")[0].childNodes[0].nodeValue;
+        $("#diffsource").remove();
+        diffText = diffText.substring(10, diffText.length - 3);
+        if (diffText.length == 0) {
+          $("#diff").text("No changes found.");
+          return;
+        }
+
+        $("#patchdownload").click(function() {
+          var blob = new Blob([diffText], { type: "text/plain;charset=utf-8;" });
+          saveAs(blob, "changes.patch");
+        });
+
+        var diff2htmlUi = new Diff2HtmlUI({diff: diffText});
+        diff2htmlUi.draw('#diff', {showFiles: true, matching: 'none'});
+        setTimeout(function() {
+          diff2htmlUi.highlightCode('#diff');
+        }, 100);
+    });
+    </script>
+  </body>
+</html>
diff --git a/mcs/mcs.proj b/mcs/mcs.proj
deleted file mode 100644 (file)
index d2c830f..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <Target Name="Build">\r
-    <!-- basic profile -->\r
-    <MSBuild Projects="build\build.proj"/>\r
-    <MSBuild Projects="jay\jay2008.vcproj"/>\r
-    <MSBuild Projects="mcs\gmcs2.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\corlib\corlib.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Xml\System.Xml.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Build" Properties="Configuration=Basic_XML_DEP;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Security\Mono.Security.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.CompilerServices.SymbolWriter\Mono.CompilerServices.SymbolWriter.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Core\System.Core.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="tools\gacutil\gacutil.csproj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="tools\security\security.proj" Targets="Build" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <!-- net_2_0_bootstrap -->\r
-    <MSBuild Projects="tools\resgen\resgen.csproj" Targets="Build" Properties="Configuration=net_2_0_bootstrap;Platform=AnyCPU"/>\r
-    <!--<MSBuild Projects="tools\culevel\culevel.csproj" Targets="Build" Properties="Configuration=net_2_0_bootstrap;Platform=AnyCPU"/>-->\r
-    <!-- net_2_0 -->\r
-    <MSBuild Projects="class\corlib\corlib.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Xml\System.Xml.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.CompilerServices.SymbolWriter\Mono.CompilerServices.SymbolWriter.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Posix\Mono.Posix.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Core\System.Core.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Security\Mono.Security.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Build" Properties="Configuration=net_2_0_XML_DEP;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Security\System.Security.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Configuration\System.Configuration.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Build" Properties="Configuration=net_2_0_ALL_DEP;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\Common\I18N.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\West\I18N.West.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\MidEast\I18N.MidEast.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\Other\I18N.Other.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\Rare\I18N.Rare.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\I18N\CJK\I18N.CJK.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Drawing\System.Drawing.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Transactions\System.Transactions.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.EnterpriseServices\System.EnterpriseServices.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Data.Tds\Mono.Data.Tds.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Data\System.Data.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Accessibility\Accessibility.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.WebBrowser\Mono.WebBrowser.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Windows.Forms\System.Windows.Forms.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Data.Sqlite\Mono.Data.Sqlite.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-   <!-- <MSBuild Projects="class\System.Web.ApplicationServices\System.Web.ApplicationServices.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web\System.Web.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Web\Mono.Web.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Services\System.Web.Services.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web\System.Web.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Runtime.Remoting\System.Runtime.Remoting.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Configuration.Install\System.Configuration.Install.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Management\System.Management.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Data.OracleClient\System.Data.OracleClient.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Microsoft.VisualC\Microsoft.VisualC.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Cscompmgd\Cscompmgd.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Design\System.Design.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\PEAPI\PEAPI.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Npgsql\Npgsql.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Commons.Xml.Relaxng\Commons.Xml.Relaxng.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Novell.Directory.Ldap\Novell.Directory.Ldap.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Security.Win32\Mono.Security.Win32.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.DirectoryServices\System.DirectoryServices.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\RabbitMQ.Client\RabbitMQ.Client.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Messaging\Mono.Messaging.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Messaging\System.Messaging.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Messaging.RabbitMQ\Mono.Messaging.RabbitMQ.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.ServiceProcess\System.ServiceProcess.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Drawing.Design\System.Drawing.Design.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Design\System.Design.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Http\Mono.Http.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Cairo\Mono.Cairo.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\IBM.Data.DB2\IBM.Data.DB2.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\CustomMarshalers\CustomMarshalers.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\OpenSystem.C\OpenSystem.C.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Cecil\Mono.Cecil.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Cecil.Mdb\Mono.Cecil.Mdb.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Debugger.Soft\Mono.Debugger.Soft.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\SystemWebTestShim\SystemWebTestShim.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Microsoft.Build.Framework\Microsoft.Build.Framework.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Microsoft.Build.Utilities\Microsoft.Build.Utilities.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Microsoft.Build.Tasks\Microsoft.Build.Tasks.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Xml.Linq\System.Xml.Linq.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Runtime.Serialization\System.Runtime.Serialization.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Data.DataSetExtensions\System.Data.DataSetExtensions.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Data.Linq\System.Data.Linq.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web\System.Web.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Abstractions\System.Web.Abstractions.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Routing\System.Web.Routing.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.IdentityModel\System.IdentityModel.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.IdentityModel.Selectors\System.IdentityModel.Selectors.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.ServiceModel\System.ServiceModel.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Extensions\System.Web.Extensions.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Extensions.Design\System.Web.Extensions.Design.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.DynamicData\System.Web.DynamicData.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.ServiceModel.Web\System.ServiceModel.Web.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Mvc\System.Web.Mvc.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Mvc2\System.Web.Mvc2.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.C5\Mono.C5.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Management\Mono.Management.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Options\Mono.Options.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Simd\Mono.Simd.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Tasklets\Mono.Tasklets.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.CSharp\Mono.CSharp.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Moonlight.Build.Tasks\Moonlight.Build.Tasks.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\WindowsBase\WindowsBase.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Data.Services\System.Data.Services.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Extensions_1.0\System.Web.Extensions_1.0.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Web.Extensions.Design_1.0\System.Web.Extensions.Design_1.0.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    -->\r
-    \r
-    <!-- nunit -->\r
-    <MSBuild Projects="ilasm\ilasm.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    <MSBuild Projects="tools\gacutil\gacutil.csproj" Targets="Build" Properties="Configuration=net_2_0;Platform=AnyCPU"/>\r
-    \r
-  </Target>\r
-  <Target Name="Clean">\r
-    <!--<MSBuild Projects="build\build.proj" Targets="Clean" />-->\r
-    <!--<MSBuild Projects="mcs\mcs\gmcs.proj"/>-->\r
-    <MSBuild Projects="class\corlib\corlib.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Xml\System.Xml.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System\System.csproj" Targets="Clean" Properties="Configuration=Basic_XML_DEP;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.Security\Mono.Security.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\Mono.CompilerServices.SymbolWriter\Mono.CompilerServices.SymbolWriter.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-    <MSBuild Projects="class\System.Core\System.Core.csproj" Targets="Clean" Properties="Configuration=basic;Platform=AnyCPU"/>\r
-  </Target>\r
-</Project>\r
index 8edce969a443819cabe510b5da2804ba4796a2dd..c1c28cd8eedded2fd694e782e6619a3d501ac13d 100644 (file)
@@ -1125,7 +1125,7 @@ namespace Mono.CSharp {
                                cdata = encoder.ToArray ();
                        }
 
-                       if (!ctor.DeclaringType.IsConditionallyExcluded (context)) {
+                       if (!IsConditionallyExcluded (ctor.DeclaringType)) {
                                try {
                                        foreach (Attributable target in targets)
                                                target.ApplyAttributeBuilder (this, ctor, cdata, predefined);
@@ -1166,6 +1166,18 @@ namespace Mono.CSharp {
                        }
                }
 
+               bool IsConditionallyExcluded (TypeSpec type)
+               {
+                       do {
+                               if (type.IsConditionallyExcluded (context))
+                                       return true;
+
+                               type = type.BaseType;
+                       } while (type != null);
+
+                       return false;
+               }
+
                private Expression GetValue () 
                {
                        if (pos_args == null || pos_args.Count < 1)
index 1243712f160dac5db9e9b50b7c6057cf385d6f11..62f671e1d101720421a10270a7dbcc929e0752c1 100644 (file)
@@ -254,6 +254,7 @@ namespace Mono.CSharp
                        sdk_directory.Add ("4.6", new string[] { "4.6-api", "v4.0.30319" });
                        sdk_directory.Add ("4.6.1", new string[] { "4.6.1-api", "v4.0.30319" });
                        sdk_directory.Add ("4.6.2", new string [] { "4.6.2-api", "v4.0.30319" });
+                       sdk_directory.Add ("4.7", new string [] { "4.7-api", "v4.0.30319" });
                        sdk_directory.Add ("4.x", new string [] { "4.5", "net_4_x", "v4.0.30319" });
                }
 
diff --git a/mcs/tests/test-942.cs b/mcs/tests/test-942.cs
new file mode 100644 (file)
index 0000000..e851f8b
--- /dev/null
@@ -0,0 +1,39 @@
+using System;
+using System.Reflection;
+using System.Diagnostics;
+
+namespace ConditionalAttributeTesting
+{
+       class MainClass
+       {
+               public static int Main ()
+               {
+                       return HelloWorld ();
+               }
+
+               [Some ("Test")]
+               public static int HelloWorld ()
+               {
+                       var methodInfo = MethodBase.GetCurrentMethod ();
+                       SomeAttribute someAttribute = Attribute.GetCustomAttribute (methodInfo, typeof (SomeAttribute)) as SomeAttribute;
+                       if (someAttribute != null) {
+                               return 1;
+                       }
+
+                       return 0;
+               }
+       }
+
+       [AttributeUsage (AttributeTargets.All)]
+       [Conditional ("NOT_DEFINED")]
+       public abstract class BaseAttribute : Attribute
+       {
+       }
+
+       public class SomeAttribute : BaseAttribute
+       {
+               public SomeAttribute (string someText)
+               {
+               }
+       }
+}
\ No newline at end of file
index 9ff491a9ee8f90f6e6bae49eff8c580d70c5741e..0ce8465a3f05977abecfd1deb58c560bb9a713cb 100644 (file)
       </method>
     </type>
   </test>
+  <test name="test-942.cs">
+    <type name="ConditionalAttributeTesting.MainClass">
+      <method name="Int32 Main()" attrs="150">
+        <size>14</size>
+      </method>
+      <method name="Int32 HelloWorld()" attrs="150">
+        <size>52</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="ConditionalAttributeTesting.BaseAttribute">
+      <method name="Void .ctor()" attrs="6276">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="ConditionalAttributeTesting.SomeAttribute">
+      <method name="Void .ctor(String)" attrs="6278">
+        <size>8</size>
+      </method>
+    </type>
+  </test>
   <test name="test-95.cs">
     <type name="X">
       <method name="Int32 Main()" attrs="150">
index d5426120a37a0c779d007b1fab6131978f61b132..2d1d7438b9e0c77fef16851eded6cc7097a940ae 100644 (file)
@@ -49,7 +49,7 @@ net_4_5_dirs := \
        mono-symbolicate        \
        linker-analyzer
 
-build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator
+build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr
 net_4_5_SUBDIRS = gacutil
 net_4_5_PARALLEL_SUBDIRS = $(net_4_5_dirs)
 
diff --git a/mcs/tools/culevel/culevel.csproj b/mcs/tools/culevel/culevel.csproj
deleted file mode 100644 (file)
index 747f4b4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E2DFB2FB-5133-4471-AE5C-5E4D21266009}</ProjectGuid>\r
-    <OutputType>Exe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>culevel</RootNamespace>\r
-    <AssemblyName>culevel</AssemblyName>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>..\..\class\lib\net_2_0\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>..\..\class\lib\net_2_0\</OutputPath>\r
-    <DefineConstants>TRACE</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="CompileUplevel.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/gacutil/gacutil.csproj b/mcs/tools/gacutil/gacutil.csproj
deleted file mode 100644 (file)
index 4419f32..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <OutputType>Exe</OutputType>
-    <AssemblyName>$(MSBuildProjectName)</AssemblyName>
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <ResponseFile>$(MSBuildProjectName).exe.sources</ResponseFile>
-    <CodePage>65001</CodePage>
-    <OutputPath>..\..\class\lib\basic\</OutputPath>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'basic|AnyCPU' ">
-    <DefineConstants>BOOTSTRAP_BASIC,NET_1_1,NET_2_0</DefineConstants>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Mono.Security">
-      <HintPath>..\..\class\lib\basic\Mono.Security.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <Import Project="$(MSBuildProjectDirectory)\..\..\build\msbuild\Mono.Common.targets"/>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <Target Name="BeforeBuild" DependsOnTargets="SetupProject">
-  </Target>
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzer.csproj b/mcs/tools/linker-analyzer/LinkerAnalyzer.csproj
deleted file mode 100644 (file)
index bf0c453..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <ProjectGuid>{B64F51B1-2D82-479C-B8F5-8875CDF06D95}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <RootNamespace>LinkerAnalyzer</RootNamespace>
-    <MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
-    <AssemblyName>LinkerAnalyzer</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <UseRefCounting>true</UseRefCounting>
-    <UseSGen>true</UseSGen>
-    <IncludeMonoRuntime>false</IncludeMonoRuntime>
-    <EnablePackageSigning>false</EnablePackageSigning>
-    <CodeSigningKey>Mac Developer</CodeSigningKey>
-    <EnableCodeSigning>false</EnableCodeSigning>
-    <CreatePackage>false</CreatePackage>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <LinkMode>SdkOnly</LinkMode>
-    <UseRefCounting>true</UseRefCounting>
-    <UseSGen>true</UseSGen>
-    <IncludeMonoRuntime>true</IncludeMonoRuntime>
-    <CreatePackage>true</CreatePackage>
-    <CodeSigningKey>Developer ID Application</CodeSigningKey>
-    <EnableCodeSigning>true</EnableCodeSigning>
-    <EnablePackageSigning>false</EnablePackageSigning>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="Xamarin.Mac" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Resources\" />
-    <Folder Include="Mono.Options\" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Info.plist" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Main.cs" />
-    <Compile Include="ConsoleDependencyGraph.cs" />
-    <Compile Include="..\..\class\Mono.Options\Mono.Options\Options.cs">
-      <Link>Mono.Options\Options.cs</Link>
-    </Compile>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
-  <ItemGroup>
-    <ProjectReference Include="LinkerAnalyzerCore\LinkerAnalyzerCore.csproj">
-      <Project>{E1B8F203-5251-470E-A573-C9E79B60781B}</Project>
-      <Name>LinkerAnalyzerCore</Name>
-    </ProjectReference>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzer.sln b/mcs/tools/linker-analyzer/LinkerAnalyzer.sln
deleted file mode 100644 (file)
index 1debe4c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 12.00\r
-# Visual Studio 2012\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkerAnalyzer", "LinkerAnalyzer.csproj", "{B64F51B1-2D82-479C-B8F5-8875CDF06D95}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkerAnalyzerCore", "LinkerAnalyzerCore\LinkerAnalyzerCore.csproj", "{E1B8F203-5251-470E-A573-C9E79B60781B}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {E1B8F203-5251-470E-A573-C9E79B60781B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {E1B8F203-5251-470E-A573-C9E79B60781B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {E1B8F203-5251-470E-A573-C9E79B60781B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {E1B8F203-5251-470E-A573-C9E79B60781B}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj b/mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj
deleted file mode 100644 (file)
index 6427516..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <ProjectGuid>{E1B8F203-5251-470E-A573-C9E79B60781B}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>LinkerAnalyzer.Core</RootNamespace>
-    <MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
-    <AssemblyName>LinkerAnalyzerCore</AssemblyName>
-    <UseXamMacFullFramework>true</UseXamMacFullFramework>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <UseRefCounting>false</UseRefCounting>
-    <UseSGen>false</UseSGen>
-    <IncludeMonoRuntime>false</IncludeMonoRuntime>
-    <CreatePackage>false</CreatePackage>
-    <EnableCodeSigning>false</EnableCodeSigning>
-    <EnablePackageSigning>false</EnablePackageSigning>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <UseRefCounting>false</UseRefCounting>
-    <UseSGen>false</UseSGen>
-    <IncludeMonoRuntime>false</IncludeMonoRuntime>
-    <CreatePackage>false</CreatePackage>
-    <EnableCodeSigning>false</EnableCodeSigning>
-    <EnablePackageSigning>false</EnablePackageSigning>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="Xamarin.Mac" />
-    <Reference Include="System.Xml" />
-    <Reference Include="Mono.Cecil">
-      <HintPath>..\..\..\git\upstream\cecil\bin\net_4_0_Debug\Mono.Cecil.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Resources\" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="DependencyGraph.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
-</Project>
\ No newline at end of file
index 5c6e6e895ef0ea61eb001dffbb889469d7788d35..a76e9f88c92a1440897c007e92937f4d16b89311 100755 (executable)
@@ -49,6 +49,7 @@ class MakeBundle {
        static string machine_config_file = null;
        static string config_dir = null;
        static string style = "linux";
+       static bool bundled_header = false;
        static string os_message = "";
        static bool compress;
        static bool nomain;
@@ -347,6 +348,9 @@ class MakeBundle {
                                else
                                        environment.Add (env.Substring (0, p), env.Substring (p+1));
                                break;
+                       case "--bundled-header":
+                               bundled_header = true;
+                               break;
                        default:
                                sources.Add (args [i]);
                                break;
@@ -700,10 +704,10 @@ class MakeBundle {
                        using (StreamWriter tc = new StreamWriter (File.Create (temp_c))) {
                        string prog = null;
 
-#if XAMARIN_ANDROID
-                       tc.WriteLine ("/* This source code was produced by mkbundle, do not edit */");
-                       tc.WriteLine ("\n#ifndef NULL\n#define NULL (void *)0\n#endif");
-                       tc.WriteLine (@"
+                       if (bundled_header) {
+                               tc.WriteLine ("/* This source code was produced by mkbundle, do not edit */");
+                               tc.WriteLine ("\n#ifndef NULL\n#define NULL (void *)0\n#endif");
+                               tc.WriteLine (@"
 typedef struct {
        const char *name;
        const unsigned char *data;
@@ -712,10 +716,10 @@ typedef struct {
 void          mono_register_bundled_assemblies (const MonoBundledAssembly **assemblies);
 void          mono_register_config_for_assembly (const char* assembly_name, const char* config_xml);
 ");
-#else
-                       tc.WriteLine ("#include <mono/metadata/mono-config.h>");
-                       tc.WriteLine ("#include <mono/metadata/assembly.h>\n");
-#endif
+                       } else {
+                               tc.WriteLine ("#include <mono/metadata/mono-config.h>");
+                               tc.WriteLine ("#include <mono/metadata/assembly.h>\n");
+                       }
 
                        if (compress) {
                                tc.WriteLine ("typedef struct _compressed_data {");
@@ -1238,6 +1242,7 @@ void          mono_register_config_for_assembly (const char* assembly_name, cons
                                   "    --skip-scan          Skip scanning assemblies that could not be loaded (but still embed them).\n" +
                                   "    --i18n ENCODING      none, all or comma separated list of CJK, MidWest, Other, Rare, West.\n" +
                                   "    -v                   Verbose output\n" + 
+                                  "    --bundled-header     Do not attempt to include 'mono-config.h'. Define the entry points directly in the generated code\n" +
                                   "\n" + 
                                   "--simple   Simple mode does not require a C toolchain and can cross compile\n" + 
                                   "    --cross TARGET       Generates a binary for the given TARGET\n"+
diff --git a/mcs/tools/mono-xmltool/XmlTool.sln b/mcs/tools/mono-xmltool/XmlTool.sln
deleted file mode 100644 (file)
index bd604fc..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00\r
-Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "XmlTool", "XmlTool.vmwcsproj", "{087B262E-5E5C-4A82-BDF0-224557BE6696}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-       EndProjectSection\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               Debug_Java = Debug_Java\r
-               Release_Java = Release_Java\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {087B262E-5E5C-4A82-BDF0-224557BE6696}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
-               {087B262E-5E5C-4A82-BDF0-224557BE6696}.Debug_Java.Build.0 = Debug_Java|.NET\r
-               {087B262E-5E5C-4A82-BDF0-224557BE6696}.Release_Java.ActiveCfg = Release_Java|.NET\r
-               {087B262E-5E5C-4A82-BDF0-224557BE6696}.Release_Java.Build.0 = Release_Java|.NET\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/mcs/tools/mono-xmltool/XmlTool.vmwcsproj b/mcs/tools/mono-xmltool/XmlTool.vmwcsproj
deleted file mode 100644 (file)
index 9be7abe..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<VisualStudioProject>\r
-       <CSHARP ProjectType="Local" ProductVersion="7.10.3077" SchemaVersion="2.0" ProjectGuid="{087B262E-5E5C-4A82-BDF0-224557BE6696}">\r
-               <Build>\r
-                       <Settings ApplicationIcon="" AssemblyKeyContainerName="" AssemblyName="xmltool" AssemblyOriginatorKeyFile="" DefaultClientScript="JScript" DefaultHTMLPageLayout="Grid" DefaultTargetSchema="IE50" DelaySign="false" OutputType="Exe" PreBuildEvent="" PostBuildEvent="" RootNamespace="XslTransformer" RunPostBuildEvent="OnBuildSuccess" StartupObject="">\r
-                               <Config Name="Debug_Java" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="DEBUG;TRACE;JAVA;TARGET_JVM" DocumentationFile="" DebugSymbols="true" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="1595" Optimize="false" OutputPath="bin\Debug_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4"/>\r
-                               <Config Name="Release_Java" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="TRACE;JAVA" DocumentationFile="" DebugSymbols="false" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="1595" Optimize="true" OutputPath="bin\Release_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4"/>\r
-                       </Settings>\r
-                       <References>\r
-                               <Reference Name="System" AssemblyName="System" HintPath="..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"/>\r
-                               <Reference Name="System.Data" AssemblyName="System.Data" HintPath="..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"/>\r
-                               <Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Xml.dll"/>\r
-                               <Reference Name="rt" AssemblyName="rt" HintPath="..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\jre5\rt.dll" Private="False"/>\r
-                       </References>\r
-               </Build>\r
-               <Files>\r
-                       <Include>\r
-                               <File RelPath="xmltool.cs" SubType="Code" BuildAction="Compile"/>\r
-                       </Include>\r
-               </Files>\r
-               <UserProperties REFS.JarPath.system="..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.jar" REFS.JarPath.system.data="..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Data.jar" REFS.JarPath.system.xml="..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Xml.jar" REFS.JarPath.rt="..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jre5\lib\rt.jar" project.JDKType="1.5.0_05"/>\r
-       </CSHARP>\r
-       <VisualMainWin><Project Prop2023="1.5.0_05" Prop2024="" Prop2026="" Prop2015="" Version="1.7.0" ProjectType="1"/><References/><Configs><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Debug_Java"/><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Release_Java"/></Configs></VisualMainWin></VisualStudioProject>\r
diff --git a/mcs/tools/mono-xmltool/XmlTool20.csproj b/mcs/tools/mono-xmltool/XmlTool20.csproj
deleted file mode 100755 (executable)
index 724b783..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>8.0.50727</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A6E5B975-62B2-4DF5-93B5-396E59C2EFB5}</ProjectGuid>\r
-    <OutputType>Exe</OutputType>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>XmlTool</RootNamespace>\r
-    <AssemblyName>XmlTool</AssemblyName>\r
-    <JDKName>1.5.0_05</JDKName>\r
-    <GHProjectType>1</GHProjectType>\r
-    <Version>2.0</Version>\r
-    <ApplicationIcon>\r
-    </ApplicationIcon>\r
-    <ProjectTypeGuids>{F6B19D50-1E2E-4e87-ADFB-10393B439DE0};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java20|AnyCPU' ">\r
-    <OutputPath>bin\Release_Java20\</OutputPath>\r
-    <DefineConstants>TRACE;TARGET_JVM;NET_1_1;NET_2_0</DefineConstants>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <Optimize>true</Optimize>\r
-    <DebugType>pdbonly</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <SkipValidation>false</SkipValidation>\r
-    <KeepIntermediate>false</KeepIntermediate>\r
-    <GHProjectType>1</GHProjectType>\r
-    <PreCompile>false</PreCompile>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <ApplicationServerType>\r
-    </ApplicationServerType>\r
-    <Version>2.0</Version>\r
-    <JDKName>1.5.0_05</JDKName>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java20|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <OutputPath>bin\Debug_Java20\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;TARGET_JVM;NET_1_1;NET_2_0</DefineConstants>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <DebugType>full</DebugType>\r
-    <PlatformTarget>AnyCPU</PlatformTarget>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <SkipValidation>True</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <GHProjectType>1</GHProjectType>\r
-    <PreCompile>false</PreCompile>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-    <ApplicationServerType>\r
-    </ApplicationServerType>\r
-    <Version>2.0</Version>\r
-    <JDKName>1.5.0_05</JDKName>\r
-    <TargetPlatform>0</TargetPlatform>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <Optimize>false</Optimize>\r
-    <OutputPath>bin\Debug_Java\</OutputPath>\r
-    <DefineConstants>TRACE;DEBUG;TARGET_JVM;NET_1_1;ONLY_1_1</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <NoStdLib>false</NoStdLib>\r
-    <SkipValidation>True</SkipValidation>\r
-    <KeepIntermediate>False</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <Optimize>true</Optimize>\r
-    <OutputPath>bin\Release_Java\</OutputPath>\r
-    <DefineConstants>TRACE;TARGET_JVM;NET_1_1;ONLY_1_1</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-    <NoStdLib>false</NoStdLib>\r
-    <BaseAddress>285212672</BaseAddress>\r
-    <SkipValidation>false</SkipValidation>\r
-    <KeepIntermediate>false</KeepIntermediate>\r
-    <TargetPlatform>0</TargetPlatform>\r
-    <AdditionalClassPath>\r
-    </AdditionalClassPath>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="System" />\r
-    <Reference Include="System.Xml" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Compile Include="xmltool.cs" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <Import Project="$(MSBuildBinPath)\Microsoft.csharp.targets" />\r
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <ProjectExtensions>\r
-    <VisualStudio>\r
-      <UserProperties REFS-JarPath-mscorlib="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE 2\jgac\vmw4j2ee_110\mscorlib.jar" REFS-JarPath-system="..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE 2\jgac\vmw4j2ee_110\System.jar" REFS-JarPath-system-data="..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE 2\jgac\vmw4j2ee_110\System.Data.jar" REFS-JarPath-system-xml="..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE 2\jgac\vmw4j2ee_110\System.Xml.jar" REFS-JarPath-rt="..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE 2\jre5\lib\rt.jar" />\r
-    </VisualStudio>\r
-  </ProjectExtensions>\r
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/mono-xmltool/XmlTool20.sln b/mcs/tools/mono-xmltool/XmlTool20.sln
deleted file mode 100644 (file)
index 4ebd8a7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 9.00\r
-# Visual Studio 2005\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlTool20", "XmlTool20.csproj", "{B2E6CE91-6C6A-449F-ADD8-544A6AE336AA}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {B2E6CE91-6C6A-449F-ADD8-544A6AE336AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {B2E6CE91-6C6A-449F-ADD8-544A6AE336AA}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {B2E6CE91-6C6A-449F-ADD8-544A6AE336AA}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {B2E6CE91-6C6A-449F-ADD8-544A6AE336AA}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
index c9cac90e4d4ec60701c4d07052fed3b27544a518..82208a6ea374a8288becc2cfcc1ac42412b2a478 100644 (file)
@@ -3,8 +3,9 @@ SUBDIRS =
 include ../../build/rules.make
 
 PROGRAM = resx2sr.exe
+NO_INSTALL = yes
 
-LIB_REFS = System System.Windows.Forms
-LOCAL_MCS_FLAGS =
+LIB_REFS = System System.Drawing System.Xml
+LOCAL_MCS_FLAGS = -unsafe
 
 include ../../build/executable.make
diff --git a/mcs/tools/resx2sr/resx2sr-net_4_x.csproj b/mcs/tools/resx2sr/resx2sr-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fa3f9db
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- WARNING: this file is autogenerated, don't modify it. Edit the .sources file of the corresponding assembly instead if you want to add/remove C# source files. -->\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{07D30676-A919-4763-8C3C-B2C4DAFFC662}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>resx2sr</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="..\..\class\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap\SoapFormatter.cs" />\r
+    <Compile Include="..\..\class\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap\SoapReader.cs" />\r
+    <Compile Include="..\..\class\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap\SoapTypeMapper.cs" />\r
+    <Compile Include="..\..\class\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap\SoapWriter.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\AssemblyNamesTypeResolutionService.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ByteArrayFromResXHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\FileRefHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\InMemoryHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\NullRefHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXDataNode.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXDataNodeHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXFileRef.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXNullRef.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXResourceReader.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXResourceSet.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\ResXResourceWriter.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\SerializedFromResXHandler.cs" />\r
+    <Compile Include="..\..\class\System.Windows.Forms\System.Resources\TypeConverterFromResXHandler.cs" />\r
+    <Compile Include="resx2sr.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../class/corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../class/System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../class/System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../class/System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 49f8c241c7c7240823de48fda1375a1c2d7b7d84..17b8ebd1f22872184222851234c4130b792fceb0 100644 (file)
@@ -1,2 +1,21 @@
+../../build/common/MonoTODOAttribute.cs
 resx2sr.cs
 ../../class/Mono.Options/Mono.Options/Options.cs
+../../class/System.Windows.Forms/System.Resources/AssemblyNamesTypeResolutionService.cs
+../../class/System.Windows.Forms/System.Resources/ResXDataNode.cs
+../../class/System.Windows.Forms/System.Resources/ResXResourceSet.cs
+../../class/System.Windows.Forms/System.Resources/ByteArrayFromResXHandler.cs
+../../class/System.Windows.Forms/System.Resources/ResXDataNodeHandler.cs
+../../class/System.Windows.Forms/System.Resources/ResXResourceWriter.cs
+../../class/System.Windows.Forms/System.Resources/FileRefHandler.cs
+../../class/System.Windows.Forms/System.Resources/ResXFileRef.cs
+../../class/System.Windows.Forms/System.Resources/SerializedFromResXHandler.cs
+../../class/System.Windows.Forms/System.Resources/InMemoryHandler.cs
+../../class/System.Windows.Forms/System.Resources/ResXNullRef.cs
+../../class/System.Windows.Forms/System.Resources/TypeConverterFromResXHandler.cs
+../../class/System.Windows.Forms/System.Resources/NullRefHandler.cs
+../../class/System.Windows.Forms/System.Resources/ResXResourceReader.cs
+../../class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap/SoapFormatter.cs
+../../class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap/SoapReader.cs
+../../class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap/SoapTypeMapper.cs
+../../class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap/SoapWriter.cs
index e02eaf6cc7fc28d39f4a4744f033aa234fc5151d..16f94f2fd610736c885e5dd74c6dd8d383748fe9 100644 (file)
@@ -79,6 +79,8 @@ install-frameworks:
        $(INSTALL_DATA) frameworks/net_4.6.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.1/RedistList/FrameworkList.xml
        $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList
        $(INSTALL_DATA) frameworks/net_4.6.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList/FrameworkList.xml
+       $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList
+       $(INSTALL_DATA) frameworks/net_4.7.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList/FrameworkList.xml
 
 install-pcl-targets:
        $(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)
@@ -183,6 +185,7 @@ EXTRA_DISTFILES = \
        frameworks/net_4.6.xml \
        frameworks/net_4.6.1.xml \
        frameworks/net_4.6.2.xml \
+       frameworks/net_4.7.xml \
        targets/Microsoft.WebApplication.targets        \
        $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props       \
        $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets      \
diff --git a/mcs/tools/xbuild/Test/xbuild.tests/xbuild.tests.csproj b/mcs/tools/xbuild/Test/xbuild.tests/xbuild.tests.csproj
deleted file mode 100644 (file)
index 381dd82..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{929D9BCD-2280-4B6D-AD69-0FD089E344C2}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>xbuild.tests</RootNamespace>
-    <AssemblyName>xbuild.tests</AssemblyName>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;NET_2_0</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\xbuild.csproj">
-      <Project>{89938F1A-C851-41D5-96D2-C329E00887B6}</Project>
-      <Name>xbuild</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <ProjectExtensions>
-    <MonoDevelop>
-      <Properties InternalTargetFrameworkVersion="3.5" />
-    </MonoDevelop>
-  </ProjectExtensions>
-  <ItemGroup>
-    <Compile Include="ParametersTest.cs" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/xbuild/frameworks/net_4.7.xml b/mcs/tools/xbuild/frameworks/net_4.7.xml
new file mode 100644 (file)
index 0000000..6ea6b72
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FileList  Name=".NET Framework 4.7" TargetFrameworkDirectory="..\..\..\..\4.7-api">
+</FileList>
diff --git a/mcs/tools/xbuild/xbuild.csproj b/mcs/tools/xbuild/xbuild.csproj
deleted file mode 100644 (file)
index df1a4e1..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{89938F1A-C851-41D5-96D2-C329E00887B6}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>xbuild</RootNamespace>
-    <AssemblyName>xbuild</AssemblyName>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;NET_2_0</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugMS|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;NET_2_0</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE;NET_2_0</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.Build.Framework" />
-    <Reference Include="Microsoft.Build.Utilities" />
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\build\common\Consts.cs" />
-    <Compile Include="..\..\class\Microsoft.Build.Framework\Mono.XBuild.Framework/AssemblyLoadInfo.cs" />
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="CommandLineException.cs" />
-    <Compile Include="ErrorUtilities.cs" />
-    <Compile Include="LoggerInfo.cs" />
-    <Compile Include="Main.cs" />
-    <Compile Include="Parameters.cs" />
-    <Compile Include="SolutionParser.cs" />
-  </ItemGroup>
-  <ItemGroup Condition=" '$(Configuration)' == 'DebugMS' ">
-    <Reference Include="Microsoft.Build.Engine" />
-  </ItemGroup>
-  <ItemGroup Condition=" '$(Configuration)' != 'DebugMS' ">
-    <ProjectReference Include="..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj">
-      <Project>{49CC9B64-E28A-4818-97F9-301E14B383B9}</Project>
-      <Name>Microsoft.Build.Engine</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/mcs/tools/xbuild/xbuild.sln b/mcs/tools/xbuild/xbuild.sln
deleted file mode 100644 (file)
index a0815a5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 9.00\r
-# Visual Studio 2005\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj", "{49CC9B64-E28A-4818-97F9-301E14B383B9}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xbuild", "xbuild.csproj", "{89938F1A-C851-41D5-96D2-C329E00887B6}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine.Test", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.Test.csproj", "{A2F451CD-8701-434A-A562-EF1809E2DB7D}"\r
-EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xbuild.tests", "Test\xbuild.tests\xbuild.tests.csproj", "{929D9BCD-2280-4B6D-AD69-0FD089E344C2}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Any CPU = Debug|Any CPU\r
-               DebugMS|Any CPU = DebugMS|Any CPU\r
-               Release|Any CPU = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.DebugMS|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.DebugMS|Any CPU.Build.0 = Debug|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.Build.0 = Release|Any CPU\r
-       EndGlobalSection\r
-       GlobalSection(MonoDevelopProperties) = preSolution\r
-               StartupItem = ..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
index 0d57ff8b745aed6f8a0b6ff50e96aea505bf19b4..f8de9e2d23e3842a747a4948d641847b77f3464c 100644 (file)
@@ -192,7 +192,9 @@ create_domain_objects (MonoDomain *domain)
        string_vt = mono_class_vtable (domain, mono_defaults.string_class);
        string_empty_fld = mono_class_get_field_from_name (mono_defaults.string_class, "Empty");
        g_assert (string_empty_fld);
-       MonoString *empty_str = mono_string_intern_checked (mono_string_new (domain, ""), &error);
+       MonoString *empty_str = mono_string_new_checked (domain, "", &error);
+       mono_error_assert_ok (&error);
+       empty_str = mono_string_intern_checked (empty_str, &error);
        mono_error_assert_ok (&error);
        mono_field_static_set_value (string_vt, string_empty_fld, empty_str);
        domain->empty_string = empty_str;
@@ -200,7 +202,8 @@ create_domain_objects (MonoDomain *domain)
        /*
         * Create an instance early since we can't do it when there is no memory.
         */
-       arg = mono_string_new (domain, "Out of memory");
+       arg = mono_string_new_checked (domain, "Out of memory", &error);
+       mono_error_assert_ok (&error);
        domain->out_of_memory_ex = mono_exception_from_name_two_strings_checked (mono_defaults.corlib, "System", "OutOfMemoryException", arg, NULL, &error);
        mono_error_assert_ok (&error);
 
@@ -208,10 +211,12 @@ create_domain_objects (MonoDomain *domain)
         * These two are needed because the signal handlers might be executing on
         * an alternate stack, and Boehm GC can't handle that.
         */
-       arg = mono_string_new (domain, "A null value was found where an object instance was required");
+       arg = mono_string_new_checked (domain, "A null value was found where an object instance was required", &error);
+       mono_error_assert_ok (&error);
        domain->null_reference_ex = mono_exception_from_name_two_strings_checked (mono_defaults.corlib, "System", "NullReferenceException", arg, NULL, &error);
        mono_error_assert_ok (&error);
-       arg = mono_string_new (domain, "The requested operation caused a stack overflow.");
+       arg = mono_string_new_checked (domain, "The requested operation caused a stack overflow.", &error);
+       mono_error_assert_ok (&error);
        domain->stack_overflow_ex = mono_exception_from_name_two_strings_checked (mono_defaults.corlib, "System", "StackOverflowException", arg, NULL, &error);
        mono_error_assert_ok (&error);
 
@@ -521,8 +526,28 @@ leave:
 void
 mono_domain_set_config (MonoDomain *domain, const char *base_dir, const char *config_file_name)
 {
-       MONO_OBJECT_SETREF (domain->setup, application_base, mono_string_new (domain, base_dir));
-       MONO_OBJECT_SETREF (domain->setup, configuration_file, mono_string_new (domain, config_file_name));
+       HANDLE_FUNCTION_ENTER ();
+       MonoError error;
+       mono_domain_set_config_checked (domain, base_dir, config_file_name, &error);
+       mono_error_cleanup (&error);
+       HANDLE_FUNCTION_RETURN ();
+}
+
+gboolean
+mono_domain_set_config_checked (MonoDomain *domain, const char *base_dir, const char *config_file_name, MonoError *error)
+{
+       error_init (error);
+       MonoAppDomainSetupHandle setup = MONO_HANDLE_NEW (MonoAppDomainSetup, domain->setup);
+       MonoStringHandle base_dir_str = mono_string_new_handle (domain, base_dir, error);
+       if (!is_ok (error))
+               goto leave;
+       MONO_HANDLE_SET (setup, application_base, base_dir_str);
+       MonoStringHandle config_file_name_str = mono_string_new_handle (domain, config_file_name, error);
+       if (!is_ok (error))
+               goto leave;
+       MONO_HANDLE_SET (setup, configuration_file, config_file_name_str);
+leave:
+       return is_ok (error);
 }
 
 static MonoAppDomainSetupHandle
@@ -730,9 +755,10 @@ mono_domain_try_type_resolve_checked (MonoDomain *domain, char *name, MonoObject
                }
        }
 
-       if (name)
-               *params = (MonoObject*)mono_string_new (mono_domain_get (), name);
-       else
+       if (name) {
+               *params = (MonoObject*)mono_string_new_checked (mono_domain_get (), name, error);
+               return_val_if_nok (error, NULL);
+       } else
                *params = tb;
 
        ret = (MonoReflectionAssembly *) mono_runtime_invoke_checked (method, domain->domain, params, error);
@@ -2002,6 +2028,14 @@ mono_domain_assembly_preload (MonoAssemblyName *aname,
 
        set_domain_search_path (domain);
 
+       MonoAssemblyCandidatePredicate predicate = NULL;
+       void* predicate_ud = NULL;
+#if !defined(DISABLE_DESKTOP_LOADER)
+       if (G_LIKELY (mono_loader_get_strict_strong_names ())) {
+               predicate = &mono_assembly_candidate_predicate_sn_same_name;
+               predicate_ud = aname;
+       }
+#endif
        if (domain->search_path && domain->search_path [0] != NULL) {
                if (mono_trace_is_traced (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY)) {
                        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY, "Domain %s search path is:", domain->friendly_name);
@@ -2011,11 +2045,11 @@ mono_domain_assembly_preload (MonoAssemblyName *aname,
                        }
                        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY, "End of domain %s search path.", domain->friendly_name);                    
                }
-               result = real_load (domain->search_path, aname->culture, aname->name, refonly, &mono_assembly_candidate_predicate_sn_same_name, aname);
+               result = real_load (domain->search_path, aname->culture, aname->name, refonly, predicate, predicate_ud);
        }
 
        if (result == NULL && assemblies_path && assemblies_path [0] != NULL) {
-               result = real_load (assemblies_path, aname->culture, aname->name, refonly, &mono_assembly_candidate_predicate_sn_same_name, aname);
+               result = real_load (assemblies_path, aname->culture, aname->name, refonly, predicate, predicate_ud);
        }
 
        return result;
@@ -2508,7 +2542,9 @@ unload_thread_main (void *arg)
 
        internal = mono_thread_internal_current ();
 
-       mono_thread_set_name_internal (internal, mono_string_new (mono_domain_get (), "Domain unloader"), TRUE, FALSE, &error);
+       MonoString *thread_name_str = mono_string_new_checked (mono_domain_get (), "Domain unloader", &error);
+       if (is_ok (&error))
+               mono_thread_set_name_internal (internal, thread_name_str, TRUE, FALSE, &error);
        if (!is_ok (&error)) {
                data->failure_reason = g_strdup (mono_error_get_message (&error));
                mono_error_cleanup (&error);
index 83ca9ea26837759acebff6038f8160cb7b612dd6..9d42bdda490344814869d484bbf037106a20c68f 100644 (file)
@@ -69,6 +69,7 @@ MONO_RT_EXTERNAL_ONLY
 MONO_API MonoDomain *
 mono_domain_create_appdomain (char *friendly_name, char *configuration_file);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API void
 mono_domain_set_config (MonoDomain *domain, const char *base_dir, const char *config_file_name);
 
index f8557fd09f9e91f05a3183d17ac04ff88faaa82c..5bc9486f897e85703bbf689875c78867e671f786 100644 (file)
@@ -60,6 +60,7 @@ typedef struct  {
        guint8 version_set_index;
        const char* new_assembly_name;
        gboolean only_lower_versions;
+       gboolean framework_facade_assembly;
 } AssemblyVersionMap;
 
 /* Flag bits for assembly_names_equal_flags (). */
@@ -68,8 +69,10 @@ typedef enum {
        ANAME_EQ_NONE = 0x0,
        /* Don't compare public key token */
        ANAME_EQ_IGNORE_PUBKEY = 0x1,
+       /* Don't compare the versions */
+       ANAME_EQ_IGNORE_VERSION = 0x2,
 
-       ANAME_EQ_MASK = 0x1
+       ANAME_EQ_MASK = 0x3
 } AssemblyNameEqFlags;
 
 /* the default search path is empty, the first slot is replaced with the computed value */
@@ -86,7 +89,9 @@ static char **assemblies_path = NULL;
 /* Contains the list of directories that point to auxiliary GACs */
 static char **extra_gac_paths = NULL;
 
-#ifndef DISABLE_ASSEMBLY_REMAPPING
+#ifndef DISABLE_DESKTOP_LOADER
+
+#define FACADE_ASSEMBLY(str) {str, 0, NULL, FALSE, TRUE}
 
 static GHashTable* assembly_remapping_table;
 /* The list of system assemblies what will be remapped to the running
@@ -118,6 +123,9 @@ static const AssemblyVersionMap framework_assemblies [] = {
        {"Microsoft.Build.Utilities.v3.5", 2, "Microsoft.Build.Utilities.v4.0"},
        {"Microsoft.VisualBasic", 1},
        {"Microsoft.VisualC", 1},
+       FACADE_ASSEMBLY ("Microsoft.Win32.Primitives"),
+       FACADE_ASSEMBLY ("Microsoft.Win32.Registry"),
+       FACADE_ASSEMBLY ("Microsoft.Win32.Registry.AccessControl"),
        {"Mono.Cairo", 0},
        {"Mono.CompilerServices.SymbolWriter", 0},
        {"Mono.Data", 0},
@@ -133,46 +141,165 @@ static const AssemblyVersionMap framework_assemblies [] = {
        {"Novell.Directory.Ldap", 0},
        {"PEAPI", 0},
        {"System", 0},
+       FACADE_ASSEMBLY ("System.AppContext"),
+       FACADE_ASSEMBLY ("System.Collections"),
+       FACADE_ASSEMBLY ("System.Collections.Concurrent"),
+       FACADE_ASSEMBLY ("System.Collections.NonGeneric"),
+       FACADE_ASSEMBLY ("System.Collections.Specialized"),
+       FACADE_ASSEMBLY ("System.ComponentModel"),
+       FACADE_ASSEMBLY ("System.ComponentModel.Annotations"),
        {"System.ComponentModel.Composition", 2},
        {"System.ComponentModel.DataAnnotations", 2},
+       FACADE_ASSEMBLY ("System.ComponentModel.EventBasedAsync"),
+       FACADE_ASSEMBLY ("System.ComponentModel.Primitives"),
+       FACADE_ASSEMBLY ("System.ComponentModel.TypeConverter"),
        {"System.Configuration", 0},
        {"System.Configuration.Install", 0},
+       FACADE_ASSEMBLY ("System.Console"),
        {"System.Core", 2},
        {"System.Data", 0},
+       FACADE_ASSEMBLY ("System.Data.Common"),
        {"System.Data.Linq", 2},
        {"System.Data.OracleClient", 0},
        {"System.Data.Services", 2},
        {"System.Data.Services.Client", 2},
+       FACADE_ASSEMBLY ("System.Data.SqlClient"),
        {"System.Data.SqlXml", 0},
        {"System.Design", 0},
+       FACADE_ASSEMBLY ("System.Diagnostics.Contracts"),
+       FACADE_ASSEMBLY ("System.Diagnostics.Debug"),
+       FACADE_ASSEMBLY ("System.Diagnostics.FileVersionInfo"),
+       FACADE_ASSEMBLY ("System.Diagnostics.Process"),
+       FACADE_ASSEMBLY ("System.Diagnostics.StackTrace"),
+       FACADE_ASSEMBLY ("System.Diagnostics.TextWriterTraceListener"),
+       FACADE_ASSEMBLY ("System.Diagnostics.Tools"),
+       FACADE_ASSEMBLY ("System.Diagnostics.TraceEvent"),
+       FACADE_ASSEMBLY ("System.Diagnostics.TraceSource"),
+       FACADE_ASSEMBLY ("System.Diagnostics.Tracing"),
        {"System.DirectoryServices", 0},
        {"System.Drawing", 0},
        {"System.Drawing.Design", 0},
+       FACADE_ASSEMBLY ("System.Drawing.Primitives"),
+       FACADE_ASSEMBLY ("System.Dynamic.Runtime"),
        {"System.EnterpriseServices", 0},
-       {"System.IO.Compression", 2},
+       FACADE_ASSEMBLY ("System.Globalization"),
+       FACADE_ASSEMBLY ("System.Globalization.Calendars"),
+       FACADE_ASSEMBLY ("System.Globalization.Extensions"),
        {"System.IdentityModel", 3},
        {"System.IdentityModel.Selectors", 3},
+       FACADE_ASSEMBLY ("System.IO"),
+       {"System.IO.Compression", 2},
+       FACADE_ASSEMBLY ("System.IO.Compression.ZipFile"),
+       FACADE_ASSEMBLY ("System.IO.FileSystem"),
+       FACADE_ASSEMBLY ("System.IO.FileSystem.AccessControl"),
+       FACADE_ASSEMBLY ("System.IO.FileSystem.DriveInfo"),
+       FACADE_ASSEMBLY ("System.IO.FileSystem.Primitives"),
+       FACADE_ASSEMBLY ("System.IO.FileSystem.Watcher"),
+       FACADE_ASSEMBLY ("System.IO.IsolatedStorage"),
+       FACADE_ASSEMBLY ("System.IO.MemoryMappedFiles"),
+       FACADE_ASSEMBLY ("System.IO.Packaging"),
+       FACADE_ASSEMBLY ("System.IO.Pipes"),
+       FACADE_ASSEMBLY ("System.IO.UnmanagedMemoryStream"),
+       FACADE_ASSEMBLY ("System.Linq"),
+       FACADE_ASSEMBLY ("System.Linq.Expressions"),
+       FACADE_ASSEMBLY ("System.Linq.Parallel"),
+       FACADE_ASSEMBLY ("System.Linq.Queryable"),
        {"System.Management", 0},
        {"System.Messaging", 0},
        {"System.Net", 2},
+       FACADE_ASSEMBLY ("System.Net.AuthenticationManager"),
+       FACADE_ASSEMBLY ("System.Net.Cache"),
        {"System.Net.Http", 4},
+       {"System.Net.Http.Rtc", 0},
+       FACADE_ASSEMBLY ("System.Net.HttpListener"),
+       FACADE_ASSEMBLY ("System.Net.Mail"),
+       FACADE_ASSEMBLY ("System.Net.NameResolution"),
+       FACADE_ASSEMBLY ("System.Net.NetworkInformation"),
+       FACADE_ASSEMBLY ("System.Net.Ping"),
+       FACADE_ASSEMBLY ("System.Net.Primitives"),
+       FACADE_ASSEMBLY ("System.Net.Requests"),
+       FACADE_ASSEMBLY ("System.Net.Security"),
+       FACADE_ASSEMBLY ("System.Net.ServicePoint"),
+       FACADE_ASSEMBLY ("System.Net.Sockets"),
+       FACADE_ASSEMBLY ("System.Net.Utilities"),
+       FACADE_ASSEMBLY ("System.Net.WebHeaderCollection"),
+       FACADE_ASSEMBLY ("System.Net.WebSockets"),
+       FACADE_ASSEMBLY ("System.Net.WebSockets.Client"),
        {"System.Numerics.Vectors", 3},
-       {"System.Runtime.InteropServices.RuntimeInformation", 2},
+       FACADE_ASSEMBLY ("System.ObjectModel"),
+       FACADE_ASSEMBLY ("System.Reflection"),
+       FACADE_ASSEMBLY ("System.Reflection.DispatchProxy"),
+       FACADE_ASSEMBLY ("System.Reflection.Emit"),
+       FACADE_ASSEMBLY ("System.Reflection.Emit.ILGeneration"),
+       FACADE_ASSEMBLY ("System.Reflection.Emit.Lightweight"),
+       FACADE_ASSEMBLY ("System.Reflection.Extensions"),
+       FACADE_ASSEMBLY ("System.Reflection.Primitives"),
+       FACADE_ASSEMBLY ("System.Reflection.TypeExtensions"),
+       FACADE_ASSEMBLY ("System.Resources.ReaderWriter"),
+       FACADE_ASSEMBLY ("System.Resources.ResourceManager"),
+       FACADE_ASSEMBLY ("System.Runtime"),
+       FACADE_ASSEMBLY ("System.Runtime.CompilerServices.VisualC"),
+       FACADE_ASSEMBLY ("System.Runtime.Extensions"),
+       FACADE_ASSEMBLY ("System.Runtime.Handles"),
+       FACADE_ASSEMBLY ("System.Runtime.InteropServices"),
+       FACADE_ASSEMBLY ("System.Runtime.InteropServices.RuntimeInformation"),
+       FACADE_ASSEMBLY ("System.Runtime.InteropServices.WindowsRuntime"),
+       FACADE_ASSEMBLY ("System.Runtime.Loader"),
+       FACADE_ASSEMBLY ("System.Runtime.Numerics"),
        {"System.Runtime.Remoting", 0},
        {"System.Runtime.Serialization", 3},
-       {"System.Runtime.Serialization.Formatters", 3},
+       FACADE_ASSEMBLY ("System.Runtime.Serialization.Formatters"),
        {"System.Runtime.Serialization.Formatters.Soap", 0},
+       FACADE_ASSEMBLY ("System.Runtime.Serialization.Json"),
+       FACADE_ASSEMBLY ("System.Runtime.Serialization.Primitives"),
+       FACADE_ASSEMBLY ("System.Runtime.Serialization.Xml"),
        {"System.Security", 0},
+       FACADE_ASSEMBLY ("System.Security.AccessControl"),
+       FACADE_ASSEMBLY ("System.Security.Claims"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Algorithms"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Cng"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Csp"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.DeriveBytes"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encoding"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption.Aes"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption.ECDiffieHellman"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption.ECDsa"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption.Hashing"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Encryption.Hashing.Algorithms"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.OpenSsl"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Pkcs"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.Primitives"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.ProtectedData"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.RSA"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.RandomNumberGenerator"),
+       FACADE_ASSEMBLY ("System.Security.Cryptography.X509Certificates"),
+       FACADE_ASSEMBLY ("System.Security.Principal"),
+       FACADE_ASSEMBLY ("System.Security.Principal.Windows"),
+       FACADE_ASSEMBLY ("System.Security.SecureString"),
        {"System.ServiceModel", 3},
-       {"System.ServiceModel.Duplex", 3},
-       {"System.ServiceModel.Http", 3},
-       {"System.ServiceModel.NetTcp", 3},
-       {"System.ServiceModel.Primitives", 3},
-       {"System.ServiceModel.Security", 3},
+       FACADE_ASSEMBLY ("System.ServiceModel.Duplex"),
+       FACADE_ASSEMBLY ("System.ServiceModel.Http"),
+       FACADE_ASSEMBLY ("System.ServiceModel.NetTcp"),
+       FACADE_ASSEMBLY ("System.ServiceModel.Primitives"),
+       FACADE_ASSEMBLY ("System.ServiceModel.Security"),
        {"System.ServiceModel.Web", 2},
        {"System.ServiceProcess", 0},
-       {"System.Text.Encoding.CodePages", 3},
+       FACADE_ASSEMBLY ("System.ServiceProcess.ServiceController"),
+       FACADE_ASSEMBLY ("System.Text.Encoding"),
+       FACADE_ASSEMBLY ("System.Text.Encoding.CodePages"),
+       FACADE_ASSEMBLY ("System.Text.Encoding.Extensions"),
+       FACADE_ASSEMBLY ("System.Text.RegularExpressions"),
+       FACADE_ASSEMBLY ("System.Threading"),
+       FACADE_ASSEMBLY ("System.Threading.AccessControl"),
+       FACADE_ASSEMBLY ("System.Threading.Overlapped"),
+       FACADE_ASSEMBLY ("System.Threading.Tasks"),
+       FACADE_ASSEMBLY ("System.Threading.Tasks.Parallel"),
+       FACADE_ASSEMBLY ("System.Threading.Thread"),
+       FACADE_ASSEMBLY ("System.Threading.ThreadPool"),
+       FACADE_ASSEMBLY ("System.Threading.Timer"),
        {"System.Transactions", 0},
+       FACADE_ASSEMBLY ("System.ValueTuple"),
        {"System.Web", 0},
        {"System.Web.Abstractions", 2},
        {"System.Web.DynamicData", 2},
@@ -180,13 +307,22 @@ static const AssemblyVersionMap framework_assemblies [] = {
        {"System.Web.Mobile", 0},
        {"System.Web.Routing", 2},
        {"System.Web.Services", 0},
+       {"System.Windows", 0},
        {"System.Windows.Forms", 0},
        {"System.Xml", 0},
        {"System.Xml.Linq", 2},
-       {"System.Xml.ReaderWriter", 3},
-       {"System.Xml.XPath.XmlDocument", 3},
+       FACADE_ASSEMBLY ("System.Xml.ReaderWriter"),
+       {"System.Xml.Serialization", 0},
+       FACADE_ASSEMBLY ("System.Xml.XDocument"),
+       FACADE_ASSEMBLY ("System.Xml.XPath"),
+       FACADE_ASSEMBLY ("System.Xml.XPath.XmlDocument"),
+       FACADE_ASSEMBLY ("System.Xml.XPath.XDocument"),
+       FACADE_ASSEMBLY ("System.Xml.XmlDocument"),
+       FACADE_ASSEMBLY ("System.Xml.XmlSerializer"),
+       FACADE_ASSEMBLY ("System.Xml.Xsl.Primitives"),
        {"WindowsBase", 3},
-       {"mscorlib", 0}
+       {"mscorlib", 0},
+       FACADE_ASSEMBLY ("netstandard"),
 };
 #endif
 
@@ -545,8 +681,9 @@ assembly_names_equal_flags (MonoAssemblyName *l, MonoAssemblyName *r, AssemblyNa
        if (l->culture && r->culture && strcmp (l->culture, r->culture))
                return FALSE;
 
-       if (l->major != r->major || l->minor != r->minor ||
-                       l->build != r->build || l->revision != r->revision)
+       if ((l->major != r->major || l->minor != r->minor ||
+            l->build != r->build || l->revision != r->revision) &&
+           (flags & ANAME_EQ_IGNORE_VERSION) == 0)
                if (! ((l->major == 0 && l->minor == 0 && l->build == 0 && l->revision == 0) || (r->major == 0 && r->minor == 0 && r->build == 0 && r->revision == 0)))
                        return FALSE;
 
@@ -834,7 +971,7 @@ mono_assemblies_init (void)
        mono_os_mutex_init_recursive (&assemblies_mutex);
        mono_os_mutex_init (&assembly_binding_mutex);
 
-#ifndef DISABLE_ASSEMBLY_REMAPPING
+#ifndef DISABLE_DESKTOP_LOADER
        assembly_remapping_table = g_hash_table_new (g_str_hash, g_str_equal);
 
        int i;
@@ -1124,7 +1261,7 @@ mono_assembly_remap_version (MonoAssemblyName *aname, MonoAssemblyName *dest_ana
                return dest_aname;
        }
        
-#ifndef DISABLE_ASSEMBLY_REMAPPING
+#ifndef DISABLE_DESKTOP_LOADER
        const AssemblyVersionMap *vmap = (AssemblyVersionMap *)g_hash_table_lookup (assembly_remapping_table, aname->name);
        if (vmap) {
                const AssemblyVersionSet* vset;
@@ -1132,6 +1269,12 @@ mono_assembly_remap_version (MonoAssemblyName *aname, MonoAssemblyName *dest_ana
                g_assert (index < G_N_ELEMENTS (current_runtime->version_sets));
                vset = &current_runtime->version_sets [index];
 
+               if (vmap->framework_facade_assembly) {
+                       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY, "Assembly %s is a framework Facade asseembly",
+                                   aname->name);
+                       return aname;
+               }
+
                if (aname->major == vset->major && aname->minor == vset->minor &&
                        aname->build == vset->build && aname->revision == vset->revision) {
                        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY, "Found assembly remapping for %s and was for the same version %d.%d.%d.%d",
@@ -3148,6 +3291,28 @@ get_per_domain_assembly_binding_info (MonoDomain *domain, MonoAssemblyName *anam
        return info;
 }
 
+void
+mono_domain_parse_assembly_bindings (MonoDomain *domain, int amajor, int aminor, gchar *domain_config_file_name)
+{
+       if (domain->assembly_bindings_parsed)
+               return;
+       mono_domain_lock (domain);
+       if (!domain->assembly_bindings_parsed) {
+
+               gchar *domain_config_file_path = mono_portability_find_file (domain_config_file_name, TRUE);
+
+               if (!domain_config_file_path)
+                       domain_config_file_path = domain_config_file_name;
+
+               mono_config_parse_assembly_bindings (domain_config_file_path, amajor, aminor, domain, assembly_binding_info_parsed);
+               domain->assembly_bindings_parsed = TRUE;
+               if (domain_config_file_name != domain_config_file_path)
+                       g_free (domain_config_file_path);
+       }
+
+       mono_domain_unlock (domain);
+}
+
 static MonoAssemblyName*
 mono_assembly_apply_binding (MonoAssemblyName *aname, MonoAssemblyName *dest_name)
 {
@@ -3180,25 +3345,14 @@ mono_assembly_apply_binding (MonoAssemblyName *aname, MonoAssemblyName *dest_nam
        }
 
        if (domain && domain->setup && domain->setup->configuration_file) {
-               mono_domain_lock (domain);
-               if (!domain->assembly_bindings_parsed) {
-                       gchar *domain_config_file_name = mono_string_to_utf8_checked (domain->setup->configuration_file, &error);
-                       /* expect this to succeed because mono_domain_set_options_from_config () did
-                        * the same thing when the domain was created. */
-                       mono_error_assert_ok (&error);
-
-                       gchar *domain_config_file_path = mono_portability_find_file (domain_config_file_name, TRUE);
-
-                       if (!domain_config_file_path)
-                               domain_config_file_path = domain_config_file_name;
-                       
-                       mono_config_parse_assembly_bindings (domain_config_file_path, aname->major, aname->minor, domain, assembly_binding_info_parsed);
-                       domain->assembly_bindings_parsed = TRUE;
-                       if (domain_config_file_name != domain_config_file_path)
-                               g_free (domain_config_file_name);
-                       g_free (domain_config_file_path);
-               }
+               gchar *domain_config_file_name = mono_string_to_utf8_checked (domain->setup->configuration_file, &error);
+               /* expect this to succeed because mono_domain_set_options_from_config () did
+                * the same thing when the domain was created. */
+               mono_error_assert_ok (&error);
+               mono_domain_parse_assembly_bindings (domain, aname->major, aname->minor, domain_config_file_name);
+               g_free (domain_config_file_name);
 
+               mono_domain_lock (domain);
                info2 = get_per_domain_assembly_binding_info (domain, aname);
 
                if (info2) {
@@ -3209,6 +3363,7 @@ mono_assembly_apply_binding (MonoAssemblyName *aname, MonoAssemblyName *dest_nam
                }
 
                mono_domain_unlock (domain);
+
        }
 
        if (!info) {
@@ -3449,13 +3604,21 @@ exact_sn_match (MonoAssemblyName *wanted_name, MonoAssemblyName *candidate_name)
 gboolean
 framework_assembly_sn_match (MonoAssemblyName *wanted_name, MonoAssemblyName *candidate_name)
 {
-#ifndef DISABLE_ASSEMBLY_REMAPPING
+#ifndef DISABLE_DESKTOP_LOADER
        const AssemblyVersionMap *vmap = (AssemblyVersionMap *)g_hash_table_lookup (assembly_remapping_table, wanted_name->name);
        if (vmap) {
-               /* If the wanted name is a framework assembly, it's enough for the name/version/culture to match.  If the assembly was remapped, the public key token is likely unrelated. */
-               gboolean result = assembly_names_equal_flags (wanted_name, candidate_name, ANAME_EQ_IGNORE_PUBKEY);
-               mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, "Predicate: candidate and wanted names %s (ignoring the public key token)", result ? "match, returning TRUE" : "don't match, returning FALSE");
-               return result;
+               if (!vmap->framework_facade_assembly) {
+                       /* If the wanted name is a framework assembly, it's enough for the name/version/culture to match.  If the assembly was remapped, the public key token is likely unrelated. */
+                       gboolean result = assembly_names_equal_flags (wanted_name, candidate_name, ANAME_EQ_IGNORE_PUBKEY);
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, "Predicate: candidate and wanted names %s (ignoring the public key token)", result ? "match, returning TRUE" : "don't match, returning FALSE");
+                       return result;
+               } else {
+                       /* For facades, the name and public key token should
+                        * match, but the version doesn't matter. */
+                       gboolean result = assembly_names_equal_flags (wanted_name, candidate_name, ANAME_EQ_IGNORE_VERSION);
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, "Predicate: candidate and wanted names %s (ignoring version)", result ? "match, returning TRUE" : "don't match, returning FALSE");
+                       return result;
+               }
        }
 #endif
        return FALSE;
@@ -3498,6 +3661,15 @@ mono_assembly_load_full_nosearch (MonoAssemblyName *aname,
                return mono_assembly_load_corlib (mono_get_runtime_info (), status);
        }
 
+       MonoAssemblyCandidatePredicate predicate = NULL;
+       void* predicate_ud = NULL;
+#if !defined(DISABLE_DESKTOP_LOADER)
+       if (G_LIKELY (mono_loader_get_strict_strong_names ())) {
+               predicate = &mono_assembly_candidate_predicate_sn_same_name;
+               predicate_ud = aname;
+       }
+#endif
+
        len = strlen (aname->name);
        for (ext_index = 0; ext_index < 2; ext_index ++) {
                ext = ext_index == 0 ? ".dll" : ".exe";
@@ -3517,7 +3689,7 @@ mono_assembly_load_full_nosearch (MonoAssemblyName *aname,
 
                if (basedir) {
                        fullpath = g_build_filename (basedir, filename, NULL);
-                       result = mono_assembly_open_predicate (fullpath, refonly, FALSE, NULL, NULL, status);
+                       result = mono_assembly_open_predicate (fullpath, refonly, FALSE, predicate, predicate_ud, status);
                        g_free (fullpath);
                        if (result) {
                                result->in_gac = FALSE;
@@ -3526,7 +3698,7 @@ mono_assembly_load_full_nosearch (MonoAssemblyName *aname,
                        }
                }
 
-               result = load_in_path (filename, default_path, status, refonly, NULL, NULL);
+               result = load_in_path (filename, default_path, status, refonly, predicate, predicate_ud);
                if (result)
                        result->in_gac = FALSE;
                g_free (filename);
index 0e89624cce35befe8fb6c75d771e24e9d7b98c83..942209fb168b1136dcdca933376ab5d35c16ff25 100644 (file)
@@ -313,7 +313,14 @@ mono_attach_load_agent (MonoDomain *domain, char *agent, char *args, MonoObject
        }
 
        if (args) {
-               mono_array_set (main_args, MonoString*, 0, mono_string_new (domain, args));
+               MonoString *args_str = mono_string_new_checked (domain, args, &error);
+               if (!is_ok (&error)) {
+                       g_print ("Could not allocate main method arg string due to %s\n", mono_error_get_message (&error));
+                       mono_error_cleanup (&error);
+                       g_free (agent);
+                       return 1;
+               }
+               mono_array_set (main_args, MonoString*, 0, args_str);
        }
 
 
@@ -502,7 +509,9 @@ receiver_thread (void *arg)
        MonoInternalThread *internal;
 
        internal = mono_thread_internal_current ();
-       mono_thread_set_name_internal (internal, mono_string_new (mono_domain_get (), "Attach receiver"), TRUE, FALSE, &error);
+       MonoString *attach_str = mono_string_new_checked (mono_domain_get (), "Attach receiver", &error);
+       mono_error_assert_ok (&error);
+       mono_thread_set_name_internal (internal, attach_str, TRUE, FALSE, &error);
        mono_error_assert_ok (&error);
        /* Ask the runtime to not abort this thread */
        //internal->flags |= MONO_THREAD_FLAG_DONT_MANAGE;
index ac7ea15d7b0e53ac90bb2f8544196d868ec12757..648442e8058444418b6c902c80801e82a4917105 100644 (file)
@@ -1602,6 +1602,11 @@ mono_class_setup_fields (MonoClass *klass)
                        g_assert (field->type);
                }
 
+               if (!mono_type_get_underlying_type (field->type)) {
+                       mono_class_set_type_load_failure (klass, "Field '%s' is an enum type with a bad underlying type", field->name);
+                       break;
+               }
+
                if (mono_field_is_deleted (field))
                        continue;
                if (layout == TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) {
index 1d5e33cf2504f07ff6924f3900e62d296bba4400..5ac4f103adf48a874e10f09a3377cc0fbe05511e 100644 (file)
@@ -84,4 +84,7 @@ mono_debug_free_method_async_debug_info (MonoDebugMethodAsyncInfo *info);
 gboolean
 mono_debug_image_has_debug_info (MonoImage *image);
 
+MonoDebugSourceLocation *
+mono_debug_lookup_source_location_by_il (MonoMethod *method, guint32 il_offset, MonoDomain *domain);
+
 #endif /* __DEBUG_INTERNALS_H__ */
index bdab742092f8c75340cf6bbaf3054bcbe9582356..c9fb4add3dd46edb349dc33e980c637972a8d059 100644 (file)
@@ -533,6 +533,9 @@ mono_domain_unset (void);
 void
 mono_domain_set_internal_with_options (MonoDomain *domain, gboolean migrate_exception);
 
+gboolean
+mono_domain_set_config_checked (MonoDomain *domain, const char *base_dir, const char *config_file_name, MonoError *error);
+
 MonoTryBlockHoleTableJitInfo*
 mono_jit_info_get_try_block_hole_table_info (MonoJitInfo *ji);
 
@@ -567,6 +570,9 @@ mono_runtime_set_no_exec (gboolean val);
 gboolean
 mono_runtime_get_no_exec (void);
 
+void
+mono_domain_parse_assembly_bindings (MonoDomain *domain, int amajor, int aminor, gchar *domain_config_file_name);
+
 gboolean
 mono_assembly_name_parse (const char *name, MonoAssemblyName *aname);
 
index 2ccf0fe7217eb1ba5e55bd1524f219565a205cf2..b7001b57ac5664ceae8e509c920c273cc5f83ed6 100644 (file)
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/environment.h>
 #include <mono/metadata/exception.h>
+#include <mono/metadata/handle.h>
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/w32api.h>
 
-extern MonoString* ves_icall_System_Environment_GetOSVersionString (void);
+extern MonoStringHandle ves_icall_System_Environment_GetOSVersionString (MonoError *error);
 
 #if !defined(HOST_WIN32) && defined(HAVE_SYS_UTSNAME_H)
 #include <sys/utsname.h>
@@ -47,9 +48,10 @@ mono_environment_exitcode_set (gint32 value)
 }
 
 /* note: we better manipulate the string in managed code (easier and safer) */
-MonoString*
-ves_icall_System_Environment_GetOSVersionString (void)
+MonoStringHandle
+ves_icall_System_Environment_GetOSVersionString (MonoError *error)
 {
+       error_init (error);
 #ifdef HOST_WIN32
        OSVERSIONINFOEX verinfo;
 
@@ -63,15 +65,15 @@ ves_icall_System_Environment_GetOSVersionString (void)
                                 verinfo.dwMinorVersion,
                                 verinfo.dwBuildNumber,
                                 verinfo.wServicePackMajor << 16);
-               return mono_string_new (mono_domain_get (), version);
+               return mono_string_new_handle (mono_domain_get (), version, error);
        }
 #elif defined(HAVE_SYS_UTSNAME_H)
        struct utsname name;
 
        if (uname (&name) >= 0) {
-               return mono_string_new (mono_domain_get (), name.release);
+               return mono_string_new_handle (mono_domain_get (), name.release, error);
        }
 #endif
-       return mono_string_new (mono_domain_get (), "0.0.0.0");
+       return mono_string_new_handle (mono_domain_get (), "0.0.0.0", error);
 }
 
index de1e917dc8412cc6066f9bc6f8301aa0250c21e4..beece6709d74432af8e3a942362a6dcc9305986d 100644 (file)
@@ -230,12 +230,16 @@ MonoException *
 mono_exception_from_name_msg (MonoImage *image, const char *name_space,
                              const char *name, const char *msg)
 {
+       MonoError error;
        MonoException *ex;
 
        ex = mono_exception_from_name (image, name_space, name);
 
-       if (msg)
-               MONO_OBJECT_SETREF (ex, message, mono_string_new (mono_object_get_domain ((MonoObject*)ex), msg));
+       if (msg) {
+               MonoString  *msg_str = mono_string_new_checked (mono_object_get_domain ((MonoObject*)ex), msg, &error);
+               mono_error_assert_ok (&error);
+               MONO_OBJECT_SETREF (ex, message, msg_str);
+       }
 
        return ex;
 }
@@ -430,9 +434,14 @@ mono_get_exception_array_type_mismatch ()
 MonoException *
 mono_get_exception_type_load (MonoString *class_name, char *assembly_name)
 {
-       MonoString *s = assembly_name ? mono_string_new (mono_domain_get (), assembly_name) : mono_string_new (mono_domain_get (), "");
-
        MonoError error;
+       MonoString *s = NULL;
+       if (assembly_name) {
+               s = mono_string_new_checked (mono_domain_get (), assembly_name, &error);
+               mono_error_assert_ok (&error);
+       } else
+               s = mono_string_empty (mono_domain_get ());
+
        MonoException *ret = mono_exception_from_name_two_strings_checked (mono_get_corlib (), "System",
                                                                   "TypeLoadException", class_name, s, &error);
        mono_error_assert_ok (&error);
@@ -470,10 +479,12 @@ mono_get_exception_not_supported (const char *msg)
 MonoException *
 mono_get_exception_missing_method (const char *class_name, const char *member_name)
 {
-       MonoString *s1 = mono_string_new (mono_domain_get (), class_name);
-       MonoString *s2 = mono_string_new (mono_domain_get (), member_name);
-
        MonoError error;
+       MonoString *s1 = mono_string_new_checked (mono_domain_get (), class_name, &error);
+       mono_error_assert_ok (&error);
+       MonoString *s2 = mono_string_new_checked (mono_domain_get (), member_name, &error);
+       mono_error_assert_ok (&error);
+
        MonoException *ret = mono_exception_from_name_two_strings_checked (mono_get_corlib (), "System",
                                                                           "MissingMethodException", s1, s2, &error);
        mono_error_assert_ok (&error);
@@ -489,10 +500,12 @@ mono_get_exception_missing_method (const char *class_name, const char *member_na
 MonoException *
 mono_get_exception_missing_field (const char *class_name, const char *member_name)
 {
-       MonoString *s1 = mono_string_new (mono_domain_get (), class_name);
-       MonoString *s2 = mono_string_new (mono_domain_get (), member_name);
-
        MonoError error;
+       MonoString *s1 = mono_string_new_checked (mono_domain_get (), class_name, &error);
+       mono_error_assert_ok (&error);
+       MonoString *s2 = mono_string_new_checked (mono_domain_get (), member_name, &error);
+       mono_error_assert_ok (&error);
+
        MonoException *ret = mono_exception_from_name_two_strings_checked (mono_get_corlib (), "System",
                                                                   "MissingFieldException", s1, s2, &error);
        mono_error_assert_ok (&error);
@@ -513,8 +526,11 @@ mono_get_exception_argument_null (const char *arg)
                mono_get_corlib (), "System", "ArgumentNullException");
 
        if (arg) {
+               MonoError error;
                MonoArgumentException *argex = (MonoArgumentException *)ex;
-               MONO_OBJECT_SETREF (argex, param_name, mono_string_new (mono_object_get_domain ((MonoObject*)ex), arg));
+               MonoString *arg_str = mono_string_new_checked (mono_object_get_domain ((MonoObject*)ex), arg, &error);
+               mono_error_assert_ok (&error);
+               MONO_OBJECT_SETREF (argex, param_name, arg_str);
        }
        
        return ex;
@@ -534,8 +550,11 @@ mono_get_exception_argument (const char *arg, const char *msg)
                mono_get_corlib (), "System", "ArgumentException", msg);
 
        if (arg) {
+               MonoError error;
                MonoArgumentException *argex = (MonoArgumentException *)ex;
-               MONO_OBJECT_SETREF (argex, param_name, mono_string_new (mono_object_get_domain ((MonoObject*)ex), arg));
+               MonoString *arg_str = mono_string_new_checked (mono_object_get_domain ((MonoObject*)ex), arg, &error);
+               mono_error_assert_ok (&error);
+               MONO_OBJECT_SETREF (argex, param_name, arg_str);
        }
        
        return ex;
@@ -555,8 +574,11 @@ mono_get_exception_argument_out_of_range (const char *arg)
                mono_get_corlib (), "System", "ArgumentOutOfRangeException");
 
        if (arg) {
+               MonoError error;
                MonoArgumentException *argex = (MonoArgumentException *)ex;
-               MONO_OBJECT_SETREF (argex, param_name, mono_string_new (mono_object_get_domain ((MonoObject*)ex), arg));
+               MonoString *arg_str = mono_string_new_checked (mono_object_get_domain ((MonoObject*)ex), arg, &error);
+               mono_error_assert_ok (&error);
+               MONO_OBJECT_SETREF (argex, param_name, arg_str);
        }
        
        return ex;
@@ -610,9 +632,13 @@ mono_get_exception_file_not_found (MonoString *fname)
 MonoException *
 mono_get_exception_file_not_found2 (const char *msg, MonoString *fname)
 {
-       MonoString *s = msg ? mono_string_new (mono_domain_get (), msg) : NULL;
-
        MonoError error;
+       MonoString *s = NULL;
+       if (msg) {
+               s = mono_string_new_checked (mono_domain_get (), msg, &error);
+               mono_error_assert_ok (&error);
+       }
+
        MonoException *ret = mono_exception_from_name_two_strings_checked (
                mono_get_corlib (), "System.IO", "FileNotFoundException", s, fname, &error);
        mono_error_assert_ok (&error);
@@ -647,6 +673,8 @@ mono_get_exception_type_initialization_checked (const gchar *type_name, MonoExce
        MonoMethod *method;
        gpointer iter;
 
+       error_init (error);
+
        klass = mono_class_load_from_name (mono_get_corlib (), "System", "TypeInitializationException");
 
        mono_class_init (klass);
@@ -663,7 +691,9 @@ mono_get_exception_type_initialization_checked (const gchar *type_name, MonoExce
        }
        g_assert (method);
 
-       args [0] = mono_string_new (mono_domain_get (), type_name);
+       MonoString *type_name_str = mono_string_new_checked (mono_domain_get (), type_name, error);
+       mono_error_assert_ok (error);
+       args [0] = type_name_str;
        args [1] = inner;
 
        exc = mono_object_new_checked (mono_domain_get (), klass, error);
@@ -727,9 +757,14 @@ mono_get_exception_bad_image_format (const char *msg)
 MonoException *
 mono_get_exception_bad_image_format2 (const char *msg, MonoString *fname)
 {
-       MonoString *s = msg ? mono_string_new (mono_domain_get (), msg) : NULL;
-
        MonoError error;
+       MonoString *s = NULL;
+
+       if (msg) {
+               s = mono_string_new_checked (mono_domain_get (), msg, &error);
+               mono_error_assert_ok (&error);
+       }
+
        MonoException *ret = mono_exception_from_name_two_strings_checked (
                mono_get_corlib (), "System", "BadImageFormatException", s, fname, &error);
        mono_error_assert_ok (&error);
index aed76449e25eadd617289b36a17779772fc8f6da..159a2537bcbf05459238ba5491a5a46be6816946 100644 (file)
@@ -111,12 +111,15 @@ ves_icall_System_IO_FAMW_InternalFAMNextEvent (gpointer conn,
                                               gint *code,
                                               gint *reqnum)
 {
+       MonoError error;
        FAMEvent ev;
 
        if (FAMNextEvent (conn, &ev) == 1) {
-               *filename = mono_string_new (mono_domain_get (), ev.filename);
+               *filename = mono_string_new_checked (mono_domain_get (), ev.filename, &error);
                *code = ev.code;
                *reqnum = ev.fr.reqnum;
+               if (mono_error_set_pending_exception (&error))
+                       return FALSE;
                return TRUE;
        }
 
index ffe47f32cc59129e2730581bcee5d907e44a3f25..111ed39e6ba610289e1faf69a43f336f05e0a4da 100644 (file)
@@ -845,7 +845,9 @@ finalizer_thread (gpointer unused)
        MonoError error;
        gboolean wait = TRUE;
 
-       mono_thread_set_name_internal (mono_thread_internal_current (), mono_string_new (mono_get_root_domain (), "Finalizer"), FALSE, FALSE, &error);
+       MonoString *finalizer = mono_string_new_checked (mono_get_root_domain (), "Finalizer", &error);
+       mono_error_assert_ok (&error);
+       mono_thread_set_name_internal (mono_thread_internal_current (), finalizer, FALSE, FALSE, &error);
        mono_error_assert_ok (&error);
 
        /* Register a hazard free queue pump callback */
index 84b6a4d24fbf2a1428cb377f9bc3dbeebf43a1eb..37e349224a428c2191141a2526e34edae54000f3 100644 (file)
@@ -172,11 +172,11 @@ ICALL(CLRCONFIG_1, "CheckThrowUnobservedTaskExceptions", ves_icall_System_CLRCon
 
 ICALL_TYPE(DEFAULTC, "System.Configuration.DefaultConfig", DEFAULTC_1)
 HANDLES(ICALL(DEFAULTC_1, "get_bundled_machine_config", ves_icall_System_Configuration_DefaultConfig_get_bundled_machine_config))
-ICALL(DEFAULTC_2, "get_machine_config_path", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path)
+HANDLES(ICALL(DEFAULTC_2, "get_machine_config_path", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path))
 
 /* Note that the below icall shares the same function as DefaultConfig uses */
 ICALL_TYPE(INTCFGHOST, "System.Configuration.InternalConfigurationHost", INTCFGHOST_1)
-ICALL(INTCFGHOST_1, "get_bundled_app_config", get_bundled_app_config)
+HANDLES(ICALL(INTCFGHOST_1, "get_bundled_app_config", ves_icall_System_Configuration_InternalConfigurationHost_get_bundled_app_config))
 HANDLES(ICALL(INTCFGHOST_2, "get_bundled_machine_config", ves_icall_System_Configuration_InternalConfigurationHost_get_bundled_machine_config))
 
 ICALL_TYPE(CONSOLE, "System.ConsoleDriver", CONSOLE_1)
@@ -267,19 +267,19 @@ ICALL(ENV_2, "GetCommandLineArgs", ves_icall_System_Environment_GetCommandLineAr
 ICALL(ENV_3, "GetEnvironmentVariableNames", ves_icall_System_Environment_GetEnvironmentVariableNames)
 ICALL(ENV_31, "GetIs64BitOperatingSystem", ves_icall_System_Environment_GetIs64BitOperatingSystem)
 ICALL(ENV_4, "GetLogicalDrivesInternal", ves_icall_System_Environment_GetLogicalDrives )
-ICALL(ENV_5, "GetMachineConfigPath", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path)
-ICALL(ENV_51, "GetNewLine", ves_icall_System_Environment_get_NewLine)
-ICALL(ENV_6, "GetOSVersionString", ves_icall_System_Environment_GetOSVersionString)
+HANDLES(ICALL(ENV_5, "GetMachineConfigPath", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path))
+HANDLES(ICALL(ENV_51, "GetNewLine", ves_icall_System_Environment_get_NewLine))
+HANDLES(ICALL(ENV_6, "GetOSVersionString", ves_icall_System_Environment_GetOSVersionString))
 ICALL(ENV_6a, "GetPageSize", mono_pagesize)
-ICALL(ENV_7, "GetWindowsFolderPath", ves_icall_System_Environment_GetWindowsFolderPath)
+HANDLES(ICALL(ENV_7, "GetWindowsFolderPath", ves_icall_System_Environment_GetWindowsFolderPath))
 ICALL(ENV_8, "InternalSetEnvironmentVariable", ves_icall_System_Environment_InternalSetEnvironmentVariable)
 ICALL(ENV_9, "get_ExitCode", mono_environment_exitcode_get)
 ICALL(ENV_10, "get_HasShutdownStarted", ves_icall_System_Environment_get_HasShutdownStarted)
-ICALL(ENV_11, "get_MachineName", ves_icall_System_Environment_get_MachineName)
+HANDLES(ICALL(ENV_11, "get_MachineName", ves_icall_System_Environment_get_MachineName))
 ICALL(ENV_13, "get_Platform", ves_icall_System_Environment_get_Platform)
 ICALL(ENV_14, "get_ProcessorCount", mono_cpu_count)
 ICALL(ENV_15, "get_TickCount", ves_icall_System_Environment_get_TickCount)
-ICALL(ENV_16, "get_UserName", ves_icall_System_Environment_get_UserName)
+HANDLES(ICALL(ENV_16, "get_UserName", ves_icall_System_Environment_get_UserName))
 HANDLES(ICALL(ENV_16b, "get_bundled_machine_config", ves_icall_System_Environment_get_bundled_machine_config))
 ICALL(ENV_16m, "internalBroadcastSettingChange", ves_icall_System_Environment_BroadcastSettingChange)
 HANDLES(ICALL(ENV_17, "internalGetEnvironmentVariable_native", ves_icall_System_Environment_GetEnvironmentVariable_native))
@@ -317,7 +317,7 @@ ICALL(CULDATA_2, "fill_number_data", ves_icall_System_Globalization_CultureData_
 ICALL_TYPE(CULINF, "System.Globalization.CultureInfo", CULINF_5)
 ICALL(CULINF_5, "construct_internal_locale_from_lcid", ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_lcid)
 ICALL(CULINF_6, "construct_internal_locale_from_name", ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name)
-ICALL(CULINF_7, "get_current_locale_name", ves_icall_System_Globalization_CultureInfo_get_current_locale_name)
+HANDLES(ICALL(CULINF_7, "get_current_locale_name", ves_icall_System_Globalization_CultureInfo_get_current_locale_name))
 ICALL(CULINF_9, "internal_get_cultures", ves_icall_System_Globalization_CultureInfo_internal_get_cultures)
 //ICALL(CULINF_10, "internal_is_lcid_neutral", ves_icall_System_Globalization_CultureInfo_internal_is_lcid_neutral)
 
@@ -700,7 +700,7 @@ ICALL(MARSHAL_48, "IsComObject", ves_icall_System_Runtime_InteropServices_Marsha
 ICALL(MARSHAL_12, "OffsetOf", ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf)
 ICALL(MARSHAL_13, "Prelink", ves_icall_System_Runtime_InteropServices_Marshal_Prelink)
 ICALL(MARSHAL_14, "PrelinkAll", ves_icall_System_Runtime_InteropServices_Marshal_PrelinkAll)
-ICALL(MARSHAL_15, "PtrToStringAnsi(intptr)", ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi)
+HANDLES(ICALL(MARSHAL_15, "PtrToStringAnsi(intptr)", ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi))
 ICALL(MARSHAL_16, "PtrToStringAnsi(intptr,int)", ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi_len)
 ICALL(MARSHAL_17, "PtrToStringBSTR", ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringBSTR)
 ICALL(MARSHAL_18, "PtrToStringUni(intptr)", ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringUni)
@@ -869,7 +869,7 @@ ICALL(STRING_10, "InternalIntern", ves_icall_System_String_InternalIntern)
 ICALL(STRING_11, "InternalIsInterned", ves_icall_System_String_InternalIsInterned)
 
 ICALL_TYPE(TENC, "System.Text.EncodingHelper", TENC_1)
-ICALL(TENC_1, "InternalCodePage", ves_icall_System_Text_EncodingHelper_InternalCodePage)
+HANDLES(ICALL(TENC_1, "InternalCodePage", ves_icall_System_Text_EncodingHelper_InternalCodePage))
 
 ICALL_TYPE(UNORM, "System.Text.Normalization", UNORM_1)
 ICALL(UNORM_1, "load_normalization_resource", ves_icall_System_Text_Normalization_load_normalization_resource)
@@ -1050,8 +1050,8 @@ ICALL(VALUET_1, "InternalEquals", ves_icall_System_ValueType_Equals)
 ICALL(VALUET_2, "InternalGetHashCode", ves_icall_System_ValueType_InternalGetHashCode)
 
 ICALL_TYPE(WEBIC, "System.Web.Util.ICalls", WEBIC_1)
-ICALL(WEBIC_1, "GetMachineConfigPath", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path)
-ICALL(WEBIC_2, "GetMachineInstallDirectory", ves_icall_System_Web_Util_ICalls_get_machine_install_dir)
+HANDLES(ICALL(WEBIC_1, "GetMachineConfigPath", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path))
+HANDLES(ICALL(WEBIC_2, "GetMachineInstallDirectory", ves_icall_System_Web_Util_ICalls_get_machine_install_dir))
 HANDLES(ICALL(WEBIC_3, "GetUnmanagedResourcesPtr", ves_icall_get_resources_ptr))
 
 #ifndef DISABLE_COM
index 62af7edbdf5a6a7f9b809f5cc0af855b3422f679..60cca8316b0ae31da8f794ecc075c71558cdae13 100644 (file)
@@ -23,26 +23,26 @@ mono_icall_get_file_path_prefix (const gchar *path);
 gpointer
 mono_icall_module_get_hinstance (MonoReflectionModuleHandle module);
 
-MonoString *
-mono_icall_get_machine_name (void);
+MonoStringHandle
+mono_icall_get_machine_name (MonoError *error);
 
 int
 mono_icall_get_platform (void);
 
-MonoString *
-mono_icall_get_new_line (void);
+MonoStringHandle
+mono_icall_get_new_line (MonoError *error);
 
 MonoBoolean
 mono_icall_is_64bit_os (void);
 
 MonoArray *
-mono_icall_get_environment_variable_names (void);
+mono_icall_get_environment_variable_names (MonoError *error);
 
 void
 mono_icall_set_environment_variable (MonoString *name, MonoString *value);
 
-MonoString *
-mono_icall_get_windows_folder_path (int folder);
+MonoStringHandle
+mono_icall_get_windows_folder_path (int folder, MonoError *error);
 
 void
 mono_icall_broadcast_setting_change (void);
index 92b8d76e089566d24afdbac215f99b5f4e3fc659..2708e90e26e5b2d2faa2c0f53e1606de13f66efe 100644 (file)
 #include <windows.h>
 #include "mono/metadata/icall-windows-internals.h"
 
-MonoString *
-mono_icall_get_machine_name (void)
+MonoStringHandle
+mono_icall_get_machine_name (MonoError *error)
 {
        g_unsupported_api ("GetComputerName");
-       return mono_string_new (mono_domain_get (), "mono");
+       return mono_string_new_handle (mono_domain_get (), "mono", error);
 }
 
-MonoString *
-mono_icall_get_windows_folder_path (int folder)
+MonoStringHandle
+mono_icall_get_windows_folder_path (int folder, MonoError *error)
 {
+       error_init (error);
        g_unsupported_api ("SHGetFolderPath");
-       return mono_string_new (mono_domain_get (), "");
+       return mono_string_new_handle (mono_domain_get (), "", error);
 }
 
 MonoArray *
index c0b1d314d9189e72cb8534913a59edb9f0dc792d..21a759157c08641bc2d5cfdcac05f8ebd6c738ca 100644 (file)
@@ -46,22 +46,21 @@ mono_icall_module_get_hinstance (MonoReflectionModuleHandle module)
 }
 
 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
-MonoString *
-mono_icall_get_machine_name (void)
+MonoStringHandle
+mono_icall_get_machine_name (MonoError *error)
 {
        gunichar2 *buf;
        guint32 len;
-       MonoString *result;
+       MonoStringHandle result;
 
        len = MAX_COMPUTERNAME_LENGTH + 1;
        buf = g_new (gunichar2, len);
 
        result = NULL;
        if (GetComputerName (buf, (PDWORD) &len)) {
-               MonoError error;
-               result = mono_string_new_utf16_checked (mono_domain_get (), buf, len, &error);
-               mono_error_set_pending_exception (&error);
-       }
+               result = mono_string_new_utf16_handle (mono_domain_get (), buf, len, error);
+       } else
+               result = MONO_HANDLE_NEW (MonoString, NULL);
 
        g_free (buf);
        return result;
@@ -75,10 +74,11 @@ mono_icall_get_platform (void)
        return 2;
 }
 
-MonoString *
-mono_icall_get_new_line (void)
+MonoStringHandle
+mono_icall_get_new_line (MonoError *error)
 {
-       return mono_string_new (mono_domain_get (), "\r\n");
+       error_init (error);
+       return mono_string_new_handle (mono_domain_get (), "\r\n", error);
 }
 
 MonoBoolean
@@ -96,9 +96,8 @@ mono_icall_is_64bit_os (void)
 }
 
 MonoArray *
-mono_icall_get_environment_variable_names (void)
+mono_icall_get_environment_variable_names (MonoError *error)
 {
-       MonoError error;
        MonoArray *names;
        MonoDomain *domain;
        MonoString *str;
@@ -107,6 +106,7 @@ mono_icall_get_environment_variable_names (void)
        WCHAR* equal_str;
        int n = 0;
 
+       error_init (error);
        env_strings = GetEnvironmentStrings();
 
        if (env_strings) {
@@ -122,9 +122,8 @@ mono_icall_get_environment_variable_names (void)
        }
 
        domain = mono_domain_get ();
-       names = mono_array_new_checked (domain, mono_defaults.string_class, n, &error);
-       if (mono_error_set_pending_exception (&error))
-               return NULL;
+       names = mono_array_new_checked (domain, mono_defaults.string_class, n, error);
+       return_val_if_nok (error, NULL);
 
        if (env_strings) {
                n = 0;
@@ -134,9 +133,9 @@ mono_icall_get_environment_variable_names (void)
                        if (*env_string != '=') {
                                equal_str = wcschr(env_string, '=');
                                g_assert(equal_str);
-                               str = mono_string_new_utf16_checked (domain, env_string, (gint32)(equal_str - env_string), &error);
-                               if (mono_error_set_pending_exception (&error))
-                                       return NULL;
+                               str = mono_string_new_utf16_checked (domain, env_string, (gint32)(equal_str - env_string), error);
+                               if (!is_ok (error))
+                                       goto cleanup;
 
                                mono_array_setref (names, n, str);
                                n++;
@@ -146,9 +145,13 @@ mono_icall_get_environment_variable_names (void)
                        env_string++;
                }
 
-               FreeEnvironmentStrings (env_strings);
        }
 
+cleanup:
+       if (env_strings)
+               FreeEnvironmentStrings (env_strings);
+       if (!is_ok (error))
+               return NULL;
        return names;
 }
 
@@ -173,9 +176,10 @@ mono_icall_set_environment_variable (MonoString *name, MonoString *value)
 }
 
 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
-MonoString *
-mono_icall_get_windows_folder_path (int folder)
+MonoStringHandle
+mono_icall_get_windows_folder_path (int folder, MonoError *error)
 {
+       error_init (error);
        #ifndef CSIDL_FLAG_CREATE
                #define CSIDL_FLAG_CREATE       0x8000
        #endif
@@ -186,12 +190,9 @@ mono_icall_get_windows_folder_path (int folder)
                int len = 0;
                while (path [len])
                        ++ len;
-               MonoError error;
-               MonoString *res = mono_string_new_utf16_checked (mono_domain_get (), path, len, &error);
-               mono_error_set_pending_exception (&error);
-               return res;
+               return mono_string_new_utf16_handle (mono_domain_get (), path, len, error);
        }
-       return mono_string_new (mono_domain_get (), "");
+       return mono_string_new_handle (mono_domain_get (), "", error);
 }
 #endif /* G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT) */
 
index 9e1c7903d7899d3bc32fd9bdacb06e389c81a5ad..33376d734921926e39e1d9b1611ccb1bea606cd8 100644 (file)
 #include <sys/utsname.h>
 #endif
 
-extern MonoString* ves_icall_System_Environment_GetOSVersionString (void);
+extern MonoStringHandle ves_icall_System_Environment_GetOSVersionString (MonoError *error);
 
 ICALL_EXPORT MonoReflectionAssemblyHandle ves_icall_System_Reflection_Assembly_GetCallingAssembly (MonoError *error);
 
@@ -6415,19 +6415,21 @@ ves_icall_Remoting_RealProxy_InternalGetProxyType (MonoTransparentProxy *tp)
 
 /* System.Environment */
 
-MonoString*
-ves_icall_System_Environment_get_UserName (void)
+MonoStringHandle
+ves_icall_System_Environment_get_UserName (MonoError *error)
 {
+       error_init (error);
        /* using glib is more portable */
-       return mono_string_new (mono_domain_get (), g_get_user_name ());
+       return mono_string_new_handle (mono_domain_get (), g_get_user_name (), error);
 }
 
 #ifndef HOST_WIN32
-static MonoString *
-mono_icall_get_machine_name (void)
+static MonoStringHandle
+mono_icall_get_machine_name (MonoError *error)
 {
+       error_init (error);
 #if !defined(DISABLE_SOCKETS)
-       MonoString *result;
+       MonoStringHandle result;
        char *buf;
        int n;
 #if defined _SC_HOST_NAME_MAX
@@ -6439,22 +6441,23 @@ mono_icall_get_machine_name (void)
        
        if (gethostname (buf, n) == 0){
                buf [n] = 0;
-               result = mono_string_new (mono_domain_get (), buf);
+               result = mono_string_new_handle (mono_domain_get (), buf, error);
        } else
-               result = NULL;
+               result = MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
        g_free (buf);
        
        return result;
 #else
-       return mono_string_new (mono_domain_get (), "mono");
+       return mono_string_new_handle (mono_domain_get (), "mono", error);
 #endif
 }
 #endif /* !HOST_WIN32 */
 
-ICALL_EXPORT MonoString *
-ves_icall_System_Environment_get_MachineName (void)
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Environment_get_MachineName (MonoError *error)
 {
-       return mono_icall_get_machine_name ();
+       error_init (error);
+       return mono_icall_get_machine_name (error);
 }
 
 #ifndef HOST_WIN32
@@ -6485,17 +6488,18 @@ ves_icall_System_Environment_get_Platform (void)
 }
 
 #ifndef HOST_WIN32
-static inline MonoString *
-mono_icall_get_new_line (void)
+static inline MonoStringHandle
+mono_icall_get_new_line (MonoError *error)
 {
-       return mono_string_new (mono_domain_get (), "\n");
+       error_init (error);
+       return mono_string_new_handle (mono_domain_get (), "\n", error);
 }
 #endif /* !HOST_WIN32 */
 
-ICALL_EXPORT MonoString *
-ves_icall_System_Environment_get_NewLine (void)
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Environment_get_NewLine (MonoError *error)
 {
-       return mono_icall_get_new_line ();
+       return mono_icall_get_new_line (error);
 }
 
 #ifndef HOST_WIN32
@@ -6576,29 +6580,32 @@ ves_icall_System_Environment_GetCommandLineArgs (void)
 
 #ifndef HOST_WIN32
 static MonoArray *
-mono_icall_get_environment_variable_names (void)
+mono_icall_get_environment_variable_names (MonoError *error)
 {
-       MonoError error;
        MonoArray *names;
        MonoDomain *domain;
        MonoString *str;
        gchar **e, **parts;
        int n;
 
+       error_init (error);
        n = 0;
        for (e = environ; *e != 0; ++ e)
                ++ n;
 
        domain = mono_domain_get ();
-       names = mono_array_new_checked (domain, mono_defaults.string_class, n, &error);
-       if (mono_error_set_pending_exception (&error))
-               return NULL;
+       names = mono_array_new_checked (domain, mono_defaults.string_class, n, error);
+       return_val_if_nok (error, NULL);
 
        n = 0;
        for (e = environ; *e != 0; ++ e) {
                parts = g_strsplit (*e, "=", 2);
                if (*parts != 0) {
-                       str = mono_string_new (domain, *parts);
+                       str = mono_string_new_checked (domain, *parts, error);
+                       if (!is_ok (error)) {
+                               g_strfreev (parts);
+                               return NULL;
+                       }
                        mono_array_setref (names, n, str);
                }
 
@@ -6614,7 +6621,10 @@ mono_icall_get_environment_variable_names (void)
 ICALL_EXPORT MonoArray *
 ves_icall_System_Environment_GetEnvironmentVariableNames (void)
 {
-       return mono_icall_get_environment_variable_names ();
+       MonoError error;
+       MonoArray *result = mono_icall_get_environment_variable_names (&error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 #ifndef HOST_WIN32
@@ -6683,18 +6693,19 @@ ves_icall_System_Environment_GetGacPath (MonoError *error)
 }
 
 #ifndef HOST_WIN32
-static inline MonoString *
-mono_icall_get_windows_folder_path (int folder)
+static inline MonoStringHandle
+mono_icall_get_windows_folder_path (int folder, MonoError *error)
 {
+       error_init (error);
        g_warning ("ves_icall_System_Environment_GetWindowsFolderPath should only be called on Windows!");
-       return mono_string_new (mono_domain_get (), "");
+       return mono_string_new_handle (mono_domain_get (), "", error);
 }
 #endif /* !HOST_WIN32 */
 
-ICALL_EXPORT MonoString*
-ves_icall_System_Environment_GetWindowsFolderPath (int folder)
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Environment_GetWindowsFolderPath (int folder, MonoError *error)
 {
-       return mono_icall_get_windows_folder_path (folder);
+       return mono_icall_get_windows_folder_path (folder, error);
 }
 
 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
@@ -6811,9 +6822,10 @@ static const char *encodings [] = {
  * 1 at entry, and we can not compute a suitable code page number,
  * returns the code page as a string
  */
-ICALL_EXPORT MonoString*
-ves_icall_System_Text_EncodingHelper_InternalCodePage (gint32 *int_code_page
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Text_EncodingHelper_InternalCodePage (gint32 *int_code_page, MonoError *error)
 {
+       error_init (error);
        const char *cset;
        const char *p;
        char *c;
@@ -6855,9 +6867,9 @@ ves_icall_System_Text_EncodingHelper_InternalCodePage (gint32 *int_code_page)
        g_free (codepage);
        
        if (want_name && *int_code_page == -1)
-               return mono_string_new (mono_domain_get (), cset);
+               return mono_string_new_handle (mono_domain_get (), cset, error);
        else
-               return NULL;
+               return MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
 }
 
 ICALL_EXPORT MonoBoolean
@@ -7085,53 +7097,54 @@ ves_icall_RuntimeMethodHandle_GetFunctionPointer (MonoMethod *method)
        return result;
 }
 
-ICALL_EXPORT MonoString *
-ves_icall_System_Configuration_DefaultConfig_get_machine_config_path (void)
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Configuration_DefaultConfig_get_machine_config_path (MonoError *error)
 {
-       MonoString *mcpath;
+       error_init (error);
        gchar *path;
 
        path = g_build_path (G_DIR_SEPARATOR_S, mono_get_config_dir (), "mono", mono_get_runtime_info ()->framework_version, "machine.config", NULL);
 
        mono_icall_make_platform_path (path);
 
-       mcpath = mono_string_new (mono_domain_get (), path);
+       MonoStringHandle mcpath = mono_string_new_handle (mono_domain_get (), path, error);
        g_free (path);
 
-       g_assert (mcpath);
+       mono_error_assert_ok (error);
 
        return mcpath;
 }
 
-/* this is an icall */
-static MonoString *
-get_bundled_app_config (void)
+static MonoStringHandle
+ves_icall_System_Configuration_InternalConfigurationHost_get_bundled_app_config (MonoError *error)
 {
-       MonoError error;
+       error_init (error);
        const gchar *app_config;
        MonoDomain *domain;
-       MonoString *file;
        gchar *config_file_name, *config_file_path;
        gsize len, config_file_path_length, config_ext_length;
        gchar *module;
 
        domain = mono_domain_get ();
-       file = domain->setup->configuration_file;
-       if (!file || file->length == 0)
+       MonoStringHandle file = MONO_HANDLE_NEW (MonoString, domain->setup->configuration_file);
+       if (MONO_HANDLE_IS_NULL (file) || MONO_HANDLE_GETVAL (file, length) == 0)
                return NULL;
 
        // Retrieve config file and remove the extension
-       config_file_name = mono_string_to_utf8_checked (file, &error);
-       if (mono_error_set_pending_exception (&error))
-               return NULL;
+       config_file_name = mono_string_handle_to_utf8 (file, error);
+       return_val_if_nok (error, MONO_HANDLE_CAST (MonoString, NULL_HANDLE));
+
        config_file_path = mono_portability_find_file (config_file_name, TRUE);
        if (!config_file_path)
                config_file_path = config_file_name;
 
        config_file_path_length = strlen (config_file_path);
        config_ext_length = strlen (".config");
-       if (config_file_path_length <= config_ext_length)
-               return NULL;
+       if (config_file_path_length <= config_ext_length) {
+               if (config_file_name != config_file_path)
+                       g_free (config_file_name);
+               return MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
+       }
 
        len = config_file_path_length - config_ext_length;
        module = (gchar *)g_malloc0 (len + 1);
@@ -7145,9 +7158,9 @@ get_bundled_app_config (void)
        g_free (config_file_path);
 
        if (!app_config)
-               return NULL;
+               return MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
 
-       return mono_string_new (mono_domain_get (), app_config);
+       return mono_string_new_handle (mono_domain_get (), app_config, error);
 }
 
 static MonoStringHandle
@@ -7183,17 +7196,17 @@ ves_icall_System_Configuration_InternalConfigurationHost_get_bundled_machine_con
 }
 
 
-ICALL_EXPORT MonoString *
-ves_icall_System_Web_Util_ICalls_get_machine_install_dir (void)
+ICALL_EXPORT MonoStringHandle
+ves_icall_System_Web_Util_ICalls_get_machine_install_dir (MonoError *error)
 {
-       MonoString *ipath;
+       error_init (error);
        gchar *path;
 
        path = g_path_get_dirname (mono_get_config_dir ());
 
        mono_icall_make_platform_path (path);
 
-       ipath = mono_string_new (mono_domain_get (), path);
+       MonoStringHandle ipath = mono_string_new_handle (mono_domain_get (), path, error);
        g_free (path);
 
        return ipath;
index c3800d5325fbc6e599fe7188b4150a52ee78b0e4..205fae8f031919017fbbdc109f1f41edd5c8d230 100644 (file)
@@ -133,8 +133,11 @@ create_names_array_idx (const guint16 *names, int ml, MonoError *error)
        ret = mono_array_new_cached (mono_domain_get (), mono_get_string_class (), ml, error);
        return_val_if_nok (error, NULL);
 
-       for(i = 0; i < ml; i++)
-               mono_array_setref (ret, i, mono_string_new (domain, dtidx2string (names [i])));
+       for(i = 0; i < ml; i++) {
+               MonoString *s = mono_string_new_checked (domain, dtidx2string (names [i]), error);
+               return_val_if_nok (error, NULL);
+               mono_array_setref (ret, i, s);
+       }
 
        return ret;
 }
@@ -162,8 +165,11 @@ create_names_array_idx_dynamic (const guint16 *names, int ml, MonoError *error)
        ret = mono_array_new_cached (mono_domain_get (), mono_get_string_class (), len, error);
        return_val_if_nok (error, NULL);
 
-       for(i = 0; i < len; i++)
-               mono_array_setref (ret, i, mono_string_new (domain, pattern2string (names [i])));
+       for(i = 0; i < len; i++) {
+               MonoString *s = mono_string_new_checked (domain, pattern2string (names [i]), error);
+               return_val_if_nok (error, NULL);
+               mono_array_setref (ret, i, s);
+       }
 
        return ret;
 }
@@ -193,7 +199,9 @@ ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData
 
        domain = mono_domain_get ();
 
-       MONO_OBJECT_SETREF (this_obj, NativeName, mono_string_new (domain, idx2string (ci->nativename)));
+       MonoString *native_name = mono_string_new_checked (domain, idx2string (ci->nativename), &error);
+       return_val_and_set_pending_if_nok (&error, FALSE);
+       MONO_OBJECT_SETREF (this_obj, NativeName, native_name);
        MonoArray *short_date_patterns = create_names_array_idx_dynamic (dfe->short_date_patterns,
                                                                         NUM_SHORT_DATE_PATTERNS, &error);
        return_val_and_set_pending_if_nok (&error, FALSE);
@@ -208,7 +216,9 @@ ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData
        return_val_and_set_pending_if_nok (&error, FALSE);
        MONO_OBJECT_SETREF (this_obj, LongDatePatterns, long_date_patterns);
 
-       MONO_OBJECT_SETREF (this_obj, MonthDayPattern, mono_string_new (domain, pattern2string (dfe->month_day_pattern)));
+       MonoString *month_day_pattern = mono_string_new_checked (domain, pattern2string (dfe->month_day_pattern), &error);
+       return_val_and_set_pending_if_nok (&error, FALSE);
+       MONO_OBJECT_SETREF (this_obj, MonthDayPattern, month_day_pattern);
 
        MonoArray *day_names = create_names_array_idx (dfe->day_names, NUM_DAYS, &error);
        return_val_and_set_pending_if_nok (&error, FALSE);
@@ -257,9 +267,17 @@ ves_icall_System_Globalization_CultureData_fill_culture_data (MonoCultureData *t
 
        domain = mono_domain_get ();
 
-       MONO_OBJECT_SETREF (this_obj, AMDesignator, mono_string_new (domain, idx2string (dfe->am_designator)));
-       MONO_OBJECT_SETREF (this_obj, PMDesignator, mono_string_new (domain, idx2string (dfe->pm_designator)));
-       MONO_OBJECT_SETREF (this_obj, TimeSeparator, mono_string_new (domain, idx2string (dfe->time_separator)));
+#define SET_STR(obj,field,domain,expr,err) do {                                \
+               MonoString *_tmp_str = mono_string_new_checked ((domain), (expr), (err)); \
+               if (mono_error_set_pending_exception ((err)))           \
+                       return;                                         \
+               MONO_OBJECT_SETREF((obj), field, _tmp_str);             \
+       } while (0)
+
+       SET_STR (this_obj, AMDesignator, domain, idx2string (dfe->am_designator), &error);
+       SET_STR (this_obj, PMDesignator, domain, idx2string (dfe->pm_designator), &error);
+       SET_STR (this_obj, TimeSeparator, domain, idx2string (dfe->time_separator), &error);
+#undef SET_STR
 
        MonoArray *long_time_patterns = create_names_array_idx_dynamic (dfe->long_time_patterns,
                                                                        NUM_LONG_TIME_PATTERNS, &error);
@@ -290,10 +308,17 @@ ves_icall_System_Globalization_CultureData_fill_number_data (MonoNumberFormatInf
        domain = mono_domain_get ();
 
        number->currencyDecimalDigits = nfe->currency_decimal_digits;
-       MONO_OBJECT_SETREF (number, currencyDecimalSeparator, mono_string_new (domain,
-                       idx2string (nfe->currency_decimal_separator)));
-       MONO_OBJECT_SETREF (number, currencyGroupSeparator, mono_string_new (domain,
-                       idx2string (nfe->currency_group_separator)));
+
+#define SET_STR(obj,field,domain,expr,err) do {                                \
+               MonoString *_tmp_str = mono_string_new_checked ((domain), (expr), (err)); \
+               if (mono_error_set_pending_exception ((err)))           \
+                       return;                                         \
+               MONO_OBJECT_SETREF((obj), field, _tmp_str);             \
+       } while (0)
+
+       SET_STR (number, currencyDecimalSeparator, domain, idx2string (nfe->currency_decimal_separator), &error);
+       SET_STR (number, currencyGroupSeparator, domain, idx2string (nfe->currency_group_separator), &error);
+
        MonoArray *currency_sizes_arr = create_group_sizes_array (nfe->currency_group_sizes,
                                                                  GROUP_SIZE, &error);
        if (mono_error_set_pending_exception (&error))
@@ -301,15 +326,14 @@ ves_icall_System_Globalization_CultureData_fill_number_data (MonoNumberFormatInf
        MONO_OBJECT_SETREF (number, currencyGroupSizes, currency_sizes_arr);
        number->currencyNegativePattern = nfe->currency_negative_pattern;
        number->currencyPositivePattern = nfe->currency_positive_pattern;
-       MONO_OBJECT_SETREF (number, currencySymbol, mono_string_new (domain, idx2string (nfe->currency_symbol)));
-       MONO_OBJECT_SETREF (number, naNSymbol, mono_string_new (domain, idx2string (nfe->nan_symbol)));
-       MONO_OBJECT_SETREF (number, negativeInfinitySymbol, mono_string_new (domain,
-                       idx2string (nfe->negative_infinity_symbol)));
-       MONO_OBJECT_SETREF (number, negativeSign, mono_string_new (domain, idx2string (nfe->negative_sign)));
+
+       SET_STR (number, currencySymbol, domain, idx2string (nfe->currency_symbol), &error);
+       SET_STR (number, naNSymbol, domain, idx2string (nfe->nan_symbol), &error);
+       SET_STR (number, negativeInfinitySymbol, domain, idx2string (nfe->negative_infinity_symbol), &error);
+       SET_STR (number, negativeSign, domain, idx2string (nfe->negative_sign), &error);
        number->numberDecimalDigits = nfe->number_decimal_digits;
-       MONO_OBJECT_SETREF (number, numberDecimalSeparator, mono_string_new (domain,
-                       idx2string (nfe->number_decimal_separator)));
-       MONO_OBJECT_SETREF (number, numberGroupSeparator, mono_string_new (domain, idx2string (nfe->number_group_separator)));
+       SET_STR (number, numberDecimalSeparator, domain, idx2string (nfe->number_decimal_separator), &error);
+       SET_STR (number, numberGroupSeparator, domain, idx2string (nfe->number_group_separator), &error);
        MonoArray *number_sizes_arr = create_group_sizes_array (nfe->number_group_sizes,
                                                                GROUP_SIZE, &error);
        if (mono_error_set_pending_exception (&error))
@@ -318,11 +342,11 @@ ves_icall_System_Globalization_CultureData_fill_number_data (MonoNumberFormatInf
        number->numberNegativePattern = nfe->number_negative_pattern;
        number->percentNegativePattern = nfe->percent_negative_pattern;
        number->percentPositivePattern = nfe->percent_positive_pattern;
-       MONO_OBJECT_SETREF (number, percentSymbol, mono_string_new (domain, idx2string (nfe->percent_symbol)));
-       MONO_OBJECT_SETREF (number, perMilleSymbol, mono_string_new (domain, idx2string (nfe->per_mille_symbol)));
-       MONO_OBJECT_SETREF (number, positiveInfinitySymbol, mono_string_new (domain,
-                       idx2string (nfe->positive_infinity_symbol)));
-       MONO_OBJECT_SETREF (number, positiveSign, mono_string_new (domain, idx2string (nfe->positive_sign)));
+       SET_STR (number, percentSymbol, domain, idx2string (nfe->percent_symbol), &error);
+       SET_STR (number, perMilleSymbol, domain, idx2string (nfe->per_mille_symbol), &error);
+       SET_STR (number, positiveInfinitySymbol, domain, idx2string (nfe->positive_infinity_symbol), &error);
+       SET_STR (number, positiveSign, domain, idx2string (nfe->positive_sign), &error);
+#undef SET_STR
 }
 
 static MonoBoolean
@@ -333,16 +357,24 @@ construct_culture (MonoCultureInfo *this_obj, const CultureInfoEntry *ci, MonoEr
        error_init (error);
 
        this_obj->lcid = ci->lcid;
-       MONO_OBJECT_SETREF (this_obj, name, mono_string_new (domain, idx2string (ci->name)));
-       MONO_OBJECT_SETREF (this_obj, englishname, mono_string_new (domain, idx2string (ci->englishname)));
-       MONO_OBJECT_SETREF (this_obj, nativename, mono_string_new (domain, idx2string (ci->nativename)));
-       MONO_OBJECT_SETREF (this_obj, win3lang, mono_string_new (domain, idx2string (ci->win3lang)));
-       MONO_OBJECT_SETREF (this_obj, iso3lang, mono_string_new (domain, idx2string (ci->iso3lang)));
-       MONO_OBJECT_SETREF (this_obj, iso2lang, mono_string_new (domain, idx2string (ci->iso2lang)));
+
+#define SET_STR(obj,field,domain,expr,err) do {                                \
+               MonoString *_tmp_str = mono_string_new_checked ((domain), (expr), (err)); \
+               return_val_if_nok (err, FALSE);                         \
+               MONO_OBJECT_SETREF((obj), field, _tmp_str);             \
+       } while (0)
+
+       SET_STR (this_obj, name, domain, idx2string (ci->name), error);
+       SET_STR (this_obj, englishname, domain, idx2string (ci->englishname), error);
+       SET_STR (this_obj, nativename, domain, idx2string (ci->nativename), error);
+       SET_STR (this_obj, win3lang, domain, idx2string (ci->win3lang), error);
+       SET_STR (this_obj, iso3lang, domain, idx2string (ci->iso3lang), error);
+       SET_STR (this_obj, iso2lang, domain, idx2string (ci->iso2lang), error);
 
        // It's null for neutral cultures
-       if (ci->territory > 0)
-               MONO_OBJECT_SETREF (this_obj, territory, mono_string_new (domain, idx2string (ci->territory)));
+       if (ci->territory > 0) {
+               SET_STR (this_obj, territory, domain, idx2string (ci->territory), error);
+       }
 
        MonoArray *native_calendar_names = create_names_array_idx (ci->native_calendar_names, NUM_CALENDARS, error);
        return_val_if_nok (error, FALSE);
@@ -352,26 +384,37 @@ construct_culture (MonoCultureInfo *this_obj, const CultureInfoEntry *ci, MonoEr
        this_obj->number_index = ci->number_format_index;
        this_obj->calendar_type = ci->calendar_type;
        this_obj->text_info_data = &ci->text_info;
+#undef SET_STR
        
        return TRUE;
 }
 
 static MonoBoolean
-construct_region (MonoRegionInfo *this_obj, const RegionInfoEntry *ri)
+construct_region (MonoRegionInfo *this_obj, const RegionInfoEntry *ri, MonoError *error)
 {
        MonoDomain *domain = mono_domain_get ();
 
+       error_init (error);
+
+#define SET_STR(obj,field,domain,expr,err) do {                                \
+               MonoString *_tmp_str = mono_string_new_checked ((domain), (expr), (err)); \
+               return_val_if_nok (err, FALSE);                         \
+               MONO_OBJECT_SETREF((obj), field, _tmp_str);             \
+       } while (0)
+
        this_obj->geo_id = ri->geo_id;
-       MONO_OBJECT_SETREF (this_obj, iso2name, mono_string_new (domain, idx2string (ri->iso2name)));
-       MONO_OBJECT_SETREF (this_obj, iso3name, mono_string_new (domain, idx2string (ri->iso3name)));
-       MONO_OBJECT_SETREF (this_obj, win3name, mono_string_new (domain, idx2string (ri->win3name)));
-       MONO_OBJECT_SETREF (this_obj, english_name, mono_string_new (domain, idx2string (ri->english_name)));
-       MONO_OBJECT_SETREF (this_obj, native_name, mono_string_new (domain, idx2string (ri->native_name)));
-       MONO_OBJECT_SETREF (this_obj, currency_symbol, mono_string_new (domain, idx2string (ri->currency_symbol)));
-       MONO_OBJECT_SETREF (this_obj, iso_currency_symbol, mono_string_new (domain, idx2string (ri->iso_currency_symbol)));
-       MONO_OBJECT_SETREF (this_obj, currency_english_name, mono_string_new (domain, idx2string (ri->currency_english_name)));
-       MONO_OBJECT_SETREF (this_obj, currency_native_name, mono_string_new (domain, idx2string (ri->currency_native_name)));
+       SET_STR (this_obj, iso2name, domain, idx2string (ri->iso2name), error);
+       SET_STR (this_obj, iso3name, domain, idx2string (ri->iso3name), error);
+       SET_STR (this_obj, win3name, domain, idx2string (ri->win3name), error);
+       SET_STR (this_obj, english_name, domain, idx2string (ri->english_name), error);
+       SET_STR (this_obj, native_name, domain, idx2string (ri->native_name), error);
+       SET_STR (this_obj, currency_symbol, domain, idx2string (ri->currency_symbol), error);
+       SET_STR (this_obj, iso_currency_symbol, domain, idx2string (ri->iso_currency_symbol), error);
+       SET_STR (this_obj, currency_english_name, domain, idx2string (ri->currency_english_name), error);
+       SET_STR (this_obj, currency_native_name, domain, idx2string (ri->currency_native_name), error);
        
+#undef SET_STR
+
        return TRUE;
 }
 
@@ -538,19 +581,19 @@ get_current_locale_name (void)
        return ret;
 }
 
-MonoString*
-ves_icall_System_Globalization_CultureInfo_get_current_locale_name (void)
+MonoStringHandle
+ves_icall_System_Globalization_CultureInfo_get_current_locale_name (MonoError *error)
 {
+       error_init (error);
        gchar *locale;
-       MonoString* ret;
        MonoDomain *domain;
 
        locale = get_current_locale_name ();
        if (locale == NULL)
-               return NULL;
+               return MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
 
        domain = mono_domain_get ();
-       ret = mono_string_new (domain, locale);
+       MonoStringHandle ret = mono_string_new_handle (domain, locale, error);
        g_free (locale);
 
        return ret;
@@ -620,13 +663,16 @@ MonoBoolean
 ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_lcid (MonoRegionInfo *this_obj,
                gint lcid)
 {
+       MonoError error;
        const RegionInfoEntry *ri;
        
        ri = region_info_entry_from_lcid (lcid);
        if(ri == NULL)
                return FALSE;
 
-       return construct_region (this_obj, ri);
+       MonoBoolean result = construct_region (this_obj, ri, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 MonoBoolean
@@ -650,7 +696,9 @@ ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_name (M
        }
        g_free (n);
 
-       return construct_region (this_obj, &region_entries [ne->region_entry_index]);
+       MonoBoolean result = construct_region (this_obj, &region_entries [ne->region_entry_index], &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 MonoArray*
index 774636cf253ac57401d01649adb3bb3a9975ba9b..6987aa316167888695fc6423e8bedaab999854bc 100644 (file)
@@ -31,7 +31,7 @@ extern MonoBoolean ves_icall_System_Globalization_CalendarData_fill_calendar_dat
 extern void ves_icall_System_Globalization_CultureData_fill_culture_data (MonoCultureData *this_obj, gint32 datetime_index);
 extern void ves_icall_System_Globalization_CultureData_fill_number_data (MonoNumberFormatInfo* number, gint32 number_index);
 extern void ves_icall_System_Globalization_CultureInfo_construct_internal_locale (MonoCultureInfo *this_obj, MonoString *locale);
-extern MonoString* ves_icall_System_Globalization_CultureInfo_get_current_locale_name (void);
+extern MonoStringHandle ves_icall_System_Globalization_CultureInfo_get_current_locale_name (MonoError *error);
 extern MonoBoolean ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_lcid (MonoCultureInfo *this_obj, gint lcid);
 extern MonoBoolean ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name (MonoCultureInfo *this_obj, MonoString *name);
 extern MonoArray *ves_icall_System_Globalization_CultureInfo_internal_get_cultures (MonoBoolean neutral, MonoBoolean specific, MonoBoolean installed);
index 84737d60b202cf10313bdfa635a9a74de2e66123..41dded95f02cc1898ebc9fcf4d6ea7eb4f802cd2 100644 (file)
@@ -297,6 +297,19 @@ ves_icall_mono_string_to_utf8 (MonoString *str)
        return result;
 }
 
+static MonoString*
+ves_icall_string_new_wrapper (const char *text)
+{
+       if (text) {
+               MonoError error;
+               MonoString *res = mono_string_new_checked (mono_domain_get (), text, &error);
+               mono_error_set_pending_exception (&error);
+               return res;
+       }
+
+       return NULL;
+}
+
 void
 mono_marshal_init (void)
 {
@@ -315,6 +328,7 @@ mono_marshal_init (void)
                register_icall (mono_string_from_byvalstr, "mono_string_from_byvalstr", "obj ptr int", FALSE);
                register_icall (mono_string_from_byvalwstr, "mono_string_from_byvalwstr", "obj ptr int", FALSE);
                register_icall (mono_string_new_wrapper, "mono_string_new_wrapper", "obj ptr", FALSE);
+               register_icall (ves_icall_string_new_wrapper, "ves_icall_string_new_wrapper", "obj ptr", FALSE);
                register_icall (mono_string_new_len_wrapper, "mono_string_new_len_wrapper", "obj ptr int", FALSE);
                register_icall (ves_icall_mono_string_to_utf8, "ves_icall_mono_string_to_utf8", "ptr obj", FALSE);
                register_icall (mono_string_to_utf8str, "mono_string_to_utf8str", "ptr obj", FALSE);
@@ -1461,7 +1475,7 @@ emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv
                } else {
                        mono_mb_emit_ldloc (mb, 1);
                        mono_mb_emit_ldloc (mb, 0);
-                       mono_mb_emit_icall (mb, mono_string_new_wrapper);
+                       mono_mb_emit_icall (mb, ves_icall_string_new_wrapper);
                }
                mono_mb_emit_byte (mb, CEE_STIND_REF);          
                break;
@@ -1485,7 +1499,7 @@ emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv
 #ifdef TARGET_WIN32
                mono_mb_emit_icall (mb, ves_icall_mono_string_from_utf16);
 #else
-               mono_mb_emit_icall (mb, mono_string_new_wrapper);
+               mono_mb_emit_icall (mb, ves_icall_string_new_wrapper);
 #endif
                mono_mb_emit_byte (mb, CEE_STIND_REF);  
                break;
@@ -1496,7 +1510,7 @@ emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv
                mono_mb_emit_ldloc (mb, 1);
                mono_mb_emit_ldloc (mb, 0);
                mono_mb_emit_byte (mb, CEE_LDIND_I);
-               mono_mb_emit_icall (mb, mono_string_new_wrapper);
+               mono_mb_emit_icall (mb, ves_icall_string_new_wrapper);
                mono_mb_emit_byte (mb, CEE_STIND_REF);          
                break;
        case MONO_MARSHAL_CONV_STR_LPWSTR:
@@ -1619,11 +1633,11 @@ conv_to_icall (MonoMarshalConv conv, int *ind_store_type)
                return ves_icall_mono_string_from_utf16;
        case MONO_MARSHAL_CONV_LPTSTR_STR:
                *ind_store_type = CEE_STIND_REF;
-               return mono_string_new_wrapper;
+               return ves_icall_string_new_wrapper;
        case MONO_MARSHAL_CONV_UTF8STR_STR:
        case MONO_MARSHAL_CONV_LPSTR_STR:
                *ind_store_type = CEE_STIND_REF;
-               return mono_string_new_wrapper;
+               return ves_icall_string_new_wrapper;
        case MONO_MARSHAL_CONV_STR_LPTSTR:
 #ifdef TARGET_WIN32
                return mono_marshal_string_to_utf16;
@@ -3239,10 +3253,13 @@ mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params)
                        if (is_ok (&inner_error)) {
                                char  *tmp;
                                tmp = g_strdup_printf ("%s\nException Rethrown at:\n", strace);
-                               g_free (strace);        
-                               MONO_OBJECT_SETREF (((MonoException*)exc), stack_trace, mono_string_new (domain, tmp));
+                               g_free (strace);
+                               MonoString *tmp_str = mono_string_new_checked (domain, tmp, &inner_error);
                                g_free (tmp);
-                       } else
+                               if (is_ok (&inner_error))
+                                       MONO_OBJECT_SETREF (((MonoException*)exc), stack_trace, tmp_str);
+                       };
+                       if (!is_ok (&inner_error))
                                mono_error_cleanup (&inner_error); /* no stack trace, but at least throw the original exception */
                }
                mono_set_pending_exception ((MonoException*)exc);
@@ -10913,13 +10930,14 @@ ves_icall_System_Runtime_InteropServices_Marshal_copy_from_unmanaged (gpointer s
        memcpy (dest_addr, src, length * element_size);
 }
 
-MonoString *
-ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi (char *ptr)
+MonoStringHandle
+ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi (char *ptr, MonoError *error)
 {
+       error_init (error);
        if (ptr == NULL)
-               return NULL;
+               return MONO_HANDLE_CAST (MonoString, NULL_HANDLE);
        else
-               return mono_string_new (mono_domain_get (), ptr);
+               return mono_string_new_handle (mono_domain_get (), ptr, error);
 }
 
 MonoString *
index 2469701a84af4650a5e264645394c6b352616e87..57018b828d41dbe1d0ee050ce98a27161586be3e 100644 (file)
@@ -436,8 +436,8 @@ void
 ves_icall_System_Runtime_InteropServices_Marshal_copy_from_unmanaged (gpointer src, gint32 start_index,
                                                                      MonoArray *dest, gint32 length);
 
-MonoString *
-ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi (char *ptr);
+MonoStringHandle
+ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi (char *ptr, MonoError *error);
 
 MonoString *
 ves_icall_System_Runtime_InteropServices_Marshal_PtrToStringAnsi_len (char *ptr, gint32 len);
index b1613fddc6faa72a156b6361486e9ab9d3a282a2..a6a936758e66e1794a69b848902a47c722075e89 100644 (file)
@@ -944,5 +944,11 @@ mono_assembly_is_problematic_version (const char *name, guint16 major, guint16 m
 void
 mono_ginst_get_desc (GString *str, MonoGenericInst *ginst);
 
+void
+mono_loader_set_strict_strong_names (gboolean enabled);
+
+gboolean
+mono_loader_get_strict_strong_names (void);
+
 #endif /* __MONO_METADATA_INTERNALS_H__ */
 
index 54699c48ed7d833a7622464169ef23d2eb29489f..dd1ea04a33edf386bbbe223a2b2c5ded843b5ce5 100644 (file)
@@ -519,6 +519,13 @@ mono_tables_names [] = {
 
 #endif
 
+/* If TRUE (but also see DISABLE_STICT_STRONG_NAMES #define), Mono will check
+ * that the public key token, culture and version of a candidate assembly matches
+ * the requested strong name.  If FALSE, as long as the name matches, the candidate
+ * will be allowed.
+ */
+static gboolean check_strong_names_strictly = FALSE;
+
 // Amount initially reserved in each imageset's mempool.
 // FIXME: This number is arbitrary, a more practical number should be found
 #define INITIAL_IMAGE_SET_SIZE    1024
@@ -6919,3 +6926,15 @@ mono_find_image_set_owner (void *ptr)
 
        return owner;
 }
+
+void
+mono_loader_set_strict_strong_names (gboolean enabled)
+{
+       check_strong_names_strictly = enabled;
+}
+
+gboolean
+mono_loader_get_strict_strong_names (void)
+{
+       return check_strong_names_strictly;
+}
index b1a40b6ae5f2eb1c21f210c680971e67d8b916b0..4230399ec10242c2c3d339e80ed8271981bb4f96 100644 (file)
@@ -793,6 +793,40 @@ mono_debug_lookup_source_location (MonoMethod *method, guint32 address, MonoDoma
        return location;
 }
 
+/**
+ * mono_debug_lookup_source_location_by_il:
+ *
+ *   Same as mono_debug_lookup_source_location but take an IL_OFFSET argument.
+ */
+MonoDebugSourceLocation *
+mono_debug_lookup_source_location_by_il (MonoMethod *method, guint32 il_offset, MonoDomain *domain)
+{
+       MonoDebugMethodInfo *minfo;
+       MonoDebugSourceLocation *location;
+
+       if (mono_debug_format == MONO_DEBUG_FORMAT_NONE)
+               return NULL;
+
+       mono_debugger_lock ();
+       minfo = mono_debug_lookup_method_internal (method);
+       if (!minfo || !minfo->handle) {
+               mono_debugger_unlock ();
+               return NULL;
+       }
+
+       if (!minfo->handle->ppdb && (!minfo->handle->symfile || !mono_debug_symfile_is_loaded (minfo->handle->symfile))) {
+               mono_debugger_unlock ();
+               return NULL;
+       }
+
+       if (minfo->handle->ppdb)
+               location = mono_ppdb_lookup_location (minfo, il_offset);
+       else
+               location = mono_debug_symfile_lookup_location (minfo, il_offset);
+       mono_debugger_unlock ();
+       return location;
+}
+
 MonoDebugSourceLocation *
 mono_debug_method_lookup_location (MonoDebugMethodInfo *minfo, int il_offset)
 {
index 57ae9d3f0d2df6242d3704151aa281894257a2e8..f4ec3e34c2b9a8633eec90b1aa16bf6a02a9b7f6 100644 (file)
@@ -1423,10 +1423,14 @@ mono_perfcounter_category_del (MonoString *name)
        return TRUE;
 }
 
+/* this is an icall */
 MonoString*
 mono_perfcounter_category_help (MonoString *category, MonoString *machine)
 {
+       MonoError error;
+       MonoString *result = NULL;
        const CategoryDesc *cdesc;
+       error_init (&error);
        /* no support for counters on other machines */
        if (mono_string_compare_ascii (machine, "."))
                return NULL;
@@ -1435,9 +1439,15 @@ mono_perfcounter_category_help (MonoString *category, MonoString *machine)
                SharedCategory *scat = find_custom_category (category);
                if (!scat)
                        return NULL;
-               return mono_string_new (mono_domain_get (), custom_category_help (scat));
+               result = mono_string_new_checked (mono_domain_get (), custom_category_help (scat), &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
+               return result;
        }
-       return mono_string_new (mono_domain_get (), cdesc->help);
+       result = mono_string_new_checked (mono_domain_get (), cdesc->help, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
+       return result;
 }
 
 /*
@@ -1596,6 +1606,7 @@ mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, Mo
        return FALSE;
 }
 
+/* this is an icall */
 MonoArray*
 mono_perfcounter_category_names (MonoString *machine)
 {
@@ -1620,15 +1631,23 @@ mono_perfcounter_category_names (MonoString *machine)
 
        for (i = 0; i < NUM_CATEGORIES; ++i) {
                const CategoryDesc *cdesc = &predef_categories [i];
-               mono_array_setref (res, i, mono_string_new (domain, cdesc->name));
+               MonoString *name = mono_string_new_checked (domain, cdesc->name, &error);
+               if (!is_ok (&error))
+                       goto leave;
+               mono_array_setref (res, i, name);
        }
        for (tmp = custom_categories; tmp; tmp = tmp->next) {
                SharedCategory *scat = (SharedCategory *)tmp->data;
-               mono_array_setref (res, i, mono_string_new (domain, scat->name));
+               MonoString *name = mono_string_new_checked (domain, scat->name, &error);
+               if (!is_ok (&error))
+                       goto leave;
+               mono_array_setref (res, i, name);
                i++;
        }
+leave:
        perfctr_unlock ();
        g_slist_free (custom_categories);
+       mono_error_set_pending_exception (&error);
        return res;
 }
 
@@ -1654,7 +1673,10 @@ mono_perfcounter_counter_names (MonoString *category, MonoString *machine)
                        return NULL;
                for (i = cdesc->first_counter; i < cdesc [1].first_counter; ++i) {
                        const CounterDesc *desc = &predef_counters [i];
-                       mono_array_setref (res, i - cdesc->first_counter, mono_string_new (domain, desc->name));
+                       MonoString *name = mono_string_new_checked (domain, desc->name, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return NULL;
+                       mono_array_setref (res, i - cdesc->first_counter, name);
                }
                return res;
        }
@@ -1670,16 +1692,18 @@ mono_perfcounter_counter_names (MonoString *category, MonoString *machine)
                }
 
                for (i = 0; i < scat->num_counters; ++i) {
-                       mono_array_setref (res, i, mono_string_new (domain, p + 1));
+                       MonoString *str = mono_string_new_checked (domain, p + 1, &error);
+                       if (!is_ok (&error))
+                               goto leave;
+                       mono_array_setref (res, i, str);
                        p += 2; /* skip counter type */
                        p += strlen (p) + 1; /* skip counter name */
                        p += strlen (p) + 1; /* skip counter help */
                }
-               perfctr_unlock ();
-               return res;
-       }
+       } else
+               res = mono_array_new_checked (domain, mono_get_string_class (), 0, &error);
+leave:
        perfctr_unlock ();
-       res = mono_array_new_checked (domain, mono_get_string_class (), 0, &error);
        mono_error_set_pending_exception (&error);
        return res;
 }
@@ -1702,9 +1726,11 @@ get_string_array (void **array, int count, gboolean is_process, MonoError *error
                        sprintf (buf, "%d", GPOINTER_TO_INT (array [i]));
                        p = buf;
                }
-               mono_array_setref (res, i, mono_string_new (domain, p));
+               MonoString *str = mono_string_new_checked (domain, p, error);
                if (p != buf)
                        g_free (p);
+               return_val_if_nok (error, NULL);
+               mono_array_setref (res, i, str);
        }
        return res;
 }
@@ -1719,7 +1745,9 @@ get_string_array_of_strings (void **array, int count, MonoError *error)
        return_val_if_nok (error, NULL);
        for (i = 0; i < count; ++i) {
                char* p = (char *)array[i];
-               mono_array_setref (res, i, mono_string_new (domain, p));
+               MonoString *str = mono_string_new_checked (domain, p, error);
+               return_val_if_nok (error, NULL);
+               mono_array_setref (res, i, str);
        }
 
        return res;
@@ -1757,7 +1785,9 @@ get_cpu_instances (MonoError *error)
                buf [i] = GINT_TO_POINTER (i - 1); /* -1 => _Total */
        array = get_string_array (buf, count, FALSE, error);
        g_free (buf);
-       mono_array_setref (array, 0, mono_string_new (mono_domain_get (), "_Total"));
+       MonoString *total = mono_string_new_checked (mono_domain_get (), "_Total", error);
+       return_val_if_nok (error, NULL);
+       mono_array_setref (array, 0, total);
        return array;
 }
 
@@ -1806,7 +1836,12 @@ get_custom_instances (MonoString *category, MonoError *error)
                }
                for (tmp = list; tmp; tmp = tmp->next) {
                        SharedInstance *inst = (SharedInstance *)tmp->data;
-                       mono_array_setref (array, i, mono_string_new (mono_domain_get (), inst->instance_name));
+                       MonoString *str = mono_string_new_checked (mono_domain_get (), inst->instance_name, error);
+                       if (!is_ok (error)) {
+                               g_slist_free (list);
+                               return NULL;
+                       }
+                       mono_array_setref (array, i, str);
                        i++;
                }
                g_slist_free (list);
index e6e397af0ec7cd4bca2b842d3d39b8a6cc3e003e..a35bd562743f5c334749fb692aaba4a99d149e64 100644 (file)
@@ -9,6 +9,7 @@
 
 #if defined(PLATFORM_MACOSX) || defined(PLATFORM_BSD)
 
+#include <config.h>
 #include <sys/socket.h>
 #include <net/if.h>
 #include <net/if_dl.h>
@@ -58,8 +59,10 @@ extern MonoBoolean ves_icall_System_Net_NetworkInformation_MacOsIPInterfacePrope
                return FALSE;
 
        // Second sysctl call to retrieve data into appropriately sized buffer
-       if (sysctl(mib, G_N_ELEMENTS(mib), buf, &needed, NULL, 0) < 0)
+       if (sysctl(mib, G_N_ELEMENTS(mib), buf, &needed, NULL, 0) < 0) {
+               g_free (buf);
                return FALSE;
+       }
 
        lim = buf + needed;
        for (next = buf; next < lim; next += rtm->rtm_msglen) {
@@ -73,7 +76,9 @@ extern MonoBoolean ves_icall_System_Net_NetworkInformation_MacOsIPInterfacePrope
                num_gws++;
        }
 
-       *gw_addr_list = mono_array_new(domain, mono_get_string_class (), num_gws);
+       *gw_addr_list = mono_array_new_checked (domain, mono_get_string_class (), num_gws, &error);
+       if (!is_ok (&error))
+               goto leave;
 
        for (next = buf; next < lim; next += rtm->rtm_msglen) {
                rtm = (struct rt_msghdr *)next;
@@ -99,12 +104,15 @@ extern MonoBoolean ves_icall_System_Net_NetworkInformation_MacOsIPInterfacePrope
                        // snprintf output truncated
                        continue;
 
-               addr_string = mono_string_new (domain, addr);
+               addr_string = mono_string_new_checked (domain, addr, &error);
+               if (!is_ok (&error))
+                       goto leave;
                mono_array_setref (*gw_addr_list, gwnum, addr_string);
                gwnum++;
        }
+leave:
        g_free (buf);
-       return TRUE;
+       return is_ok (&error);
 }
 
 in_addr_t gateway_from_rtm(struct rt_msghdr *rtm)
index d6f269c6e946b25b5f9968512832f726981882b6..7a34c8a1a6186206251169b4a6e0602a3dfa0c98 100644 (file)
@@ -120,7 +120,7 @@ ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName (gpointer token
                result = mono_string_new_utf16_checked (mono_domain_get (), uniname, size, &error);
        }
        else
-               result = mono_string_new (mono_domain_get (), "");
+               result = mono_string_new_checked (mono_domain_get (), "", &error);
 
        if (uniname)
                g_free (uniname);
index d5b40a927b659b1ea2174ba8127f7ea1e8903d51..fe043d0a6bfaa861dc0b37a0ac307dd1bc19381d 100644 (file)
@@ -253,7 +253,7 @@ ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName (gpointer token
                result = mono_string_new_utf16_checked (mono_domain_get (), uniname, size, &error);
        }
        else
-               result = mono_string_new (mono_domain_get (), "");
+               result = mono_string_new_checked (mono_domain_get (), "", &error);
 
        if (uniname)
                g_free (uniname);
index c23c56bafb87838a93505e21cb009b262b8edace..92aa723f20a73f61c7ffec75631e46b6ee77ec94 100644 (file)
@@ -3978,8 +3978,11 @@ mono_runtime_get_main_args_checked (MonoError *error)
        res = (MonoArray*)mono_array_new_checked (domain, mono_defaults.string_class, num_main_args, error);
        return_val_if_nok (error, NULL);
 
-       for (i = 0; i < num_main_args; ++i)
-               mono_array_setref (res, i, mono_string_new (domain, main_args [i]));
+       for (i = 0; i < num_main_args; ++i) {
+               MonoString *arg = mono_string_new_checked (domain, main_args [i], error);
+               return_val_if_nok (error, NULL);
+               mono_array_setref (res, i, arg);
+       }
 
        return res;
 }
@@ -4119,7 +4122,8 @@ prepare_run_main (MonoMethod *method, int argc, char *argv[])
                         * main_args array.
                         */
                        gchar *str = mono_utf8_from_external (argv [i]);
-                       MonoString *arg = mono_string_new (domain, str);
+                       MonoString *arg = mono_string_new_checked (domain, str, &error);
+                       mono_error_assert_ok (&error);
                        mono_array_setref (args, i, arg);
                        g_free (str);
                }
@@ -4592,18 +4596,23 @@ prepare_thread_to_exec_main (MonoDomain *domain, MonoMethod *method)
 
        if (!domain->entry_assembly) {
                gchar *str;
+               MonoError error;
                MonoAssembly *assembly;
 
                assembly = method->klass->image->assembly;
                domain->entry_assembly = assembly;
                /* Domains created from another domain already have application_base and configuration_file set */
                if (domain->setup->application_base == NULL) {
-                       MONO_OBJECT_SETREF (domain->setup, application_base, mono_string_new (domain, assembly->basedir));
+                       MonoString *basedir = mono_string_new_checked (domain, assembly->basedir, &error);
+                       mono_error_assert_ok (&error);
+                       MONO_OBJECT_SETREF (domain->setup, application_base, basedir);
                }
 
                if (domain->setup->configuration_file == NULL) {
                        str = g_strconcat (assembly->image->name, ".config", NULL);
-                       MONO_OBJECT_SETREF (domain->setup, configuration_file, mono_string_new (domain, str));
+                       MonoString *config_file = mono_string_new_checked (domain, str, &error);
+                       mono_error_assert_ok (&error);
+                       MONO_OBJECT_SETREF (domain->setup, configuration_file, config_file);
                        g_free (str);
                        mono_domain_set_options_from_config (domain);
                }
@@ -6254,8 +6263,12 @@ mono_string_new_wrapper (const char *text)
 
        MonoDomain *domain = mono_domain_get ();
 
-       if (text)
-               return mono_string_new (domain, text);
+       if (text) {
+               MonoError error;
+               MonoString *result = mono_string_new_checked (domain, text, &error);
+               mono_error_assert_ok (&error);
+               return result;
+       }
 
        return NULL;
 }
@@ -7826,7 +7839,7 @@ mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpoint
                g_assert (method);
                method = mono_marshal_get_remoting_invoke (method);
 #ifdef ENABLE_INTERPRETER
-               g_error ("need RuntimeMethod in method_ptr when using interpreter");
+               //g_error ("need RuntimeMethod in method_ptr when using interpreter");
 #endif
                delegate->method_ptr = mono_compile_method_checked (method, error);
                return_val_if_nok (error, FALSE);
@@ -8086,9 +8099,13 @@ mono_load_remote_field_checked (MonoObject *this_obj, MonoClass *klass, MonoClas
        return_val_if_nok (error, NULL);
 
        full_name = mono_type_get_full_name (klass);
-       mono_array_setref (msg->args, 0, mono_string_new (domain, full_name));
-       mono_array_setref (msg->args, 1, mono_string_new (domain, mono_field_get_name (field)));
+       MonoString *full_name_str = mono_string_new_checked (domain, full_name, error);
        g_free (full_name);
+       return_val_if_nok (error, NULL);
+       mono_array_setref (msg->args, 0, full_name_str);
+       MonoString *field_name = mono_string_new_checked (domain, mono_field_get_name (field), error);
+       return_val_if_nok (error, NULL);
+       mono_array_setref (msg->args, 1, field_name);
 
        mono_remoting_invoke ((MonoObject *)(tp->rp), msg, &exc, &out_args, error);
        return_val_if_nok (error, NULL);
index 3444bb8e34ea924bd6c38b401705de1a29c3b7a4..c439fda2e8073f981d0736b0e82e9ac50a52b931 100644 (file)
@@ -141,6 +141,7 @@ MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString*
 mono_string_intern         (MonoString *str);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString*
 mono_string_new                    (MonoDomain *domain, const char *text);
 
index 8405b258498f7ffd5394a80109049d25fdb6e861..44e4b4ea4c1617bfb6763b10c06d931a30e5bbce 100644 (file)
@@ -22,7 +22,7 @@
 G_BEGIN_DECLS
 
 /* System.Environment */
-extern MonoString* ves_icall_System_Environment_get_UserName (void);
+extern MonoStringHandle ves_icall_System_Environment_get_UserName (MonoError *error);
 
 
 /* System.Security.Principal.WindowsIdentity */
index d1e3245ed5e8500615bd961c19153c0656a8f61f..be25f1841fc7edfdbd944cd1ddeeb2fd3a86a25a 100644 (file)
@@ -141,5 +141,8 @@ mono_dynimage_save_encode_marshal_blob (MonoDynamicImage *assembly, MonoReflecti
 guint32
 mono_dynimage_save_encode_property_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBuilder *fb, MonoError *error);
 
+guint32
+mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec);
+
 #endif  /* __MONO_METADATA_SRE_INTERNALS_H__ */
 
index b3c0779cf8fd67382acc147fdebe57bb4b75672f..d36381357caaa2355b4eec5b4169ab7d4fe66f33 100644 (file)
@@ -219,8 +219,18 @@ mono_image_add_cattrs (MonoDynamicImage *assembly, guint32 idx, guint32 type, Mo
        for (i = 0; i < count; ++i) {
                cattr = (MonoReflectionCustomAttr*)mono_array_get (cattrs, gpointer, i);
                values [MONO_CUSTOM_ATTR_PARENT] = idx;
-               token = image_create_token_raw (assembly, (MonoObject*)cattr->ctor, FALSE, FALSE, error); /* FIXME use handles */
-               if (!mono_error_ok (error)) goto fail;
+               g_assert (cattr->ctor != NULL);
+               if (mono_is_sre_ctor_builder (mono_object_class (cattr->ctor))) {
+                       MonoReflectionCtorBuilder *ctor = (MonoReflectionCtorBuilder*)cattr->ctor;
+                       MonoMethod *method = ctor->mhandle;
+                       if (method->klass->image == &assembly->image)
+                               token = MONO_TOKEN_METHOD_DEF | ((MonoReflectionCtorBuilder*)cattr->ctor)->table_idx;
+                       else
+                               token = mono_image_get_methodref_token (assembly, method, FALSE);
+               } else {
+                       token = image_create_token_raw (assembly, (MonoObject*)cattr->ctor, FALSE, FALSE, error); /* FIXME use handles */
+                       if (!mono_error_ok (error)) goto fail;
+               }
                type = mono_metadata_token_index (token);
                type <<= MONO_CUSTOM_ATTR_TYPE_BITS;
                switch (mono_metadata_token_table (token)) {
index 96ff937e0d1a6048376cffc928462b0f766136f3..cc40e048493bbc1bf8f9d1ccf55cc14ad2cc7de4 100644 (file)
@@ -43,7 +43,6 @@ static GENERATE_GET_CLASS_WITH_CACHE (module_builder, "System.Reflection.Emit",
 static char* string_to_utf8_image_raw (MonoImage *image, MonoString *s, MonoError *error);
 
 #ifndef DISABLE_REFLECTION_EMIT
-static guint32 mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec);
 static guint32 mono_image_get_sighelper_token (MonoDynamicImage *assembly, MonoReflectionSigHelperHandle helper, MonoError *error);
 static gboolean ensure_runtime_vtable (MonoClass *klass, MonoError  *error);
 static void reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, MonoReflectionDynamicMethod *mb);
@@ -520,7 +519,8 @@ mono_reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, M
        rmb->call_conv = mb->call_conv;
        rmb->code = NULL;
        rmb->type = mb->type;
-       rmb->name = mono_string_new (mono_domain_get (), name);
+       rmb->name = mono_string_new_checked (mono_domain_get (), name, error);
+       return_val_if_nok (error, FALSE);
        rmb->table_idx = &mb->table_idx;
        rmb->init_locals = mb->init_locals;
        rmb->skip_visibility = FALSE;
@@ -641,7 +641,7 @@ mono_image_get_memberref_token (MonoDynamicImage *assembly, MonoType *type, cons
 }
 
 
-static guint32
+guint32
 mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec)
 {
        MONO_REQ_GC_NEUTRAL_MODE;
@@ -722,6 +722,14 @@ mono_image_get_varargs_method_token (MonoDynamicImage *assembly, guint32 origina
        return token;
 }
 
+#else /* DISABLE_REFLECTION_EMIT */
+
+guint32
+mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec)
+{
+       g_assert_not_reached ();
+       return -1;
+}
 #endif
 
 static gboolean
@@ -3409,6 +3417,11 @@ typebuilder_setup_fields (MonoClass *klass, MonoError *error)
                        return_if_nok (error);
                }
 
+               if (!klass->enumtype && !mono_type_get_underlying_type (field->type)) {
+                       mono_class_set_type_load_failure (klass, "Field '%s' is an enum type with a bad underlying type", field->name);
+                       continue;
+               }
+
                if ((fb->attrs & FIELD_ATTRIBUTE_HAS_FIELD_RVA) && (rva_data = fb->rva_data)) {
                        char *base = mono_array_addr (rva_data, char, 0);
                        size_t size = mono_array_length (rva_data);
@@ -3434,7 +3447,9 @@ typebuilder_setup_fields (MonoClass *klass, MonoError *error)
                }
        }
 
-       mono_class_layout_fields (klass, instance_size, packing_size, TRUE);
+       if (!mono_class_has_failure (klass)) {
+               mono_class_layout_fields (klass, instance_size, packing_size, TRUE);
+       }
 }
 
 static void
index 3c0fa3d7f6db0ebda4cd140ae42d6f7a7b60e716..fbdd359394a85ba6bf0883d4a4d2bc46c34df7f5 100644 (file)
@@ -346,7 +346,9 @@ worker_callback (void)
 
                domains_unlock ();
 
-               mono_thread_set_name_internal (thread, mono_string_new (mono_get_root_domain (), "Threadpool worker"), FALSE, TRUE, &error);
+               MonoString *thread_name = mono_string_new_checked (mono_get_root_domain (), "Threadpool worker", &error);
+               mono_error_assert_ok (&error);
+               mono_thread_set_name_internal (thread, thread_name, FALSE, TRUE, &error);
                mono_error_assert_ok (&error);
 
                mono_thread_clr_state (thread, (MonoThreadState)~ThreadState_Background);
index f669790739f01e73ffa05876f24017ea6f16151c..6ae7eaa0c72dcde34e6b49afac8aa7a7ce409048 100644 (file)
@@ -3727,7 +3727,10 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
                                        sf->il_offset = location->il_offset;
 
                                        if (location && location->source_file) {
-                                               MONO_OBJECT_SETREF (sf, filename, mono_string_new (domain, location->source_file));
+                                               MonoString *filename = mono_string_new_checked (domain, location->source_file, error);
+                                               if (!is_ok (error))
+                                                       goto leave;
+                                               MONO_OBJECT_SETREF (sf, filename, filename);
                                                sf->line = location->row;
                                                sf->column = location->column;
                                        }
index 5c86cee116c5ce180e4fc85fa19efebbde8e3e24..919965c1639ff43e809e0b4373ada759c7126413 100644 (file)
@@ -405,7 +405,10 @@ ves_icall_System_IO_MonoIO_GetFileSystemEntries (MonoString *path,
        if (mono_error_set_pending_exception (&error))
                goto leave;
        for (i = 0; i < names->len; i++) {
-               mono_array_setref (result, i, mono_string_new (domain, (const char *)g_ptr_array_index (names, i)));
+               MonoString *name = mono_string_new_checked (domain, (const char *)g_ptr_array_index (names, i), &error);
+               if (mono_error_set_pending_exception (&error))
+                       goto leave;
+               mono_array_setref (result, i, name);
                g_free (g_ptr_array_index (names, i));
        }
 leave:
@@ -420,8 +423,9 @@ typedef struct {
 } IncrementalFind;
        
 static gboolean
-incremental_find_check_match (IncrementalFind *handle, WIN32_FIND_DATA *data, MonoString **result)
+incremental_find_check_match (IncrementalFind *handle, WIN32_FIND_DATA *data, MonoString **result, MonoError *error)
 {
+       error_init (error);
        gchar *utf8_result;
        gchar *full_name;
        
@@ -434,8 +438,10 @@ incremental_find_check_match (IncrementalFind *handle, WIN32_FIND_DATA *data, Mo
        
        full_name = g_build_filename (handle->utf8_path, utf8_result, NULL);
        g_free (utf8_result);
-       *result = mono_string_new (mono_domain_get (), full_name);
+       *result = mono_string_new_checked (mono_domain_get (), full_name, error);
        g_free (full_name);
+       if (!is_ok (error))
+               return FALSE;
        
        return TRUE;
 }
@@ -535,7 +541,11 @@ ves_icall_System_IO_MonoIO_FindFirst (MonoString *path,
        ifh->domain = mono_domain_get ();
        *handle = ifh;
 
-       while (incremental_find_check_match (ifh, &data, &result) == 0){
+       while (incremental_find_check_match (ifh, &data, &result, &error) == 0){
+               if (!is_ok (&error)) {
+                       mono_error_set_pending_exception (&error);
+                       return NULL;
+               }
                if (mono_w32file_find_next (find_handle, &data) == FALSE){
                        int e = mono_w32error_get_last ();
                        if (e != ERROR_NO_MORE_FILES)
@@ -544,27 +554,33 @@ ves_icall_System_IO_MonoIO_FindFirst (MonoString *path,
                }
        }
        *result_attr = data.dwFileAttributes;
-       
+
        return result;
 }
 
 /* FIXME make gc suspendable */
 MonoString *
-ves_icall_System_IO_MonoIO_FindNext (gpointer handle, gint32 *result_attr, gint32 *error)
+ves_icall_System_IO_MonoIO_FindNext (gpointer handle, gint32 *result_attr, gint32 *ioerror)
 {
+       MonoError error;
        IncrementalFind *ifh = (IncrementalFind *)handle;
        WIN32_FIND_DATA data;
        MonoString *result;
 
-       *error = ERROR_SUCCESS;
+       error_init (&error);
+       *ioerror = ERROR_SUCCESS;
        do {
+               if (!is_ok (&error)) {
+                       mono_error_set_pending_exception (&error);
+                       return NULL;
+               }
                if (mono_w32file_find_next (ifh->find_handle, &data) == FALSE){
                        int e = mono_w32error_get_last ();
                        if (e != ERROR_NO_MORE_FILES)
-                               *error = e;
+                               *ioerror = e;
                        return NULL;
                }
-       } while (incremental_find_check_match (ifh, &data, &result) == 0);
+       } while (incremental_find_check_match (ifh, &data, &result, &error) == 0);
 
        *result_attr = data.dwFileAttributes;
        return result;
index 8de42cbcdfe7790bba989e07dea89ef79a174ddf..255314f5b604aca7bd904d4bf385eecbd4c83860 100644 (file)
@@ -166,13 +166,14 @@ process_set_field_string (MonoObject *obj, const gchar *fieldname, const gunicha
 }
 
 static void
-process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gchar *val)
+process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gchar *val, MonoError *error)
 {
        MonoDomain *domain;
        MonoClass *klass;
        MonoClassField *field;
        MonoString *string;
 
+       error_init (error);
        LOGDEBUG (g_message ("%s: Setting field %s to [%s]", __func__, fieldname, val));
 
        domain = mono_object_domain (obj);
@@ -184,7 +185,8 @@ process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gc
        field = mono_class_get_field_from_name (klass, fieldname);
        g_assert (field);
 
-       string = mono_string_new (domain, val);
+       string = mono_string_new_checked (domain, val, error);
+       return_if_nok (error);
 
        mono_gc_wbarrier_generic_store (((char *)obj) + field->offset, (MonoObject*)string);
 }
@@ -532,13 +534,16 @@ process_get_module (MonoAssembly *assembly, MonoClass *proc_class, MonoError *er
        filename = g_strdup_printf ("[In Memory] %s", modulename);
 
        process_get_assembly_fileversion (filever, assembly);
-       process_set_field_string_char (filever, "filename", filename);
+       process_set_field_string_char (filever, "filename", filename, error);
+       return_val_if_nok (error, NULL);
        process_set_field_object (item, "version_info", filever);
 
        process_set_field_intptr (item, "baseaddr", assembly->image->raw_data);
        process_set_field_int (item, "memory_size", assembly->image->raw_data_len);
-       process_set_field_string_char (item, "filename", filename);
-       process_set_field_string_char (item, "modulename", modulename);
+       process_set_field_string_char (item, "filename", filename, error);
+       return_val_if_nok (error, NULL);
+       process_set_field_string_char (item, "modulename", modulename, error);
+       return_val_if_nok (error, NULL);
 
        g_free (filename);
 
index a6ec8739afed677df655554f9063c689ca5538d9..0ce2b04e6258bdf10bcb66305f9285306ea4b134 100644 (file)
@@ -210,7 +210,11 @@ convert_family (MonoAddressFamily mono_family)
                return -1;
 #endif
        case AddressFamily_InterNetworkV6:
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
                return AF_INET6;
+#else
+               return -1;
+#endif
        case AddressFamily_DecNet:
 #ifdef AF_DECnet
                return AF_DECnet;
@@ -267,8 +271,10 @@ convert_to_mono_family (guint16 af_family)
        case AF_APPLETALK:
                return AddressFamily_AppleTalk;
 #endif
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
        case AF_INET6:
                return AddressFamily_InterNetworkV6;
+#endif
 #ifdef AF_IRDA
        case AF_IRDA:
                return AddressFamily_Irda;
@@ -819,6 +825,7 @@ ves_icall_System_Net_Sockets_Socket_Listen_internal(gsize sock, guint32 backlog,
                *werror = mono_w32socket_get_last_error ();
 }
 
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
 // Check whether it's ::ffff::0:0.
 static gboolean
 is_ipv4_mapped_any (const struct in6_addr *addr)
@@ -837,6 +844,7 @@ is_ipv4_mapped_any (const struct in6_addr *addr)
        }
        return TRUE;
 }
+#endif
 
 static MonoObject*
 create_object_from_sockaddr (struct sockaddr *saddr, int sa_size, gint32 *werror, MonoError *error)
@@ -910,7 +918,9 @@ create_object_from_sockaddr (struct sockaddr *saddr, int sa_size, gint32 *werror
                mono_field_set_value (sockaddr_obj, domain->sockaddr_data_length_field, &buffer_size);
 
                return sockaddr_obj;
-       } else if (saddr->sa_family == AF_INET6) {
+       }
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
+       else if (saddr->sa_family == AF_INET6) {
                struct sockaddr_in6 *sa_in = (struct sockaddr_in6 *)saddr;
                int i;
                int buffer_size = 28;
@@ -949,6 +959,7 @@ create_object_from_sockaddr (struct sockaddr *saddr, int sa_size, gint32 *werror
 
                return sockaddr_obj;
        }
+#endif
 #ifdef HAVE_SYS_UN_H
        else if (saddr->sa_family == AF_UNIX) {
                int i;
@@ -977,9 +988,12 @@ get_sockaddr_size (int family)
        size = 0;
        if (family == AF_INET) {
                size = sizeof (struct sockaddr_in);
-       } else if (family == AF_INET6) {
+       }
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
+       else if (family == AF_INET6) {
                size = sizeof (struct sockaddr_in6);
        }
+#endif
 #ifdef HAVE_SYS_UN_H
        else if (family == AF_UNIX) {
                size = sizeof (struct sockaddr_un);
@@ -1135,7 +1149,9 @@ create_sockaddr_from_object (MonoObject *saddr_obj, socklen_t *sa_size, gint32 *
 
                *sa_size = sizeof (struct sockaddr_in);
                return (struct sockaddr *)sa;
-       } else if (family == AF_INET6) {
+       }
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
+       else if (family == AF_INET6) {
                struct sockaddr_in6 *sa;
                int i;
                guint16 port;
@@ -1164,6 +1180,7 @@ create_sockaddr_from_object (MonoObject *saddr_obj, socklen_t *sa_size, gint32 *
                *sa_size = sizeof (struct sockaddr_in6);
                return (struct sockaddr *)sa;
        }
+#endif
 #ifdef HAVE_SYS_UN_H
        else if (family == AF_UNIX) {
                struct sockaddr_un *sock_un;
@@ -2083,6 +2100,7 @@ ipaddress_to_struct_in_addr (MonoObject *ipaddr)
        return inaddr;
 }
 
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
 static struct in6_addr
 ipaddress_to_struct_in6_addr (MonoObject *ipaddr)
 {
@@ -2109,6 +2127,7 @@ ipaddress_to_struct_in6_addr (MonoObject *ipaddr)
        return in6addr;
 }
 #endif
+#endif
 
 #if defined(__APPLE__) || defined(__FreeBSD__)
 
@@ -2201,7 +2220,7 @@ ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal (gsize sock, gint32
 #if defined(HAVE_STRUCT_IP_MREQN) || defined(HAVE_STRUCT_IP_MREQ)
                {
                        MonoObject *address = NULL;
-
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
                        if (system_level == sol_ipv6) {
                                struct ipv6_mreq mreq6;
 
@@ -2234,7 +2253,11 @@ ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal (gsize sock, gint32
 #endif
                                        
                                ret = mono_w32socket_setsockopt (sock, system_level, system_name, &mreq6, sizeof (mreq6));
-                       } else if (system_level == sol_ip) {
+
+                               break; // Don't check sol_ip
+                       }
+#endif
+                       if (system_level == sol_ip) {
 #ifdef HAVE_STRUCT_IP_MREQN
                                struct ip_mreqn mreq = {{0}};
 #else
@@ -2448,13 +2471,15 @@ addrinfo_to_IPHostEntry (MonoAddressInfo *info, MonoString **h_name, MonoArray *
                                        MonoAddress maddr;
                                        mono_address_init (&maddr, AF_INET, &local_in [i]);
                                        if (mono_networking_addr_to_str (&maddr, addr, sizeof (addr))) {
-                                               addr_string = mono_string_new (domain, addr);
+                                               addr_string = mono_string_new_checked (domain, addr, error);
+                                               if (!is_ok (error))
+                                                       goto leave;
                                                mono_array_setref (*h_addr_list, addr_index, addr_string);
                                                addr_index++;
                                        }
                                }
                        }
-
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
                        if (nlocal_in6) {
                                MonoString *addr_string;
                                int i;
@@ -2463,13 +2488,15 @@ addrinfo_to_IPHostEntry (MonoAddressInfo *info, MonoString **h_name, MonoArray *
                                        MonoAddress maddr;
                                        mono_address_init (&maddr, AF_INET6, &local_in6 [i]);
                                        if (mono_networking_addr_to_str (&maddr, addr, sizeof (addr))) {
-                                               addr_string = mono_string_new (domain, addr);
+                                               addr_string = mono_string_new_checked (domain, addr, error);
+                                               if (!is_ok (error))
+                                                       goto leave;
                                                mono_array_setref (*h_addr_list, addr_index, addr_string);
                                                addr_index++;
                                        }
                                }
                        }
-
+#endif
                leave:
                        g_free (local_in);
                        g_free (local_in6);
@@ -2502,19 +2529,23 @@ addrinfo_to_IPHostEntry (MonoAddressInfo *info, MonoString **h_name, MonoArray *
 
                mono_address_init (&maddr, ai->family, &ai->address);
                if (mono_networking_addr_to_str (&maddr, buffer, sizeof (buffer)))
-                       addr_string = mono_string_new (domain, buffer);
+                       addr_string = mono_string_new_checked (domain, buffer, error);
                else
-                       addr_string = mono_string_new (domain, "");
+                       addr_string = mono_string_new_checked (domain, "", error);
+               if (!is_ok (error))
+                       goto leave2;
 
                mono_array_setref (*h_addr_list, addr_index, addr_string);
 
                if (!i) {
                        i++;
                        if (ai->canonical_name != NULL) {
-                               *h_name = mono_string_new (domain, ai->canonical_name);
+                               *h_name = mono_string_new_checked (domain, ai->canonical_name, error);
                        } else {
-                               *h_name = mono_string_new (domain, buffer);
+                               *h_name = mono_string_new_checked (domain, buffer, error);
                        }
+                       if (!is_ok (error))
+                               goto leave2;
                }
 
                addr_index++;
@@ -2577,7 +2608,9 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
 {
        char *address;
        struct sockaddr_in saddr;
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
        struct sockaddr_in6 saddr6;
+#endif
        MonoAddressInfo *info = NULL;
        MonoError error;
        gint32 family;
@@ -2591,10 +2624,14 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
        if (inet_pton (AF_INET, address, &saddr.sin_addr ) == 1) {
                family = AF_INET;
                saddr.sin_family = AF_INET;
-       } else if (inet_pton (AF_INET6, address, &saddr6.sin6_addr) == 1) {
+       }
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
+       else if (inet_pton (AF_INET6, address, &saddr6.sin6_addr) == 1) {
                family = AF_INET6;
                saddr6.sin6_family = AF_INET6;
-       } else {
+       }
+#endif
+       else {
                g_free (address);
                return FALSE;
        }
@@ -2611,6 +2648,7 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
                ret = getnameinfo ((struct sockaddr*)&saddr, sizeof (saddr), hostname, sizeof (hostname), NULL, 0, 0) == 0;
                break;
        }
+#ifdef HAVE_STRUCT_SOCKADDR_IN6
        case AF_INET6: {
 #if HAVE_SOCKADDR_IN6_SIN_LEN
                saddr6.sin6_len = sizeof (saddr6);
@@ -2618,6 +2656,7 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
                ret = getnameinfo ((struct sockaddr*)&saddr6, sizeof (saddr6), hostname, sizeof (hostname), NULL, 0, 0) == 0;
                break;
        }
+#endif
        default:
                g_assert_not_reached ();
        }
@@ -2638,6 +2677,7 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
 MonoBoolean
 ves_icall_System_Net_Dns_GetHostName_internal (MonoString **h_name)
 {
+       MonoError error;
        gchar hostname [NI_MAXHOST] = { 0 };
        int ret;
 
@@ -2645,7 +2685,8 @@ ves_icall_System_Net_Dns_GetHostName_internal (MonoString **h_name)
        if (ret == -1)
                return FALSE;
 
-       *h_name = mono_string_new (mono_domain_get (), hostname);
+       *h_name = mono_string_new_checked (mono_domain_get (), hostname, &error);
+       mono_error_set_pending_exception (&error);
 
        return TRUE;
 }
index c18f91c9749b6f76e74396ae1d793ac381c416e6..385a4d43dd1622f6ab21ae5f344c0fa4457ced88 100644 (file)
@@ -7931,7 +7931,9 @@ compile_thread_main (gpointer user_data)
 
        MonoError error;
        MonoInternalThread *internal = mono_thread_internal_current ();
-       mono_thread_set_name_internal (internal, mono_string_new (mono_domain_get (), "AOT compiler"), TRUE, FALSE, &error);
+       MonoString *str = mono_string_new_checked (mono_domain_get (), "AOT compiler", &error);
+       mono_error_assert_ok (&error);
+       mono_thread_set_name_internal (internal, str, TRUE, FALSE, &error);
        mono_error_assert_ok (&error);
 
        for (i = 0; i < methods->len; ++i)
index 9415256e94fd78049813135bd7df3a1b2e723629..e6a14456f95e4a3750f7d6247cf3fb97851a5fa4 100644 (file)
@@ -631,8 +631,8 @@ class Tests
        public static int test_0_float_precision () {
                float f1 = 3.40282346638528859E+38f;
                float f2 = 3.40282346638528859E+38f;            
-               float PositiveInfinity =  1.0f / 0.0f;
-               float f = f1 + f2;
+               float PositiveInfinity =  (float)(1.0f / 0.0f);
+               float f = (float)(f1 + f2);
 
                return f == PositiveInfinity ? 0 : 1;
        }
index 839494f06f7766108d27c49b61a592c4ff165f43..c639fa9e756e5c095b0e73f81b1c78b94651d6a8 100644 (file)
@@ -7968,13 +7968,19 @@ domain_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
        case CMD_APPDOMAIN_CREATE_STRING: {
                char *s;
                MonoString *o;
+               MonoError error;
 
                domain = decode_domainid (p, &p, end, NULL, &err);
                if (err != ERR_NONE)
                        return err;
                s = decode_string (p, &p, end);
 
-               o = mono_string_new (domain, s);
+               o = mono_string_new_checked (domain, s, &error);
+               if (!is_ok (&error)) {
+                       DEBUG_PRINTF (1, "[dbg] Failed to allocate String object '%s': %s\n", s, mono_error_get_message (&error));
+                       mono_error_cleanup (&error);
+                       return ERR_INVALID_OBJECT;
+               }
                buffer_add_objid (buf, (MonoObject*)o);
                break;
        }
@@ -10141,7 +10147,9 @@ debugger_thread (void *arg)
        debugger_thread_id = mono_native_thread_id_get ();
 
        MonoInternalThread *internal = mono_thread_internal_current ();
-       mono_thread_set_name_internal (internal, mono_string_new (mono_domain_get (), "Debugger agent"), TRUE, FALSE, &error);
+       MonoString *str = mono_string_new_checked (mono_domain_get (), "Debugger agent", &error);
+       mono_error_assert_ok (&error);
+       mono_thread_set_name_internal (internal, str, TRUE, FALSE, &error);
        mono_error_assert_ok (&error);
 
        internal->state |= ThreadState_Background;
index 26966768f4038e98dbee439b2f59485b88d0593f..8719a12994c8e3fa936f5c34277412141aa72953 100644 (file)
@@ -1156,8 +1156,11 @@ load_agent (MonoDomain *domain, char *desc)
 
        if (args) {
                main_args = (MonoArray*)mono_array_new_checked (domain, mono_defaults.string_class, 1, &error);
-               if (main_args)
-                       mono_array_set (main_args, MonoString*, 0, mono_string_new (domain, args));
+               if (main_args) {
+                       MonoString *str = mono_string_new_checked (domain, args, &error);
+                       if (str)
+                               mono_array_set (main_args, MonoString*, 0, str);
+               }
        } else {
                main_args = (MonoArray*)mono_array_new_checked (domain, mono_defaults.string_class, 0, &error);
        }
@@ -1190,6 +1193,7 @@ mini_usage_jitdeveloper (void)
        
        fprintf (stdout,
                 "Runtime and JIT debugging options:\n"
+                "    --apply-bindings=FILE  Apply assembly bindings from FILE (only for AOT)\n"
                 "    --breakonex            Inserts a breakpoint on exceptions\n"
                 "    --break METHOD         Inserts a breakpoint at METHOD entry\n"
                 "    --break-at-bb METHOD N Inserts a breakpoint in METHOD at BB N\n"
@@ -1552,6 +1556,16 @@ switch_arch (char* argv[], const char* target_arch)
 #define MONO_HANDLERS_ARGUMENT "--handlers="
 #define MONO_HANDLERS_ARGUMENT_LEN G_N_ELEMENTS(MONO_HANDLERS_ARGUMENT)-1
 
+static void
+apply_root_domain_configuration_file_bindings (MonoDomain *domain, char *root_domain_configuration_file)
+{
+       g_assert (domain->setup == NULL || domain->setup->configuration_file == NULL);
+       g_assert (!domain->assembly_bindings_parsed);
+
+       mono_domain_parse_assembly_bindings (domain, 0, 0, root_domain_configuration_file);
+
+}
+
 /**
  * mono_main:
  * \param argc number of arguments in the argv array
@@ -1582,6 +1596,7 @@ mono_main (int argc, char* argv[])
        char *forced_version = NULL;
        GPtrArray *agents = NULL;
        char *attach_options = NULL;
+       char *extra_bindings_config_file = NULL;
 #ifdef MONO_JIT_INFO_TABLE_TEST
        int test_jit_info_table = FALSE;
 #endif
@@ -1768,6 +1783,8 @@ mono_main (int argc, char* argv[])
                        mono_compile_aot = TRUE;
                        aot_options = &argv [i][6];
 #endif
+               } else if (strncmp (argv [i], "--apply-bindings=", 17) == 0) {
+                       extra_bindings_config_file = &argv[i][17];
                } else if (strncmp (argv [i], "--aot-path=", 11) == 0) {
                        char **splitted;
 
@@ -1927,6 +1944,14 @@ mono_main (int argc, char* argv[])
                } else if (strcmp (argv [i], "--nacl-null-checks-off") == 0){
                        nacl_null_checks_off = TRUE;
 #endif
+               } else if (strncmp (argv [i], "--assembly-loader=", strlen("--assembly-loader=")) == 0) {
+                       gchar *arg = argv [i] + strlen ("--assembly-loader=");
+                       if (strcmp (arg, "strict") == 0)
+                               mono_loader_set_strict_strong_names (TRUE);
+                       else if (strcmp (arg, "legacy") == 0)
+                               mono_loader_set_strict_strong_names (FALSE);
+                       else
+                               fprintf (stderr, "Warning: unknown argument to --assembly-loader. Should be \"strict\" or \"legacy\"\n");
                } else if (strncmp (argv [i], MONO_HANDLERS_ARGUMENT, MONO_HANDLERS_ARGUMENT_LEN) == 0) {
                        //Install specific custom handlers.
                        if (!mono_runtime_install_custom_handlers (argv[i] + MONO_HANDLERS_ARGUMENT_LEN)) {
@@ -2049,9 +2074,6 @@ mono_main (int argc, char* argv[])
        }
 
        mono_set_defaults (mini_verbose, opt);
-#ifdef ENABLE_INTERPRETER
-       mono_interp_init ();
-#endif
        domain = mini_init (argv [i], forced_version);
 
        mono_gc_set_stack_end (&domain);
@@ -2132,6 +2154,10 @@ mono_main (int argc, char* argv[])
                jit_info_table_test (domain);
 #endif
 
+       if (mono_compile_aot && extra_bindings_config_file != NULL) {
+               apply_root_domain_configuration_file_bindings (domain, extra_bindings_config_file);
+       }
+
        assembly = mono_assembly_open_predicate (aname, FALSE, FALSE, NULL, NULL, &open_status);
        if (!assembly) {
                fprintf (stderr, "Cannot open assembly '%s': %s.\n", aname, mono_image_strerror (open_status));
index 846ad9744f59c5f30b8987af7d8ac4f822ba4ec2..8314998fbc970f82ca0db4268a9da266b1152972 100644 (file)
 
 #include <config.h>
 
+// Secret password to unlock wcscat_s on mxe, must happen before string.h included
+#ifdef __MINGW32__
+#define MINGW_HAS_SECURE_API 1
+#endif
+
 #include <glib.h>
 #include <string.h>
 
@@ -582,20 +587,24 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint64 rip;
 
                if (((guint64)(*lmf)->previous_lmf) & 2) {
-                       /* 
-                        * This LMF entry is created by the soft debug code to mark transitions to
-                        * managed code done during invokes.
-                        */
                        MonoLMFExt *ext = (MonoLMFExt*)(*lmf);
 
-                       g_assert (ext->debugger_invoke);
-
-                       memcpy (new_ctx, &ext->ctx, sizeof (MonoContext));
+                       if (ext->debugger_invoke) {
+                               /*
+                                * This LMF entry is created by the soft debug code to mark transitions to
+                                * managed code done during invokes.
+                                */
+                               frame->type = FRAME_TYPE_DEBUGGER_INVOKE;
+                               memcpy (new_ctx, &ext->ctx, sizeof (MonoContext));
+                       } else if (ext->interp_exit) {
+                               frame->type = FRAME_TYPE_INTERP_TO_MANAGED;
+                               frame->interp_exit_data = ext->interp_exit_data;
+                       } else {
+                               g_assert_not_reached ();
+                       }
 
                        *lmf = (MonoLMF *)(((guint64)(*lmf)->previous_lmf) & ~7);
 
-                       frame->type = FRAME_TYPE_DEBUGGER_INVOKE;
-
                        return TRUE;
                }
 
@@ -895,6 +904,7 @@ mono_arch_exceptions_init (void)
        }
 }
 
+// Implies defined(TARGET_WIN32)
 #ifdef MONO_ARCH_HAVE_UNWIND_TABLE
 
 static void
index bda0b457e8520bfd76f4702efef447fe904a9fb0..692925187816f4a93216e88ced07b2036277fbfc 100644 (file)
@@ -7,6 +7,7 @@
 #include <mono/metadata/object.h>
 #include <mono/metadata/domain-internals.h>
 #include <mono/metadata/class-internals.h>
+#include <mono/metadata/debug-internals.h>
 #include "config.h"
 
 enum {
@@ -88,6 +89,7 @@ typedef struct _RuntimeMethod
        gpointer jit_entry;
        MonoType *rtype;
        MonoType **param_types;
+       MonoJitInfo *jinfo;
 } RuntimeMethod;
 
 struct _MonoInvocation {
@@ -108,12 +110,20 @@ struct _MonoInvocation {
 
 typedef struct {
        MonoDomain *domain;
+       MonoDomain *original_domain;
        MonoInvocation *base_frame;
        MonoInvocation *current_frame;
        MonoInvocation *env_frame;
        jmp_buf *current_env;
        unsigned char search_for_handler;
        unsigned char managed_code;
+
+       /* Resume state for resuming execution in mixed mode */
+       gboolean       has_resume_state;
+       /* Frame to resume execution at */
+       MonoInvocation *handler_frame;
+       /* IP to resume execution at */
+       gpointer handler_ip;
 } ThreadContext;
 
 extern int mono_interp_traceopt;
index 8d2a26859053f0830db1a8e3416508db811b7a86..790d57fb0d231ade15eefa369ee23c8556df37ad 100644 (file)
@@ -57,6 +57,7 @@
 #include <mono/metadata/marshal.h>
 #include <mono/metadata/environment.h>
 #include <mono/metadata/mono-debug.h>
+#include <mono/utils/atomic.h>
 
 #include "interp.h"
 #include "interp-internals.h"
@@ -106,7 +107,7 @@ void ves_exec_method (MonoInvocation *frame);
 static char* dump_stack (stackval *stack, stackval *sp);
 static char* dump_frame (MonoInvocation *inv);
 static MonoArray *get_trace_ips (MonoDomain *domain, MonoInvocation *top);
-static void ves_exec_method_with_context (MonoInvocation *frame, ThreadContext *context);
+static void ves_exec_method_with_context (MonoInvocation *frame, ThreadContext *context, unsigned short *start_with_ip, MonoException *filter_exception, int exit_at_finally);
 
 typedef void (*ICallMethod) (MonoInvocation *frame);
 
@@ -147,7 +148,8 @@ db_match_method (gpointer data, gpointer user_data)
                break_on_method = 1;
 }
 
-static void debug_enter (MonoInvocation *frame, int *tracing)
+static void
+debug_enter (MonoInvocation *frame, int *tracing)
 {
        if (db_methods) {
                g_list_foreach (db_methods, db_match_method, (gpointer)frame->runtime_method->method);
@@ -197,6 +199,17 @@ static void debug_enter (MonoInvocation *frame, int *tracing)
 
 #endif
 
+/* Set the current execution state to the resume state in context */
+#define SET_RESUME_STATE(context) do { \
+               ip = (context)->handler_ip;                                             \
+               sp->data.p = frame->ex;                                                                                 \
+               ++sp;                                                                                                                   \
+               frame->ex = NULL;                                                                                               \
+               (context)->has_resume_state = 0;                                                                \
+               (context)->handler_frame = NULL;                                                                \
+               goto main_loop;                                                                                                 \
+       } while (0)
+
 static void
 interp_ex_handler (MonoException *ex) {
        MonoError error;
@@ -205,7 +218,8 @@ interp_ex_handler (MonoException *ex) {
        if (context == NULL)
                return;
        stack_trace = dump_frame (context->current_frame);
-       ex->stack_trace = mono_string_new (mono_domain_get(), stack_trace);
+       ex->stack_trace = mono_string_new_checked (mono_domain_get(), stack_trace, &error);
+       mono_error_cleanup (&error); /* FIXME: don't swallow the error */
        g_free (stack_trace);
        if (context->current_env == NULL || strcmp(ex->object.vtable->klass->name, "ExecutionEngineException") == 0) {
                char *strace = mono_string_to_utf8_checked (ex->stack_trace, &error);
@@ -529,9 +543,16 @@ stackval_to_data (MonoType *type, stackval *val, char *data, gboolean pinvoke)
                } else
                        mono_value_copy (data, val->data.vt, type->data.klass);
                return;
-       case MONO_TYPE_GENERICINST:
+       case MONO_TYPE_GENERICINST: {
+               MonoClass *container_class = type->data.generic_class->container_class;
+
+               if (container_class->valuetype && !container_class->enumtype) {
+                       mono_value_copy (data, val->data.vt, mono_class_from_mono_type (type));
+                       return;
+               }
                stackval_to_data (&type->data.generic_class->container_class->byval_arg, val, data, pinvoke);
                return;
+       }
        default:
                g_warning ("got type %x", type->type);
                g_assert_not_reached ();
@@ -541,9 +562,11 @@ stackval_to_data (MonoType *type, stackval *val, char *data, gboolean pinvoke)
 static void
 fill_in_trace (MonoException *exception, MonoInvocation *frame)
 {
+       MonoError error;
        char *stack_trace = dump_frame (frame);
        MonoDomain *domain = mono_domain_get();
-       (exception)->stack_trace = mono_string_new (domain, stack_trace);
+       (exception)->stack_trace = mono_string_new_checked (domain, stack_trace, &error);
+       mono_error_cleanup (&error); /* FIXME: don't swallow the error */
        (exception)->trace_ips = get_trace_ips (domain, frame);
        g_free (stack_trace);
 }
@@ -700,6 +723,9 @@ interp_walk_stack_with_ctx (MonoInternalStackWalk func, MonoContext *ctx, MonoUn
        MonoError error;
        ThreadContext *context = mono_native_tls_get_value (thread_context_id);
 
+       if (!context)
+               return;
+
        MonoInvocation *frame = context->current_frame;
 
        while (frame) {
@@ -891,6 +917,7 @@ ves_pinvoke_method (MonoInvocation *frame, MonoMethodSignature *sig, MonoFuncV a
        MonoInvocation *old_frame = context->current_frame;
        MonoInvocation *old_env_frame = context->env_frame;
        jmp_buf *old_env = context->current_env;
+       MonoLMFExt ext;
 
        if (setjmp (env)) {
                context->current_frame = old_frame;
@@ -921,8 +948,20 @@ ves_pinvoke_method (MonoInvocation *frame, MonoMethodSignature *sig, MonoFuncV a
        context->current_frame = frame;
        context->managed_code = 0;
 
+       /*
+        * Push an LMF frame on the LMF stack
+        * to mark the transition to native code.
+        */
+       memset (&ext, 0, sizeof (ext));
+       ext.interp_exit = TRUE;
+       ext.interp_exit_data = frame;
+
+       mono_push_lmf (&ext);
+
        mono_interp_enter_icall_trampoline (addr, margs);
 
+       mono_pop_lmf (&ext.lmf);
+
        context->managed_code = 1;
        /* domain can only be changed by native code */
        context->domain = mono_domain_get ();
@@ -1290,12 +1329,10 @@ mono_interp_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoOb
 
        if (context == NULL) {
                context = &context_struct;
+               memset (context, 0, sizeof (ThreadContext));
                context_struct.base_frame = &frame;
-               context_struct.current_frame = NULL;
                context_struct.env_frame = &frame;
                context_struct.current_env = &env;
-               context_struct.search_for_handler = 0;
-               context_struct.managed_code = 0;
                mono_native_tls_set_value (thread_context_id, context);
        }
        else
@@ -1416,7 +1453,7 @@ handle_enum:
        if (exc)
                frame.invoke_trap = 1;
        context->managed_code = 1;
-       ves_exec_method_with_context (&frame, context);
+       ves_exec_method_with_context (&frame, context, NULL, NULL, -1);
        context->managed_code = 0;
        if (context == &context_struct)
                mono_native_tls_set_value (thread_context_id, NULL);
@@ -1556,7 +1593,7 @@ interp_entry (InterpEntryData *data)
                }
        }
 
-       init_frame (&frame, context->current_frame, data->rmethod, args, &result);
+       init_frame (&frame, NULL, data->rmethod, args, &result);
        context->managed_code = 1;
 
        type = rmethod->rtype;
@@ -1572,7 +1609,7 @@ interp_entry (InterpEntryData *data)
                break;
        }
 
-       ves_exec_method_with_context (&frame, context);
+       ves_exec_method_with_context (&frame, context, NULL, NULL, -1);
        context->managed_code = 0;
        if (context == &context_struct)
                mono_native_tls_set_value (thread_context_id, NULL);
@@ -1903,8 +1940,9 @@ mono_interp_create_method_pointer (MonoMethod *method, MonoError *error)
        MonoMethod *wrapper;
        RuntimeMethod *rmethod;
 
-       if (method->wrapper_type && method->wrapper_type != MONO_WRAPPER_RUNTIME_INVOKE)
-               return NULL;
+       /* HACK: method_ptr of delegate should point to a runtime method*/
+       if (method->wrapper_type && method->wrapper_type == MONO_WRAPPER_DYNAMIC_METHOD)
+               return mono_interp_get_runtime_method (mono_domain_get (), method, error);
 
        rmethod = mono_interp_get_runtime_method (mono_domain_get (), method, error);
        if (rmethod->jit_entry)
@@ -2001,11 +2039,11 @@ static int opcode_counts[512];
 #define MINT_IN_DEFAULT default:
 #endif
 
-static void
-ves_exec_method_with_context (MonoInvocation *frame, ThreadContext *context);
-
+/*
+ * If EXIT_AT_FINALLY is not -1, exit after exiting the finally clause with that index.
+ */
 static void 
-ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *context, unsigned short *start_with_ip, MonoException *filter_exception)
+ves_exec_method_with_context (MonoInvocation *frame, ThreadContext *context, unsigned short *start_with_ip, MonoException *filter_exception, int exit_at_finally)
 {
        MonoInvocation child_frame;
        GSList *finally_ips = NULL;
@@ -2257,10 +2295,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                }
                        }
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -2301,6 +2346,13 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -2341,10 +2393,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                mono_error_cleanup (&error); /* FIXME: don't swallow the error */
                        }
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -2381,10 +2440,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                mono_error_cleanup (&error); /* FIXME: don't swallow the error */
                        }
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -2401,6 +2467,7 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                        MonoFtnDesc ftndesc;
                        guint8 res_buf [256];
                        MonoType *type;
+                       MonoLMFExt ext;
 
                        //printf ("%s\n", mono_method_full_name (rmethod->method, 1));
 
@@ -2497,6 +2564,16 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                }
                        }
 
+                       /*
+                        * Push an LMF frame on the LMF stack
+                        * to mark the transition to compiled code.
+                        */
+                       memset (&ext, 0, sizeof (ext));
+                       ext.interp_exit = TRUE;
+                       ext.interp_exit_data = frame;
+
+                       mono_push_lmf (&ext);
+
                        switch (pindex) {
                        case 0: {
                                void (*func)(gpointer) = rmethod->jit_wrapper;
@@ -2551,6 +2628,21 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                break;
                        }
 
+                       mono_pop_lmf (&ext.lmf);
+
+                       if (context->has_resume_state) {
+                               /*
+                                * If this bit is set, it means the call has thrown the exception, and we
+                                * reached this point because the EH code in mono_handle_exception ()
+                                * unwound all the JITted frames below us. mono_interp_set_resume_state ()
+                                * has set the fields in context to indicate where we have to resume execution.
+                                */
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        MonoType *rtype = rmethod->rtype;
                        switch (rtype->type) {
                        case MONO_TYPE_VOID:
@@ -2631,10 +2723,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                sp [0].data.p = unboxed;
                        }
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -2678,10 +2777,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                                sp [0].data.p = unboxed;
                        }
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -3090,6 +3196,11 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
                        sp -= 2;
                        * (double *) sp->data.p = sp[1].data.f;
                        MINT_IN_BREAK;
+               MINT_IN_CASE(MINT_MONO_ATOMIC_STORE_I4)
+                       ++ip;
+                       sp -= 2;
+                       InterlockedWrite ((gint32 *) sp->data.p, sp [1].data.i);
+                       MINT_IN_BREAK;
 #define BINOP(datamem, op) \
        --sp; \
        sp [-1].data.datamem = sp [-1].data.datamem op sp [0].data.datamem; \
@@ -3463,10 +3574,17 @@ ves_exec_method_with_context_with_ip (MonoInvocation *frame, ThreadContext *cont
 
                        g_assert (csig->call_convention == MONO_CALL_DEFAULT);
 
-                       ves_exec_method_with_context (&child_frame, context);
+                       ves_exec_method_with_context (&child_frame, context, NULL, NULL, -1);
 
                        context->current_frame = frame;
 
+                       if (context->has_resume_state) {
+                               if (frame == context->handler_frame)
+                                       SET_RESUME_STATE (context);
+                               else
+                                       goto exit_frame;
+                       }
+
                        if (child_frame.ex) {
                                /*
                                 * An exception occurred, need to run finally, fault and catch handlers..
@@ -3989,6 +4107,7 @@ array_constructed:
                MINT_IN_CASE(MINT_STELEM_I1) /* fall through */ 
                MINT_IN_CASE(MINT_STELEM_U1) /* fall through */
                MINT_IN_CASE(MINT_STELEM_I2) /* fall through */
+               MINT_IN_CASE(MINT_STELEM_U2) /* fall through */
                MINT_IN_CASE(MINT_STELEM_I4) /* fall through */
                MINT_IN_CASE(MINT_STELEM_I8) /* fall through */
                MINT_IN_CASE(MINT_STELEM_R4) /* fall through */
@@ -4020,6 +4139,9 @@ array_constructed:
                        case MINT_STELEM_I2:
                                mono_array_set ((MonoArray *)o, gint16, aindex, sp [2].data.i);
                                break;
+                       case MINT_STELEM_U2:
+                               mono_array_set ((MonoArray *)o, guint16, aindex, sp [2].data.i);
+                               break;
                        case MINT_STELEM_I4:
                                mono_array_set ((MonoArray *)o, gint32, aindex, sp [2].data.i);
                                break;
@@ -4248,6 +4370,10 @@ array_constructed:
                        BINOP_CAST(l, -, guint64);
                        MINT_IN_BREAK;
                MINT_IN_CASE(MINT_ENDFINALLY)
+                       ip ++;
+                       int clause_index = *ip;
+                       if (clause_index == exit_at_finally)
+                               goto exit_frame;
                        while (sp > frame->stack) {
                                --sp;
                        }
@@ -4289,6 +4415,13 @@ array_constructed:
                MINT_IN_CASE(MINT_ICALL_PPP_V)
                MINT_IN_CASE(MINT_ICALL_PPI_V)
                        sp = do_icall (context, *ip, sp, rtm->data_items [*(guint16 *)(ip + 1)]);
+                       if (*mono_thread_interruption_request_flag ()) {
+                               MonoException *exc = mono_thread_interruption_checkpoint ();
+                               if (exc) {
+                                       frame->ex = exc;
+                                       context->search_for_handler = 1;
+                               }
+                       }
                        if (frame->ex != NULL)
                                goto handle_exception;
                        ip += 2;
@@ -4318,6 +4451,28 @@ array_constructed:
                        if (sp > frame->stack)
                                g_warning ("retobj: more values on stack: %d", sp-frame->stack);
                        goto exit_frame;
+               MINT_IN_CASE(MINT_MONO_TLS) {
+                       MonoTlsKey key = *(gint32 *)(ip + 1);
+                       sp->data.p = ((gpointer (*)()) mono_tls_get_tls_getter (key, FALSE)) ();
+                       sp++;
+                       ip += 3;
+                       MINT_IN_BREAK;
+               }
+               MINT_IN_CASE(MINT_MONO_JIT_ATTACH) {
+                       ++ip;
+
+                       context->original_domain = NULL;
+                       MonoDomain *tls_domain = (MonoDomain *) ((gpointer (*)()) mono_tls_get_tls_getter (TLS_KEY_DOMAIN, FALSE)) ();
+                       gpointer tls_jit = ((gpointer (*)()) mono_tls_get_tls_getter (TLS_KEY_DOMAIN, FALSE)) ();
+
+                       if (tls_domain != context->domain || !tls_jit)
+                               context->original_domain = mono_jit_thread_attach (context->domain);
+                       MINT_IN_BREAK;
+               }
+               MINT_IN_CASE(MINT_MONO_JIT_DETACH)
+                       ++ip;
+                       mono_jit_set_domain (context->original_domain);
+                       MINT_IN_BREAK;
 
 #define RELOP(datamem, op) \
        --sp; \
@@ -4572,7 +4727,7 @@ array_constructed:
                        sp [-1].data.p = alloca (len);
                        MonoMethodHeader *header = mono_method_get_header_checked (frame->runtime_method->method, &error);
                        mono_error_cleanup (&error); /* FIXME: don't swallow the error */
-                       if (header->init_locals)
+                       if (header && header->init_locals)
                                memset (sp [-1].data.p, 0, len);
                        ++ip;
                        MINT_IN_BREAK;
@@ -4692,7 +4847,7 @@ array_constructed:
                                        stackval retval;
                                        memcpy (&dup_frame, inv, sizeof (MonoInvocation));
                                        dup_frame.retval = &retval;
-                                       ves_exec_method_with_context_with_ip (&dup_frame, context, inv->runtime_method->code + clause->data.filter_offset, frame->ex);
+                                       ves_exec_method_with_context (&dup_frame, context, inv->runtime_method->code + clause->data.filter_offset, frame->ex, -1);
                                        if (dup_frame.retval->data.i) {
 #if DEBUG_INTERP
                                                if (tracing)
@@ -4840,12 +4995,6 @@ exit_frame:
        DEBUG_LEAVE ();
 }
 
-static void
-ves_exec_method_with_context (MonoInvocation *frame, ThreadContext *context)
-{
-       ves_exec_method_with_context_with_ip (frame, context, NULL, NULL);
-}
-
 void
 ves_exec_method (MonoInvocation *frame)
 {
@@ -4876,7 +5025,7 @@ ves_exec_method (MonoInvocation *frame)
        frame->runtime_method = mono_interp_get_runtime_method (context->domain, frame->method, &error);
        mono_error_cleanup (&error); /* FIXME: don't swallow the error */
        context->managed_code = 1;
-       ves_exec_method_with_context (frame, context);
+       ves_exec_method_with_context (frame, context, NULL, NULL, -1);
        context->managed_code = 0;
        if (frame->ex) {
                if (context != &context_struct && context->current_env) {
@@ -4974,8 +5123,10 @@ interp_ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
        if (need_file_info) {
                if (column)
                        *column = 0;
-               if (file)
-                       *file = mono_string_new (mono_domain_get (), "unknown");
+               if (file) {
+                       *file = mono_string_new_checked (mono_domain_get (), "unknown", &error);
+                       mono_error_cleanup (&error); /* FIXME: don't swallow the error */
+               }
        }
 
        return TRUE;
@@ -5022,7 +5173,11 @@ interp_ves_icall_get_trace (MonoException *exc, gint32 skip, MonoBoolean need_fi
                        
                        filename = mono_debug_source_location_from_address (ji->method, sf->native_offset, &sf->line, domain);
 
-                       sf->filename = filename? mono_string_new (domain, filename): NULL;
+                       sf->filename = NULL;
+                       if (filename) {
+                               sf->filename = mono_string_new_checked (domain, filename, &error);
+                               mono_error_cleanup (&error); /* FIXME: don't swallow the error */
+                       }
                        sf->column = 0;
 
                        g_free (filename);
@@ -5223,3 +5378,77 @@ mono_interp_regression_list (int verbose, int count, char *images [])
        return total;
 }
 
+/*
+ * mono_interp_set_resume_state:
+ *
+ *   Set the state the interpeter will continue to execute from after execution returns to the interpreter.
+ */
+void
+mono_interp_set_resume_state (MonoException *ex, StackFrameInfo *frame, gpointer handler_ip)
+{
+       ThreadContext *context = mono_native_tls_get_value (thread_context_id);
+
+       context->has_resume_state = TRUE;
+       context->handler_frame = frame->interp_frame;
+       /* This is on the stack, so it doesn't need a wbarrier */
+       context->handler_frame->ex = ex;
+       context->handler_ip = handler_ip;
+}
+
+/*
+ * mono_interp_run_finally:
+ *
+ *   Run the finally clause identified by CLAUSE_INDEX in the intepreter frame given by
+ * frame->interp_frame.
+ */
+void
+mono_interp_run_finally (StackFrameInfo *frame, int clause_index, gpointer handler_ip)
+{
+       MonoInvocation *iframe = frame->interp_frame;
+       ThreadContext *context = mono_native_tls_get_value (thread_context_id);
+
+       ves_exec_method_with_context (iframe, context, handler_ip, NULL, clause_index);
+}
+
+typedef struct {
+       MonoInvocation *current;
+} StackIter;
+
+/*
+ * mono_interp_frame_iter_init:
+ *
+ *   Initialize an iterator for iterating through interpreted frames.
+ */
+void
+mono_interp_frame_iter_init (MonoInterpStackIter *iter, gpointer interp_exit_data)
+{
+       StackIter *stack_iter = (StackIter*)iter;
+
+       stack_iter->current = (MonoInvocation*)interp_exit_data;
+}
+
+gboolean
+mono_interp_frame_iter_next (MonoInterpStackIter *iter, StackFrameInfo *frame)
+{
+       StackIter *stack_iter = (StackIter*)iter;
+       MonoInvocation *iframe = stack_iter->current;
+
+       memset (frame, 0, sizeof (StackFrameInfo));
+       /* pinvoke frames doesn't have runtime_method set */
+       while (iframe && !iframe->runtime_method)
+               iframe = iframe->parent;
+       if (!iframe)
+               return FALSE;
+
+       frame->type = FRAME_TYPE_INTERP;
+       frame->interp_frame = iframe;
+       frame->method = iframe->runtime_method->method;
+       frame->actual_method = frame->method;
+       /* This is the offset in the interpreter IR */
+       frame->native_offset = iframe->ip - iframe->runtime_method->code;
+       frame->ji = iframe->runtime_method->jinfo;
+
+       stack_iter->current = iframe->parent;
+
+       return TRUE;
+}
index 951c47c85e1a416fa8bcbad7e87d0263ccff3228..8d83bf401495426f661669c63ce4efc86c3aa531 100644 (file)
@@ -6,6 +6,13 @@
 #define __MONO_MINI_INTERPRETER_H__
 #include <mono/mini/mini.h>
 
+typedef struct _MonoInterpStackIter MonoInterpStackIter;
+
+/* Needed for stack allocation */
+struct _MonoInterpStackIter {
+       gpointer dummy [8];
+};
+
 int
 mono_interp_regression_list (int verbose, int count, char *images []);
 
@@ -29,4 +36,17 @@ mono_interp_parse_options (const char *options);
 
 void
 interp_walk_stack_with_ctx (MonoInternalStackWalk func, MonoContext *ctx, MonoUnwindOptions options, void *user_data);
+
+void
+mono_interp_set_resume_state (MonoException *ex, StackFrameInfo *frame, gpointer handler_ip);
+
+void
+mono_interp_run_finally (StackFrameInfo *frame, int clause_index, gpointer handler_ip);
+
+void
+mono_interp_frame_iter_init (MonoInterpStackIter *iter, gpointer interp_exit_data);
+
+gboolean
+mono_interp_frame_iter_next (MonoInterpStackIter *iter, StackFrameInfo *frame);
+
 #endif /* __MONO_MINI_INTERPRETER_H__ */
index 39330d479f7eea4098161b4560d21350b6d289db..68a559f6db5c0c969d75dfdc5728760236af5d0b 100644 (file)
@@ -172,7 +172,7 @@ OPDEF(MINT_LEAVE_S, "leave.s", 2, MintOpShortBranch)
 
 OPDEF(MINT_THROW, "throw", 1, MintOpNoArgs)
 OPDEF(MINT_RETHROW, "rethrow", 1, MintOpNoArgs)
-OPDEF(MINT_ENDFINALLY, "endfinally", 1, MintOpNoArgs)
+OPDEF(MINT_ENDFINALLY, "endfinally", 2, MintOpNoArgs)
 
 OPDEF(MINT_BRFALSE_I4, "brfalse.i4", 3, MintOpBranch)
 OPDEF(MINT_BRFALSE_I8, "brfalse.i8", 3, MintOpBranch)
@@ -307,6 +307,7 @@ OPDEF(MINT_STELEM_I, "stelem.i", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_I1, "stelem.i1", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_U1, "stelem.u1", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_I2, "stelem.i2", 1, MintOpNoArgs)
+OPDEF(MINT_STELEM_U2, "stelem.u2", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_I4, "stelem.i4", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_I8, "stelem.i8", 1, MintOpNoArgs)
 OPDEF(MINT_STELEM_R4, "stelem.r4", 1, MintOpNoArgs)
@@ -507,9 +508,13 @@ OPDEF(MINT_ICALL_PI_P, "mono_icall_pi_p", 2, MintOpClassToken)
 OPDEF(MINT_ICALL_PPP_V, "mono_icall_ppp_v", 2, MintOpClassToken)
 OPDEF(MINT_ICALL_PPI_V, "mono_icall_ppi_v", 2, MintOpClassToken)
 OPDEF(MINT_MONO_LDPTR, "mono_ldptr", 2, MintOpClassToken) 
+OPDEF(MINT_MONO_TLS, "mono_tls", 2, MintOpInt)
 OPDEF(MINT_MONO_NEWOBJ, "mono_newobj", 2, MintOpClassToken)
 OPDEF(MINT_MONO_RETOBJ, "mono_retobj", 1, MintOpNoArgs)
 OPDEF(MINT_MONO_FREE, "mono_free", 1, MintOpNoArgs)
+OPDEF(MINT_MONO_ATOMIC_STORE_I4, "mono_atomic.store.i4", 1, MintOpNoArgs)
+OPDEF(MINT_MONO_JIT_ATTACH, "mono_jit_attach", 1, MintOpNoArgs)
+OPDEF(MINT_MONO_JIT_DETACH, "mono_jit_detach", 1, MintOpNoArgs)
 
 // FIXME: MintOp
 OPDEF(MINT_JIT_CALL, "mono_jit_call", 2, MintOpNoArgs)
index e23969c79d15ee4c92d496d666289f52f8760836..e5c8f3f00abe61148ad8fed3081c6bebb878f55a 100644 (file)
@@ -64,6 +64,7 @@ typedef struct
        int max_data_items;
        void **data_items;
        GHashTable *data_hash;
+       int *clause_indexes;
 } TransformData;
 
 #define MINT_TYPE_I1 0
@@ -258,17 +259,6 @@ binary_arith_op(TransformData *td, int mint_op)
        --td->sp;
 }
 
-static void
-binary_int_op(TransformData *td, int mint_op)
-{
-       int op = mint_op + td->sp [-1].type - STACK_TYPE_I4;
-       CHECK_STACK(td, 2);
-       if (td->sp [-1].type != td->sp [-2].type)
-               g_warning("%s.%s: int type mismatch", td->method->klass->name, td->method->name);
-       ADD_CODE(td, op);
-       --td->sp;
-}
-
 static void
 shift_op(TransformData *td, int mint_op)
 {
@@ -916,6 +906,51 @@ interp_transform_call (TransformData *td, MonoMethod *method, MonoMethod *target
        }
 }
 
+static MonoClassField *
+interp_field_from_token (MonoMethod *method, guint32 token, MonoClass **klass, MonoGenericContext *generic_context)
+{
+       MonoClassField *field = NULL;
+       if (method->wrapper_type != MONO_WRAPPER_NONE) {
+               field = (MonoClassField *) mono_method_get_wrapper_data (method, token);
+               *klass = field->parent;
+       } else {
+               MonoError error;
+               error_init (&error);
+               field = mono_field_from_token_checked (method->klass->image, token, klass, generic_context, &error);
+               mono_error_cleanup (&error); /* FIXME: don't swallow the error */
+       }
+       return field;
+}
+
+static void
+interp_save_debug_info (RuntimeMethod *rtm, MonoMethodHeader *header, TransformData *td, GArray *line_numbers)
+{
+       MonoDebugMethodJitInfo *dinfo;
+       int i;
+
+       if (!mono_debug_enabled ())
+               return;
+
+       /*
+        * We save the debug info in the same way the JIT does it, treating the interpreter IR as the native code.
+        */
+
+       dinfo = g_new0 (MonoDebugMethodJitInfo, 1);
+       dinfo->num_locals = header->num_locals;
+       dinfo->locals = g_new0 (MonoDebugVarInfo, header->num_locals);
+       dinfo->code_start = (guint8*)rtm->code;
+       dinfo->code_size = td->new_ip - td->new_code;
+       dinfo->epilogue_begin = 0;
+       dinfo->has_var_info = FALSE;
+       dinfo->num_line_numbers = line_numbers->len;
+       dinfo->line_numbers = g_new0 (MonoDebugLineNumberEntry, dinfo->num_line_numbers);
+       for (i = 0; i < dinfo->num_line_numbers; i++)
+               dinfo->line_numbers [i] = g_array_index (line_numbers, MonoDebugLineNumberEntry, i);
+       mono_debug_add_method (rtm->method, dinfo, mono_domain_get ());
+
+       mono_debug_free_method_jit_info (dinfo);
+}
+
 static void
 generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, MonoGenericContext *generic_context)
 {
@@ -936,6 +971,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        guint32 token;
        TransformData td;
        int generating_code = 1;
+       GArray *line_numbers;
 
        memset(&td, 0, sizeof(td));
        td.method = method;
@@ -956,10 +992,12 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        td.max_data_items = 0;
        td.data_items = NULL;
        td.data_hash = g_hash_table_new (NULL, NULL);
+       td.clause_indexes = g_malloc (header->code_size * sizeof (int));
        rtm->data_items = td.data_items;
        for (i = 0; i < header->code_size; i++) {
                td.forward_refs [i] = -1;
                td.stack_height [i] = -1;
+               td.clause_indexes [i] = -1;
        }
        td.new_ip = td.new_code;
        td.last_new_ip = NULL;
@@ -968,6 +1006,8 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        td.sp = td.stack;
        td.max_stack_height = 0;
 
+       line_numbers = g_array_new (FALSE, TRUE, sizeof (MonoDebugLineNumberEntry));
+
        for (i = 0; i < header->num_clauses; i++) {
                MonoExceptionClause *c = header->clauses + i;
                td.stack_height [c->handler_offset] = 0;
@@ -989,6 +1029,13 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        td.stack_state [c->data.filter_offset][0].type = STACK_TYPE_O;
                        td.stack_state [c->data.filter_offset][0].klass = NULL; /*FIX*/
                }
+
+               if ((c->flags & MONO_EXCEPTION_CLAUSE_FINALLY) || (c->flags & MONO_EXCEPTION_CLAUSE_FAULT)) {
+                       for (int j = c->handler_offset; j < c->handler_offset + c->handler_len; ++j) {
+                               if (td.clause_indexes [j] == -1)
+                                       td.clause_indexes [j] = i;
+                       }
+               }
        }
 
        td.ip = header->code;
@@ -1027,6 +1074,12 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                td.in_offsets [in_offset] = td.new_ip - td.new_code;
                new_in_start_offset = td.new_ip - td.new_code;
                td.in_start = td.ip;
+
+               MonoDebugLineNumberEntry lne;
+               lne.native_offset = td.new_ip - td.new_code;
+               lne.il_offset = td.ip - header->code;
+               g_array_append_val (line_numbers, lne);
+
                while (td.forward_refs [in_offset] >= 0) {
                        int j = td.forward_refs [in_offset];
                        int slot;
@@ -1551,23 +1604,23 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        ++td.ip;
                        break;
                case CEE_REM:
-                       binary_int_op (&td, MINT_REM_I4);
+                       binary_arith_op (&td, MINT_REM_I4);
                        ++td.ip;
                        break;
                case CEE_REM_UN:
-                       binary_int_op (&td, MINT_REM_UN_I4);
+                       binary_arith_op (&td, MINT_REM_UN_I4);
                        ++td.ip;
                        break;
                case CEE_AND:
-                       binary_int_op (&td, MINT_AND_I4);
+                       binary_arith_op (&td, MINT_AND_I4);
                        ++td.ip;
                        break;
                case CEE_OR:
-                       binary_int_op (&td, MINT_OR_I4);
+                       binary_arith_op (&td, MINT_OR_I4);
                        ++td.ip;
                        break;
                case CEE_XOR:
-                       binary_int_op (&td, MINT_XOR_I4);
+                       binary_arith_op (&td, MINT_XOR_I4);
                        ++td.ip;
                        break;
                case CEE_SHL:
@@ -1943,7 +1996,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_CASTCLASS:
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
-                       klass = mono_class_get_full (image, token, generic_context);
+                       klass = mini_get_class (method, token, generic_context);
                        ADD_CODE(&td, MINT_CASTCLASS);
                        ADD_CODE(&td, get_data_item_index (&td, klass));
                        td.sp [-1].klass = klass;
@@ -1952,7 +2005,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_ISINST:
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
-                       klass = mono_class_get_full (image, token, generic_context);
+                       klass = mini_get_class (method, token, generic_context);
                        ADD_CODE(&td, MINT_ISINST);
                        ADD_CODE(&td, get_data_item_index (&td, klass));
                        td.ip += 5;
@@ -1995,10 +2048,10 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
 
-                       g_assert (method->wrapper_type == MONO_WRAPPER_NONE);
-                       klass = mono_class_get_full (image, token, generic_context);
+                       klass = mini_get_class (method, token, generic_context);
 
                        if (mini_type_is_reference (&klass->byval_arg)) {
+                               int mt = mint_type (&klass->byval_arg);
                                ADD_CODE (&td, MINT_CASTCLASS);
                                ADD_CODE (&td, get_data_item_index (&td, klass));
                                SET_TYPE (td.sp - 1, stack_type [mt], klass);
@@ -2033,7 +2086,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_LDFLDA:
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        gboolean is_static = !!(field->type->attrs & FIELD_ATTRIBUTE_STATIC);
                        mono_class_init (klass);
                        if (is_static) {
@@ -2056,7 +2109,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_LDFLD: {
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        gboolean is_static = !!(field->type->attrs & FIELD_ATTRIBUTE_STATIC);
                        mono_class_init (klass);
 
@@ -2097,7 +2150,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_STFLD: {
                        CHECK_STACK (&td, 2);
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        gboolean is_static = !!(field->type->attrs & FIELD_ATTRIBUTE_STATIC);
                        mono_class_init (klass);
                        mt = mint_type(field->type);
@@ -2129,7 +2182,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                }
                case CEE_LDSFLDA:
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        ADD_CODE(&td, MINT_LDSFLDA);
                        ADD_CODE(&td, get_data_item_index (&td, field));
                        td.ip += 5;
@@ -2137,7 +2190,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        break;
                case CEE_LDSFLD:
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        mt = mint_type(field->type);
                        ADD_CODE(&td, mt == MINT_TYPE_VT ? MINT_LDSFLD_VT : MINT_LDSFLD);
                        ADD_CODE(&td, get_data_item_index (&td, field));
@@ -2158,7 +2211,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_STSFLD:
                        CHECK_STACK (&td, 1);
                        token = read32 (td.ip + 1);
-                       field = mono_field_from_token (image, token, &klass, generic_context);
+                       field = interp_field_from_token (method, token, &klass, generic_context);
                        mt = mint_type(field->type);
                        ADD_CODE(&td, mt == MINT_TYPE_VT ? MINT_STSFLD_VT : MINT_STSFLD);
                        ADD_CODE(&td, get_data_item_index (&td, field));
@@ -2178,7 +2231,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        if (method->wrapper_type != MONO_WRAPPER_NONE)
                                klass = (MonoClass *)mono_method_get_wrapper_data (method, token);
                        else
-                               klass = mono_class_get_full (image, token, generic_context);
+                               klass = mini_get_class (method, token, generic_context);
 
                        ADD_CODE(&td, td.sp [-1].type == STACK_TYPE_VT ? MINT_STOBJ_VT : MINT_STOBJ);
                        ADD_CODE(&td, get_data_item_index (&td, klass));
@@ -2247,7 +2300,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        if (method->wrapper_type != MONO_WRAPPER_NONE)
                                klass = (MonoClass *)mono_method_get_wrapper_data (method, token);
                        else
-                               klass = mono_class_get_full (image, token, generic_context);
+                               klass = mini_get_class (method, token, generic_context);
 
                        if (mono_class_is_nullable (klass)) {
                                MonoMethod *target_method = mono_class_get_method_from_name (klass, "Box", 1);
@@ -2278,7 +2331,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        if (method->wrapper_type != MONO_WRAPPER_NONE)
                                klass = (MonoClass *)mono_method_get_wrapper_data (method, token);
                        else
-                               klass = mono_class_get_full (image, token, generic_context);
+                               klass = mini_get_class (method, token, generic_context);
 
                        unsigned char lentype = (td.sp - 1)->type;
                        if (lentype == STACK_TYPE_I8) {
@@ -2308,7 +2361,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        if (method->wrapper_type != MONO_WRAPPER_NONE)
                                klass = (MonoClass *) mono_method_get_wrapper_data (method, token);
                        else
-                               klass = mono_class_get_full (image, token, generic_context);
+                               klass = mini_get_class (method, token, generic_context);
 
                        if (!klass->valuetype && method->wrapper_type == MONO_WRAPPER_NONE && !readonly) {
                                ADD_CODE (&td, MINT_LDELEMA_TC);
@@ -2404,7 +2457,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                case CEE_LDELEM:
                        CHECK_STACK (&td, 2);
                        token = read32 (td.ip + 1);
-                       klass = mono_class_get_full (image, token, generic_context);
+                       klass = mini_get_class (method, token, generic_context);
                        switch (mint_type (&klass->byval_arg)) {
                                case MINT_TYPE_I1:
                                        ENSURE_I4 (&td, 1);
@@ -2534,11 +2587,14 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        CHECK_STACK (&td, 3);
                        ENSURE_I4 (&td, 2);
                        token = read32 (td.ip + 1);
-                       klass = mono_class_get_full (image, token, generic_context);
+                       klass = mini_get_class (method, token, generic_context);
                        switch (mint_type (&klass->byval_arg)) {
                                case MINT_TYPE_U1:
                                        SIMPLE_OP (td, MINT_STELEM_U1);
                                        break;
+                               case MINT_TYPE_U2:
+                                       SIMPLE_OP (td, MINT_STELEM_U2);
+                                       break;
                                case MINT_TYPE_I4:
                                        SIMPLE_OP (td, MINT_STELEM_I4);
                                        break;
@@ -2804,8 +2860,10 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        ++td.ip;
                        break;
                case CEE_ENDFINALLY:
+                       g_assert (td.clause_indexes [in_offset] != -1);
                        td.sp = td.stack;
                        SIMPLE_OP (td, MINT_ENDFINALLY);
+                       ADD_CODE (&td, td.clause_indexes [in_offset]);
                        generating_code = 0;
                        break;
                case CEE_LEAVE:
@@ -2966,6 +3024,21 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                                g_assert(klass->valuetype);
                                SET_SIMPLE_TYPE(td.sp - 1, STACK_TYPE_MP);
                                break;
+                       case CEE_MONO_TLS: {
+                               gint32 key = read32 (td.ip + 1);
+                               td.ip += 5;
+                               g_assert (key < TLS_KEY_NUM);
+                               ADD_CODE (&td, MINT_MONO_TLS);
+                               WRITE32 (&td, &key);
+                               PUSH_SIMPLE_TYPE (&td, STACK_TYPE_MP);
+                               break;
+                       }
+                       case CEE_MONO_ATOMIC_STORE_I4:
+                               CHECK_STACK (&td, 2);
+                               SIMPLE_OP (td, MINT_MONO_ATOMIC_STORE_I4);
+                               td.sp -= 2;
+                               td.ip++;
+                               break;
                        case CEE_MONO_SAVE_LMF:
                        case CEE_MONO_RESTORE_LMF:
                        case CEE_MONO_NOT_TAKEN:
@@ -2977,6 +3050,14 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                                PUSH_TYPE (&td, STACK_TYPE_MP, NULL);
                                ++td.ip;
                                break;
+                       case CEE_MONO_JIT_ATTACH:
+                               ADD_CODE (&td, MINT_MONO_JIT_ATTACH);
+                               ++td.ip;
+                               break;
+                       case CEE_MONO_JIT_DETACH:
+                               ADD_CODE (&td, MINT_MONO_JIT_DETACH);
+                               ++td.ip;
+                               break;
                        default:
                                g_error ("transform.c: Unimplemented opcode: 0xF0 %02x at 0x%x\n", *td.ip, td.ip-header->code);
                        }
@@ -3138,7 +3219,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                        case CEE_INITOBJ:
                                CHECK_STACK(&td, 1);
                                token = read32 (td.ip + 1);
-                               klass = mono_class_get_full (image, token, generic_context);
+                               klass = mini_get_class (method, token, generic_context);
                                if (klass->valuetype) {
                                        ADD_CODE (&td, MINT_INITOBJ);
                                        i32 = mono_class_value_size (klass, NULL);
@@ -3163,7 +3244,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                                break;
                        case CEE_CONSTRAINED_:
                                token = read32 (td.ip + 1);
-                               constrained_class = mono_class_get_full (image, token, generic_context);
+                               constrained_class = mini_get_class (method, token, generic_context);
                                mono_class_init (constrained_class);
                                td.ip += 5;
                                break;
@@ -3193,7 +3274,7 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
                                        size = mono_type_size (type, &align);
                                } else {
                                        int align;
-                                       MonoClass *szclass = mono_class_get_full (image, token, generic_context);
+                                       MonoClass *szclass = mini_get_class (method, token, generic_context);
                                        mono_class_init (szclass);
 #if 0
                                        if (!szclass->valuetype)
@@ -3236,6 +3317,8 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        }
        g_assert (td.max_stack_height <= (header->max_stack + 1));
 
+       int code_len = td.new_ip - td.new_code;
+
        rtm->clauses = mono_domain_alloc0 (domain, header->num_clauses * sizeof (MonoExceptionClause));
        memcpy (rtm->clauses, header->clauses, header->num_clauses * sizeof(MonoExceptionClause));
        rtm->code = mono_domain_alloc0 (domain, (td.new_ip - td.new_code) * sizeof (gushort));
@@ -3258,6 +3341,29 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        rtm->alloca_size = rtm->locals_size + rtm->args_size + rtm->vt_stack_size + rtm->stack_size;
        rtm->data_items = mono_domain_alloc0 (domain, td.n_data_items * sizeof (td.data_items [0]));
        memcpy (rtm->data_items, td.data_items, td.n_data_items * sizeof (td.data_items [0]));
+
+       /* Save debug info */
+       interp_save_debug_info (rtm, header, &td, line_numbers);
+
+       /* Create a MonoJitInfo for the interpreted method by creating the interpreter IR as the native code. */
+       int jinfo_len = mono_jit_info_size (0, header->num_clauses, 0);
+       MonoJitInfo *jinfo = (MonoJitInfo *)mono_domain_alloc0 (domain, jinfo_len);
+       rtm->jinfo = jinfo;
+       mono_jit_info_init (jinfo, method, (guint8*)rtm->code, code_len, 0, header->num_clauses, 0);
+       for (i = 0; i < jinfo->num_clauses; ++i) {
+               MonoJitExceptionInfo *ei = &jinfo->clauses [i];
+               MonoExceptionClause *c = rtm->clauses + i;
+
+               ei->flags = c->flags;
+               ei->try_start = rtm->code + c->try_offset;
+               ei->try_end = rtm->code + c->try_offset + c->try_len;
+               ei->handler_start = rtm->code + c->handler_offset;
+               if (ei->flags == MONO_EXCEPTION_CLAUSE_FILTER || ei->flags == MONO_EXCEPTION_CLAUSE_FINALLY) {
+               } else {
+                       ei->data.catch_class = c->data.catch_class;
+               }
+       }
+
        g_free (td.in_offsets);
        g_free (td.forward_refs);
        for (i = 0; i < header->code_size; ++i)
@@ -3268,6 +3374,8 @@ generate (MonoMethod *method, RuntimeMethod *rtm, unsigned char *is_bb_start, Mo
        g_free (td.data_items);
        g_free (td.stack);
        g_hash_table_destroy (td.data_hash);
+       g_free (td.clause_indexes);
+       g_array_free (line_numbers, TRUE);
 }
 
 static mono_mutex_t calc_section;
@@ -3427,7 +3535,7 @@ mono_interp_transform_method (RuntimeMethod *runtime_method, ThreadContext *cont
                        break;
                case MonoInlineType:
                        if (method->wrapper_type == MONO_WRAPPER_NONE) {
-                               class = mono_class_get_full (image, read32 (ip + 1), generic_context);
+                               class = mini_get_class (method, read32 (ip + 1), generic_context);
                                mono_class_init (class);
                                /* quick fix to not do this for the fake ptr classes - probably should not be getting the vtable at all here */
 #if 0
index e29c55d8025d7c1e73ffefd32a38a6722f070336..46ec94350691f39d384d6db6d94021864c6da907 100644 (file)
@@ -6646,7 +6646,7 @@ mini_get_method (MonoCompile *cfg, MonoMethod *m, guint32 token, MonoClass *klas
        return method;
 }
 
-static inline MonoClass*
+MonoClass*
 mini_get_class (MonoMethod *method, guint32 token, MonoGenericContext *context)
 {
        MonoError error;
@@ -8600,6 +8600,9 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
                        sp -= n;
 
+                       if (cmethod && cmethod->klass->image == mono_defaults.corlib && !strcmp (cmethod->klass->name, "ThrowHelper"))
+                               cfg->cbb->out_of_line = TRUE;
+
                        /*
                         * We have the `constrained.' prefix opcode.
                         */
@@ -9234,7 +9237,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        }
 
                        /* Common call */
-                       if (!(cmethod->iflags & METHOD_IMPL_ATTRIBUTE_AGGRESSIVE_INLINING))
+                       if (!(method->iflags & METHOD_IMPL_ATTRIBUTE_AGGRESSIVE_INLINING) && !(cmethod->iflags & METHOD_IMPL_ATTRIBUTE_AGGRESSIVE_INLINING))
                                INLINE_FAILURE ("call");
                        ins = mono_emit_method_call_full (cfg, cmethod, fsig, tail_call, sp, virtual_ ? sp [0] : NULL,
                                                                                          imt_arg, vtable_arg);
index d13bca95ee1aa08a09ac3cde6c6ec05c3bbc4f13..b42ac52a33bfe7b7c18cc175d219cfa4b7dfd991 100644 (file)
@@ -447,6 +447,7 @@ typedef struct {
 #define MONO_ARCH_HAVE_PATCH_CODE_NEW 1
 #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1
 #define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1
+#define MONO_ARCH_HAVE_INIT_LMF_EXT 1
 
 #if defined(TARGET_OSX) || defined(__linux__)
 #define MONO_ARCH_HAVE_UNWIND_BACKTRACE 1
index f80d5f5b0272e5f6315be7c26c65cf5941b91f7c..a60a113b12202a127eacc663084663e771d7aca0 100644 (file)
@@ -2165,8 +2165,6 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
                                lainfo->nslots = ainfo->struct_size / sizeof (gpointer);
                                lainfo->esize = 4;
                        }
-
-                       printf ("D: %d\n", ainfo->align);
                        break;
                case RegTypeStructByAddr:
                case RegTypeStructByAddrOnStack:
index 45ceb0d6629df7c7f288e115d55daf5bd90d3a30..099e6e10dd03ccda34fd010318f18e52b37674e5 100644 (file)
@@ -58,6 +58,7 @@
 #include <mono/metadata/object-internals.h>
 #include <mono/metadata/reflection-internals.h>
 #include <mono/metadata/gc-internals.h>
+#include <mono/metadata/debug-internals.h>
 #include <mono/metadata/mono-debug.h>
 #include <mono/metadata/profiler.h>
 #include <mono/metadata/mono-endian.h>
@@ -567,7 +568,7 @@ mono_find_jit_info_ext (MonoDomain *domain, MonoJitTlsData *jit_tls,
        if (!err)
                return FALSE;
 
-       if (*lmf && ((*lmf) != jit_tls->first_lmf) && ((gpointer)MONO_CONTEXT_GET_SP (new_ctx) >= (gpointer)(*lmf))) {
+       if (frame->type != FRAME_TYPE_INTERP_TO_MANAGED && *lmf && ((*lmf) != jit_tls->first_lmf) && ((gpointer)MONO_CONTEXT_GET_SP (new_ctx) >= (gpointer)(*lmf))) {
                /*
                 * Remove any unused lmf.
                 * Mask out the lower bits which might be used to hold additional information.
@@ -630,6 +631,49 @@ mono_find_jit_info_ext (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return TRUE;
 }
 
+typedef struct {
+       gboolean in_interp;
+       MonoInterpStackIter interp_iter;
+} Unwinder;
+
+static void
+unwinder_init (Unwinder *unwinder)
+{
+       memset (unwinder, 0, sizeof (Unwinder));
+}
+
+#if defined(__GNUC__) && defined(TARGET_ARM64)
+/* gcc 4.9.2 seems to miscompile this on arm64 */
+static __attribute__((optimize("O0"))) gboolean
+#else
+static gboolean
+#endif
+unwinder_unwind_frame (Unwinder *unwinder,
+                                          MonoDomain *domain, MonoJitTlsData *jit_tls,
+                                          MonoJitInfo *prev_ji, MonoContext *ctx,
+                                          MonoContext *new_ctx, char **trace, MonoLMF **lmf,
+                                          mgreg_t **save_locations,
+                                          StackFrameInfo *frame)
+{
+       if (unwinder->in_interp) {
+               unwinder->in_interp = mono_interp_frame_iter_next (&unwinder->interp_iter, frame);
+               if (!unwinder->in_interp) {
+                       return unwinder_unwind_frame (unwinder, domain, jit_tls, prev_ji, ctx, new_ctx, trace, lmf, save_locations, frame);
+               }
+               return TRUE;
+       } else {
+               gboolean res = mono_find_jit_info_ext (domain, jit_tls, prev_ji, ctx, new_ctx, trace, lmf,
+                                                                                          save_locations, frame);
+               if (!res)
+                       return FALSE;
+               if (frame->type == FRAME_TYPE_INTERP_TO_MANAGED) {
+                       unwinder->in_interp = TRUE;
+                       mono_interp_frame_iter_init (&unwinder->interp_iter, frame->interp_exit_data);
+               }
+               return TRUE;
+       }
+}
+
 /*
  * This function is async-safe.
  */
@@ -854,8 +898,13 @@ ves_icall_get_trace (MonoException *exc, gint32 skip, MonoBoolean need_file_info
 
                        sf->method = NULL;
                        s = mono_method_get_name_full (method, TRUE, FALSE, MONO_TYPE_NAME_FORMAT_REFLECTION);
-                       MONO_OBJECT_SETREF (sf, internal_method_name, mono_string_new (domain, s));
+                       MonoString *name = mono_string_new_checked (domain, s, &error);
                        g_free (s);
+                       if (!is_ok (&error)) {
+                               mono_error_set_pending_exception (&error);
+                               return NULL;
+                       }
+                       MONO_OBJECT_SETREF (sf, internal_method_name, name);
                }
                else {
                        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, method, NULL, &error);
@@ -888,7 +937,12 @@ ves_icall_get_trace (MonoException *exc, gint32 skip, MonoBoolean need_file_info
 
                if (need_file_info) {
                        if (location && location->source_file) {
-                               MONO_OBJECT_SETREF (sf, filename, mono_string_new (domain, location->source_file));
+                               MonoString *filename = mono_string_new_checked (domain, location->source_file, &error);
+                               if (!is_ok (&error)) {
+                                       mono_error_set_pending_exception (&error);
+                                       return NULL;
+                               }
+                               MONO_OBJECT_SETREF (sf, filename, filename);
                                sf->line = location->row;
                                sf->column = location->column;
                        } else {
@@ -1119,6 +1173,8 @@ ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
        MonoMethod *jmethod = NULL, *actual_method;
        StackFrameInfo frame;
        gboolean res;
+       Unwinder unwinder;
+       int il_offset = -1;
 
        MONO_ARCH_CONTEXT_DEF;
 
@@ -1160,29 +1216,43 @@ ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
                MONO_INIT_CONTEXT_FROM_FUNC (&ctx, ves_icall_get_frame_info);
 #endif
 
+               unwinder_init (&unwinder);
+
                new_ctx = ctx;
                do {
                        ctx = new_ctx;
-                       res = mono_find_jit_info_ext (domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, NULL, &frame);
+                       res = unwinder_unwind_frame (&unwinder, domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, NULL, &frame);
                        if (!res)
                                return FALSE;
-
-                       if (frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
-                               frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
-                               frame.type == FRAME_TYPE_TRAMPOLINE)
+                       switch (frame.type) {
+                       case FRAME_TYPE_MANAGED_TO_NATIVE:
+                       case FRAME_TYPE_DEBUGGER_INVOKE:
+                       case FRAME_TYPE_TRAMPOLINE:
+                       case FRAME_TYPE_INTERP_TO_MANAGED:
                                continue;
+                       case FRAME_TYPE_INTERP:
+                               skip--;
+                               break;
+                       default:
+                               ji = frame.ji;
+                               *native_offset = frame.native_offset;
 
-                       ji = frame.ji;
-                       *native_offset = frame.native_offset;
-
-                       /* The skip count passed by the caller depends on us not filtering out MANAGED_TO_NATIVE */
-                       jmethod = jinfo_get_method (ji);
-                       if (jmethod->wrapper_type != MONO_WRAPPER_NONE && jmethod->wrapper_type != MONO_WRAPPER_DYNAMIC_METHOD && jmethod->wrapper_type != MONO_WRAPPER_MANAGED_TO_NATIVE)
-                               continue;
-                       skip--;
+                               /* The skip count passed by the caller depends on us not filtering out MANAGED_TO_NATIVE */
+                               jmethod = jinfo_get_method (ji);
+                               if (jmethod->wrapper_type != MONO_WRAPPER_NONE && jmethod->wrapper_type != MONO_WRAPPER_DYNAMIC_METHOD && jmethod->wrapper_type != MONO_WRAPPER_MANAGED_TO_NATIVE)
+                                       continue;
+                               skip--;
+                               break;
+                       }
                } while (skip >= 0);
 
-               actual_method = get_method_from_stack_frame (ji, get_generic_info_from_stack_frame (ji, &ctx));
+               if (frame.type == FRAME_TYPE_INTERP) {
+                       jmethod = frame.method;
+                       actual_method = frame.actual_method;
+                       *native_offset = frame.native_offset;
+               } else {
+                       actual_method = get_method_from_stack_frame (ji, get_generic_info_from_stack_frame (ji, &ctx));
+               }
        }
 
        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, actual_method, NULL, &error);
@@ -1192,7 +1262,11 @@ ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
        }
        mono_gc_wbarrier_generic_store (method, (MonoObject*) rm);
 
-       location = mono_debug_lookup_source_location (jmethod, *native_offset, domain);
+       if (il_offset != -1) {
+               location = mono_debug_lookup_source_location_by_il (jmethod, il_offset, domain);
+       } else {
+               location = mono_debug_lookup_source_location (jmethod, *native_offset, domain);
+       }
        if (location)
                *iloffset = location->il_offset;
        else
@@ -1200,7 +1274,12 @@ ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
 
        if (need_file_info) {
                if (location) {
-                       mono_gc_wbarrier_generic_store (file, (MonoObject*) mono_string_new (domain, location->source_file));
+                       MonoString *filename = mono_string_new_checked (domain, location->source_file, &error);
+                       if (!is_ok (&error)) {
+                               mono_error_set_pending_exception (&error);
+                               return FALSE;
+                       }
+                       mono_gc_wbarrier_generic_store (file, (MonoObject*)filename);
                        *line = location->row;
                        *column = location->column;
                } else {
@@ -1469,6 +1548,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
        gint32 filter_idx;
        int i;
        MonoObject *ex_obj;
+       Unwinder unwinder;
+       gboolean in_interp;
 
        g_assert (ctx != NULL);
 
@@ -1508,6 +1589,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
        filter_idx = 0;
        initial_ctx = *ctx;
 
+       unwinder_init (&unwinder);
+
        while (1) {
                MonoContext new_ctx;
                guint32 free_stack;
@@ -1519,24 +1602,37 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
                if (out_prev_ji)
                        *out_prev_ji = ji;
 
-               unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
-               if (unwind_res) {
-                       if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
-                                       frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
-                                       frame.type == FRAME_TYPE_TRAMPOLINE) {
-                               *ctx = new_ctx;
-                               continue;
-                       }
-                       g_assert (frame.type == FRAME_TYPE_MANAGED);
-                       ji = frame.ji;
-               }
-
+               unwind_res = unwinder_unwind_frame (&unwinder, domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
                if (!unwind_res) {
                        setup_stack_trace (mono_ex, dynamic_methods, &trace_ips);
                        g_slist_free (dynamic_methods);
                        return FALSE;
                }
 
+               switch (frame.type) {
+               case FRAME_TYPE_DEBUGGER_INVOKE:
+               case FRAME_TYPE_MANAGED_TO_NATIVE:
+               case FRAME_TYPE_TRAMPOLINE:
+               case FRAME_TYPE_INTERP_TO_MANAGED:
+                       *ctx = new_ctx;
+                       continue;
+               case FRAME_TYPE_INTERP:
+               case FRAME_TYPE_MANAGED:
+                       break;
+               default:
+                       g_assert_not_reached ();
+                       break;
+               }
+
+               in_interp = frame.type == FRAME_TYPE_INTERP;
+               ji = frame.ji;
+
+               gpointer ip;
+               if (in_interp)
+                       ip = (guint16*)ji->code_start + frame.native_offset;
+               else
+                       ip = MONO_CONTEXT_GET_IP (ctx);
+
                frame_count ++;
                method = jinfo_get_method (ji);
                //printf ("M: %s %d.\n", mono_method_full_name (method, TRUE), frame_count);
@@ -1578,7 +1674,7 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
                        if (free_stack <= (64 * 1024))
                                continue;
 
-                       if (is_address_protected (ji, ei, MONO_CONTEXT_GET_IP (ctx))) {
+                       if (is_address_protected (ji, ei, ip)) {
                                /* catch block */
                                MonoClass *catch_class = get_exception_catch_class (ei, ji, ctx);
 
@@ -1650,7 +1746,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
                                                *out_ji = ji;
 
                                        /* mono_debugger_agent_handle_exception () needs this */
-                                       MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
+                                       if (!in_interp)
+                                               MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
                                        return TRUE;
                                }
                                mono_error_cleanup (&isinst_error);
@@ -1687,11 +1784,15 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
        int i;
        MonoObject *ex_obj;
        MonoObject *non_exception = NULL;
+       Unwinder unwinder;
+       gboolean in_interp;
 
        g_assert (ctx != NULL);
        if (!obj) {
                MonoException *ex = mono_get_exception_null_reference ();
-               MONO_OBJECT_SETREF (ex, message, mono_string_new (domain, "Object reference not set to an instance of an object"));
+               MonoString *msg = mono_string_new_checked (domain, "Object reference not set to an instance of an object", &error);
+               mono_error_assert_ok (&error);
+               MONO_OBJECT_SETREF (ex, message, msg);
                obj = (MonoObject *)ex;
        } 
 
@@ -1736,18 +1837,26 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                        char *from_name = mono_type_get_full_name (jit_tls->class_cast_from);
                        char *to_name = mono_type_get_full_name (jit_tls->class_cast_to);
                        char *msg = g_strdup_printf ("Unable to cast object of type '%s' to type '%s'.", from_name, to_name);
-                       mono_ex->message = mono_string_new (domain, msg);
+                       mono_ex->message = mono_string_new_checked (domain, msg, &error);
                        g_free (from_name);
                        g_free (to_name);
+                       if (!is_ok (&error)) {
+                               mono_runtime_printf_err ("Error creating class cast exception message '%s'\n", msg);
+                               mono_error_assert_ok (&error);
+                       }
                        g_free (msg);
                }
                if (!strcmp (mono_ex->object.vtable->klass->name, "ArrayTypeMismatchException")) {
                        char *from_name = mono_type_get_full_name (jit_tls->class_cast_from);
                        char *to_name = mono_type_get_full_name (jit_tls->class_cast_to);
                        char *msg = g_strdup_printf ("Source array of type '%s' cannot be cast to destination array type '%s'.", from_name, to_name);
-                       mono_ex->message = mono_string_new (domain, msg);
+                       mono_ex->message = mono_string_new_checked (domain, msg, &error);
                        g_free (from_name);
                        g_free (to_name);
+                       if (!is_ok (&error)) {
+                               mono_runtime_printf_err ("Error creating array type mismatch exception message '%s'\n", msg);
+                               mono_error_assert_ok (&error);
+                       }
                        g_free (msg);
                }
        }
@@ -1849,11 +1958,15 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
        filter_idx = 0;
        initial_ctx = *ctx;
 
+       unwinder_init (&unwinder);
+
        while (1) {
                MonoContext new_ctx;
                guint32 free_stack;
                int clause_index_start = 0;
                gboolean unwind_res = TRUE;
+               StackFrameInfo frame;
+               gpointer ip;
                
                if (resume) {
                        resume = FALSE;
@@ -1863,28 +1976,38 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                        lmf = jit_tls->resume_state.lmf;
                        first_filter_idx = jit_tls->resume_state.first_filter_idx;
                        filter_idx = jit_tls->resume_state.filter_idx;
+                       in_interp = FALSE;
                } else {
-                       StackFrameInfo frame;
-
-                       unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
-                       if (unwind_res) {
-                               if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
-                                               frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
-                                               frame.type == FRAME_TYPE_TRAMPOLINE) {
-                                       *ctx = new_ctx;
-                                       continue;
-                               }
-                               g_assert (frame.type == FRAME_TYPE_MANAGED);
-                               ji = frame.ji;
+                       unwind_res = unwinder_unwind_frame (&unwinder, domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
+                       if (!unwind_res) {
+                               *(mono_get_lmf_addr ()) = lmf;
+
+                               jit_tls->abort_func (obj);
+                               g_assert_not_reached ();
+                       }
+                       switch (frame.type) {
+                       case FRAME_TYPE_DEBUGGER_INVOKE:
+                       case FRAME_TYPE_MANAGED_TO_NATIVE:
+                       case FRAME_TYPE_TRAMPOLINE:
+                               *ctx = new_ctx;
+                               continue;
+                       case FRAME_TYPE_INTERP_TO_MANAGED:
+                               continue;
+                       case FRAME_TYPE_INTERP:
+                       case FRAME_TYPE_MANAGED:
+                               break;
+                       default:
+                               g_assert_not_reached ();
+                               break;
                        }
+                       in_interp = frame.type == FRAME_TYPE_INTERP;
+                       ji = frame.ji;
                }
 
-               if (!unwind_res) {
-                       *(mono_get_lmf_addr ()) = lmf;
-
-                       jit_tls->abort_func (obj);
-                       g_assert_not_reached ();
-               }
+               if (in_interp)
+                       ip = (guint16*)ji->code_start + frame.native_offset;
+               else
+                       ip = MONO_CONTEXT_GET_IP (ctx);
 
                method = jinfo_get_method (ji);
                frame_count ++;
@@ -1910,7 +2033,7 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                        if (free_stack <= (64 * 1024))
                                continue;
 
-                       if (is_address_protected (ji, ei, MONO_CONTEXT_GET_IP (ctx))) {
+                       if (is_address_protected (ji, ei, ip)) {
                                /* catch block */
                                MonoClass *catch_class = get_exception_catch_class (ei, ji, ctx);
 
@@ -1993,7 +2116,27 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                                        mono_profiler_exception_clause_handler (method, ei->flags, i);
                                        jit_tls->orig_ex_ctx_set = FALSE;
                                        mini_set_abort_threshold (ctx);
-                                       MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
+
+                                       if (in_interp) {
+                                               /*
+                                                * ctx->pc points into the interpreter, after the call which transitioned to
+                                                * JITted code. Store the unwind state into the
+                                                * interpeter state, then resume, the interpreter will unwind itself until
+                                                * it reaches the target frame and will continue execution from there.
+                                                * The resuming is kinda hackish, from the native code standpoint, it looks
+                                                * like the call which transitioned to JITted code has succeeded, but the
+                                                * return value register etc. is not set, so we have to be careful.
+                                                */
+                                               mono_interp_set_resume_state (mono_ex, &frame, ei->handler_start);
+                                               /* Undo the IP adjustment done by mono_arch_unwind_frame () */
+#ifdef TARGET_AMD64
+                                               ctx->gregs [AMD64_RIP] ++;
+#else
+                                               NOT_IMPLEMENTED;
+#endif
+                                       } else {
+                                               MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
+                                       }
                                        mono_set_lmf (lmf);
 #ifndef DISABLE_PERFCOUNTERS
                                        mono_perfcounters->exceptions_depth += frame_count;
@@ -2045,7 +2188,10 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                                                return 0;
                                        } else {
                                                mini_set_abort_threshold (ctx);
-                                               call_filter (ctx, ei->handler_start);
+                                               if (in_interp)
+                                                       mono_interp_run_finally (&frame, i, ei->handler_start);
+                                               else
+                                                       call_filter (ctx, ei->handler_start);
                                        }
                                }
                        }
@@ -3251,3 +3397,31 @@ mono_debug_personality (void)
        g_assert_not_reached ();
 }
 #endif
+
+#ifndef ENABLE_INTERPRETER
+/* Stubs of interpreter functions */
+void
+mono_interp_set_resume_state (MonoException *ex, StackFrameInfo *frame, gpointer handler_ip)
+{
+       g_assert_not_reached ();
+}
+
+void
+mono_interp_run_finally (StackFrameInfo *frame, int clause_index, gpointer handler_ip)
+{
+       g_assert_not_reached ();
+}
+
+void
+mono_interp_frame_iter_init (MonoInterpStackIter *iter, gpointer interp_exit_data)
+{
+       g_assert_not_reached ();
+}
+
+gboolean
+mono_interp_frame_iter_next (MonoInterpStackIter *iter, StackFrameInfo *frame)
+{
+       g_assert_not_reached ();
+       return FALSE;
+}
+#endif
index 587d368a4186ce564c123e0969c783d24a0fe667..d7475aebd3aff13266a7d01c0419a0fb04b675b2 100644 (file)
@@ -1493,7 +1493,8 @@ mini_get_interp_in_wrapper (MonoMethodSignature *sig)
 
        mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_UNKNOWN);
 
-       // FIXME: save lmf
+       /* This is needed to be able to unwind out of interpreted code */
+       mb->method->save_lmf = 1;
 
 #ifndef DISABLE_JIT
        if (sig->ret->type != MONO_TYPE_VOID)
index 9efd7c34929b2b4f6766b183085e4852a9b83289..55275e0cade3f739c4a800bc1bda10f6e571f48a 100644 (file)
@@ -484,7 +484,11 @@ mono_tramp_info_register_internal (MonoTrampInfo *info, MonoDomain *domain, gboo
        if (!domain)
                domain = mono_get_root_domain ();
 
-       copy = g_new0 (MonoTrampInfo, 1);
+       if (domain)
+               copy = mono_domain_alloc0 (domain, sizeof (MonoTrampInfo));
+       else
+               copy = g_new0 (MonoTrampInfo, 1);
+
        copy->code = info->code;
        copy->code_size = info->code_size;
        copy->name = g_strdup (info->name);
@@ -498,10 +502,6 @@ mono_tramp_info_register_internal (MonoTrampInfo *info, MonoDomain *domain, gboo
                copy->uw_info_len = info->uw_info_len;
        }
 
-       mono_jit_lock ();
-       tramp_infos = g_slist_prepend (tramp_infos, copy);
-       mono_jit_unlock ();
-
        mono_save_trampoline_xdebug_info (info);
        mono_lldb_save_trampoline_info (info);
 
@@ -510,9 +510,15 @@ mono_tramp_info_register_internal (MonoTrampInfo *info, MonoDomain *domain, gboo
                mono_arch_unwindinfo_install_tramp_unwind_info (info->unwind_ops, info->code, info->code_size);
 #endif
 
-       /* Only register trampolines that have unwind infos */
-       if (mono_get_root_domain () && copy->uw_info)
+       if (!domain) {
+               /* If no root domain has been created yet, postpone the registration. */
+               mono_jit_lock ();
+               tramp_infos = g_slist_prepend (tramp_infos, copy);
+               mono_jit_unlock ();
+       } else if (copy->uw_info) {
+               /* Only register trampolines that have unwind infos */
                register_trampoline_jit_info (domain, copy);
+       }
 
        if (mono_jit_map_is_enabled ())
                mono_emit_jit_tramp (info->code, info->code_size, info->name);
@@ -791,6 +797,38 @@ mono_set_lmf_addr (gpointer lmf_addr)
                mono_thread_info_tls_set (info, TLS_KEY_LMF_ADDR, lmf_addr);
 }
 
+/*
+ * mono_push_lmf:
+ *
+ *   Push an MonoLMFExt frame on the LMF stack.
+ */
+void
+mono_push_lmf (MonoLMFExt *ext)
+{
+#ifdef MONO_ARCH_HAVE_INIT_LMF_EXT
+       MonoLMF **lmf_addr;
+
+       lmf_addr = mono_get_lmf_addr ();
+
+       mono_arch_init_lmf_ext (ext, *lmf_addr);
+
+       mono_set_lmf ((MonoLMF*)ext);
+#else
+       NOT_IMPLEMENTED;
+#endif
+}
+
+/*
+ * mono_push_lmf:
+ *
+ *   Pop the last frame from the LMF stack.
+ */
+void
+mono_pop_lmf (MonoLMF *lmf)
+{
+       mono_set_lmf ((MonoLMF *)(((gssize)lmf->previous_lmf) & ~3));
+}
+
 /*
  * mono_jit_thread_attach:
  *
@@ -3730,6 +3768,10 @@ mini_init (const char *filename, const char *runtime_version)
        }
 #endif
 
+#ifdef ENABLE_INTERPRETER
+       mono_interp_init ();
+#endif
+
        mono_os_mutex_init_recursive (&jit_mutex);
 
        mono_cross_helpers_run ();
index d23005d6b8bf865c841a063ba7a034d816b9e323..da2c219b42fca1b56013cb457208c78b55495f3c 100644 (file)
@@ -1216,7 +1216,10 @@ typedef struct {
 typedef struct {
        struct MonoLMF lmf;
        gboolean debugger_invoke;
+       gboolean interp_exit;
        MonoContext ctx; /* if debugger_invoke is TRUE */
+       /* If interp_exit is TRUE */
+       gpointer interp_exit_data;
 } MonoLMFExt;
 
 /* Generic sharing */
@@ -2435,6 +2438,8 @@ gpointer  mono_jit_compile_method_inner     (MonoMethod *method, MonoDomain *tar
 MonoLMF * mono_get_lmf                      (void);
 MonoLMF** mono_get_lmf_addr                 (void);
 void      mono_set_lmf                      (MonoLMF *lmf);
+void      mono_push_lmf                     (MonoLMFExt *ext);
+void      mono_pop_lmf                      (MonoLMF *lmf);
 MonoJitTlsData* mono_get_jit_tls            (void);
 MONO_API MonoDomain* mono_jit_thread_attach (MonoDomain *domain);
 MONO_API void      mono_jit_set_domain      (MonoDomain *domain);
@@ -3075,6 +3080,7 @@ MonoGenericContext* mini_class_get_context (MonoClass *klass);
 
 MonoType* mini_get_underlying_type (MonoType *type) MONO_LLVM_INTERNAL;
 MonoType* mini_type_get_underlying_type (MonoType *type);
+MonoClass* mini_get_class (MonoMethod *method, guint32 token, MonoGenericContext *context);
 MonoMethod* mini_get_shared_method (MonoMethod *method);
 MonoMethod* mini_get_shared_method_to_register (MonoMethod *method);
 MonoMethod* mini_get_shared_method_full (MonoMethod *method, gboolean all_vt, gboolean is_gsharedvt);
index be88673cb1848c545d422a8f63a902ca68d655a5..568589ebe2758600e2b68e95d7b813c3903bafa1 100644 (file)
@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Reflection;
 using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
+using System.Diagnostics;
 
 /*
  * Regression tests for the mixed-mode execution.
@@ -73,6 +74,16 @@ class InterpClass
                return i;
        }
 
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public static StackTrace get_stacktrace_interp () {
+               var o = new object ();
+               return new StackTrace (true);
+       }
+
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public static void throw_ex () {
+               JitClass.throw_ex ();
+       }
 }
 
 /* The methods in this class will always be JITted */
@@ -140,6 +151,16 @@ class JitClass
        public static void exit_byref (ref int i) {
                i += 1;
        }
+
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public static void throw_ex () {
+               throw new Exception ();
+       }
+
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public static StackTrace get_stacktrace_jit () {
+               return InterpClass.get_stacktrace_interp ();
+       }
 }
 
 #if __MOBILE__
@@ -179,4 +200,64 @@ class Tests
                        return 4;
                return 0;
        }
+
+       public static int test_0_throw () {
+               // Throw an exception from jitted code, catch it in interpreted code
+               try {
+                       JitClass.throw_ex ();
+               } catch {
+                       return 0;
+               }
+               return 1;
+       }
+
+       public static int test_0_throw_child () {
+               try {
+                       InterpClass.throw_ex ();
+               } catch {
+                       return 0;
+               }
+               return 1;
+       }
+
+       static bool finally_called;
+
+       public static void call_finally () {
+               try {
+                       JitClass.throw_ex ();
+               } finally {
+                       finally_called = true;
+               }
+       }
+
+       public static int test_0_eh2 () {
+               finally_called = false;
+
+               // Throw an exception from jitted code, execute finally in interpreted code
+               try {
+                       call_finally ();
+               } catch {
+                       return 0;
+               }
+               if (!finally_called)
+                       return 2;
+               return 1;
+       }
+
+       public static int test_0_stack_traces () {
+               //
+               // Get a stacktrace for an interp->jit->interp call stack
+               //
+               StackTrace st = JitClass.get_stacktrace_jit ();
+               var frame = st.GetFrame (0);
+               if (frame.GetMethod ().Name != "get_stacktrace_interp")
+                       return 1;
+               frame = st.GetFrame (1);
+               if (frame.GetMethod ().Name != "get_stacktrace_jit")
+                       return 2;
+               frame = st.GetFrame (2);
+               if (frame.GetMethod ().Name != "test_0_stack_traces")
+                       return 3;
+               return 0;
+       }
 }
\ No newline at end of file
index d8a7edd6dd8483d3628e9f99d80ab45bed0d35d6..8d0cf336b8c96281d5670973cad0a1133cccb9fe 100644 (file)
@@ -1035,6 +1035,19 @@ class Tests {
                return 0;
        }
 
+       static Nullable<bool> s_nullb;
+       static AStruct s_struct1;
+
+       /* test if VES uses correct sizes for value type write to static field */
+       public static int test_0_static_nullable_bool () {
+               s_struct1 = new AStruct (0x1337dead);
+               s_nullb = true;
+               /* make sure that the write to s_nullb didn't smash the value after it */
+               if (s_struct1.i != 0x1337dead)
+                       return 2;
+               return 0;
+       }
+
        public static int test_71_long_shift_right () {
                ulong value = 38654838087;
                int x = 0;
index b394b545d607d7efea9d87e93f923aeced13d43c..846c04c550f7571bc537367fd0908c6a0c2231d8 100644 (file)
@@ -2165,6 +2165,19 @@ emit_vector_intrinsics (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignatu
        return NULL;
 }
 
+static MonoInst*
+emit_vector_is_hardware_accelerated_intrinsic (MonoCompile *cfg)
+{
+       MonoInst *ins;
+
+       if (simd_supported_versions)
+               EMIT_NEW_ICONST (cfg, ins, 1);
+       else
+               EMIT_NEW_ICONST (cfg, ins, 0);
+       ins->type = STACK_I4;
+       return ins;
+}
+
 /* These should be ordered by name */
 static const SimdIntrinsic vector_t_intrinsics[] = {
        { SN_ctor },
@@ -2447,20 +2460,9 @@ emit_sys_numerics_intrinsics (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodS
        if (!strcmp ("Vector2", class_name) || !strcmp ("Vector4", class_name) || !strcmp ("Vector3", class_name))
                return emit_vector_intrinsics (cfg, cmethod, fsig, args);
 
-       if (!strcmp ("Vector`1", class_name))
-               return emit_vector_t_intrinsics (cfg, cmethod, fsig, args);
-
        if (!strcmp ("System.Numerics", nspace) && !strcmp ("Vector", class_name)) {
-               if (!strcmp (cmethod->name, "get_IsHardwareAccelerated")) {
-                       MonoInst *ins;
-
-                       if (simd_supported_versions)
-                               EMIT_NEW_ICONST (cfg, ins, 1);
-                       else
-                               EMIT_NEW_ICONST (cfg, ins, 0);
-                       ins->type = STACK_I4;
-                       return ins;
-               }
+               if (!strcmp (cmethod->name, "get_IsHardwareAccelerated"))
+                       return emit_vector_is_hardware_accelerated_intrinsic (cfg);
        }
 
        return NULL;
@@ -2469,10 +2471,17 @@ emit_sys_numerics_intrinsics (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodS
 static MonoInst*
 emit_sys_numerics_vectors_intrinsics (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsig, MonoInst **args)
 {
+       const char *nspace = cmethod->klass->name_space;
        const char *class_name = cmethod->klass->name;
 
        if (!strcmp (class_name, "Vector`1"))
                return emit_vector_t_intrinsics (cfg, cmethod, fsig, args);
+
+       if (!strcmp ("System.Numerics", nspace) && !strcmp ("Vector", class_name)) {
+               if (!strcmp (cmethod->name, "get_IsHardwareAccelerated"))
+                       return emit_vector_is_hardware_accelerated_intrinsic (cfg);
+       }
+
        return NULL;
 }
 
index 20ecc4e5f2f3e4ab146bd772f8bfabe80cde69b2..6f6a45e8b1a9978e8f97ec208bb4b56dde0f519c 100644 (file)
@@ -241,7 +241,7 @@ sgen_alloc_obj_nolock (GCVTable vtable, size_t size)
                                                p = (void **)sgen_nursery_alloc (size);
                                }
                                if (!p)
-                                       return alloc_degraded (vtable, size, FALSE);
+                                       return alloc_degraded (vtable, size, TRUE);
 
                                zero_tlab_if_necessary (p, size);
                        } else {
@@ -258,7 +258,7 @@ sgen_alloc_obj_nolock (GCVTable vtable, size_t size)
                                                p = (void **)sgen_nursery_alloc_range (tlab_size, size, &alloc_size);
                                }
                                if (!p)
-                                       return alloc_degraded (vtable, size, FALSE);
+                                       return alloc_degraded (vtable, size, TRUE);
 
                                /* Allocate a new TLAB from the current nursery fragment */
                                TLAB_START = (char*)p;
index abdbce8bd9d002dfed0fa40056d3adaf5507e3c1..f8946b03be7cbd909b4c31d8b448741bcf8a01b3 100644 (file)
@@ -1046,21 +1046,9 @@ INTERP_DISABLED_TESTS = \
        call_missing_method.exe \
        calliGenericTest.exe \
        cominterop.exe \
-       constant-division.exe \
-       context-static.exe \
        cross-domain.exe \
-       delegate-async-exit.exe \
-       delegate-delegate-exit.exe \
-       delegate-exit.exe \
        delegate-with-null-target.exe \
-       delegate1.exe \
-       delegate3.exe \
-       delegate5.exe \
-       delegate8.exe \
        delegate9.exe \
-       dynamic-method-access.2.exe \
-       dynamic-method-finalize.2.exe \
-       dynamic-method-resurrection.exe \
        dynamic-method-stack-traces.exe \
        even-odd.exe \
        exception18.exe \
index 4662ff6fa8054d9a7b634f068a86550f53df88de..389616e4088c0929a40d3abbf37bb2515f18094c 100644 (file)
@@ -33,7 +33,7 @@ namespace WeakReferenceTest
        }
 
        public class Tester {
-               static readonly int seed = unchecked(DateTime.Now.Ticks.GetHashCode());
+               public static readonly int seed = unchecked(DateTime.Now.Ticks.GetHashCode());
 
                Random rand = new Random(seed);
 
@@ -88,6 +88,7 @@ namespace WeakReferenceTest
                public static void Main (string[] args)
                {
                        Console.WriteLine("Starting cache testers");
+                       Console.WriteLine("Thread seed: " + Tester.seed);
                        List<Tester> testers = new List<Tester>();
                        for (int count = 0; count < 10; count++) {
                                testers.Add(new Tester());
index d65b359ce5d46194ebf72adb7eb5163027245362..1a4e30a68f3ed7cd3d522643eeb9c4ba993ad204 100644 (file)
@@ -23,7 +23,8 @@ RUNTIME= $(top_builddir)/runtime/mono-wrapper
 TEST_RUNTIME = MONO_PATH=$(CLASS) $(RUNTIME)
 TOOLS_RUNTIME= MONO_PATH=$(mcs_topdir)/class/lib/build $(RUNTIME)
 
-TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME)
+# These tests are testing strict assembly strong-name resolution
+TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME) --runtime-args "--assembly-loader=strict"
 
 if HOST_WIN32
 TEST_RUNNER_ARGS=--runtime $(if $(MONO_EXECUTABLE),$(shell cygpath -w -a $(MONO_EXECUTABLE) | sed 's/\\/\\\\/g'),mono)
index 2f83c8357d5281cba7d9699683d10907425241d0..f7bc6187d56e0d744f1f5fb0a416a6474bf7d0e1 100644 (file)
@@ -541,20 +541,30 @@ mono_error_set_not_verifiable (MonoError *oerror, MonoMethod *method, const char
 }
 
 
+/* Used by mono_error_prepare_exception - it sets its own error on mono_string_new_checked failure. */
+static MonoString*
+string_new_cleanup (MonoDomain *domain, const char *text)
+{
+       MonoError ignored_err;
+       MonoString *result = mono_string_new_checked (domain, text, &ignored_err);
+       mono_error_cleanup (&ignored_err);
+       return result;
+}
+
 static MonoString*
 get_type_name_as_mono_string (MonoErrorInternal *error, MonoDomain *domain, MonoError *error_out)
 {
        MonoString* res = NULL;
 
        if (error->type_name) {
-               res = mono_string_new (domain, error->type_name);
+               res = string_new_cleanup (domain, error->type_name);
                
        } else {
                MonoClass *klass = get_class (error);
                if (klass) {
                        char *name = mono_type_full_name (&klass->byval_arg);
                        if (name) {
-                               res = mono_string_new (domain, name);
+                               res = string_new_cleanup (domain, name);
                                g_free (name);
                        }
                }
@@ -567,7 +577,7 @@ get_type_name_as_mono_string (MonoErrorInternal *error, MonoDomain *domain, Mono
 static void
 set_message_on_exception (MonoException *exception, MonoErrorInternal *error, MonoError *error_out)
 {
-       MonoString *msg = mono_string_new (mono_domain_get (), error->full_message);
+       MonoString *msg = string_new_cleanup (mono_domain_get (), error->full_message);
        if (msg)
                MONO_OBJECT_SETREF (exception, message, msg);
        else
@@ -596,7 +606,7 @@ mono_error_prepare_exception (MonoError *oerror, MonoError *error_out)
                        if (!mono_error_ok (error_out))
                                break;
 
-                       method_name = mono_string_new (domain, error->member_name);
+                       method_name = string_new_cleanup (domain, error->member_name);
                        if (!method_name) {
                                mono_error_set_out_of_memory (error_out, "Could not allocate method name");
                                break;
@@ -616,7 +626,7 @@ mono_error_prepare_exception (MonoError *oerror, MonoError *error_out)
                        if (!mono_error_ok (error_out))
                                break;
                        
-                       field_name = mono_string_new (domain, error->member_name);
+                       field_name = string_new_cleanup (domain, error->member_name);
                        if (!field_name) {
                                mono_error_set_out_of_memory (error_out, "Could not allocate field name");
                                break;
@@ -637,11 +647,13 @@ mono_error_prepare_exception (MonoError *oerror, MonoError *error_out)
                                break;
 
                        if (error->assembly_name) {
-                               assembly_name = mono_string_new (domain, error->assembly_name);
+                               assembly_name = string_new_cleanup (domain, error->assembly_name);
                                if (!assembly_name) {
                                        mono_error_set_out_of_memory (error_out, "Could not allocate assembly name");
                                        break;
                                }
+                       } else {
+                               assembly_name = mono_string_empty (domain);
                        }
 
                        exception = mono_exception_from_name_two_strings_checked (mono_get_corlib (), "System", "TypeLoadException", type_name, assembly_name, error_out);
@@ -655,14 +667,14 @@ mono_error_prepare_exception (MonoError *oerror, MonoError *error_out)
        case MONO_ERROR_FILE_NOT_FOUND:
        case MONO_ERROR_BAD_IMAGE:
                if (error->assembly_name) {
-                       msg = mono_string_new (domain, error->full_message);
+                       msg = string_new_cleanup (domain, error->full_message);
                        if (!msg) {
                                mono_error_set_out_of_memory (error_out, "Could not allocate message");
                                break;
                        }
 
                        if (error->assembly_name) {
-                               assembly_name = mono_string_new (domain, error->assembly_name);
+                               assembly_name = string_new_cleanup (domain, error->assembly_name);
                                if (!assembly_name) {
                                        mono_error_set_out_of_memory (error_out, "Could not allocate assembly name");
                                        break;
index 8a6e1aa244efbc20e1570c5a49e600ee4073abd8..82f6127a8a67023cbee08f2ed67bacb081f0b2e5 100644 (file)
@@ -22,7 +22,11 @@ typedef enum {
        /* Frame for transitioning to native code */
        FRAME_TYPE_MANAGED_TO_NATIVE = 2,
        FRAME_TYPE_TRAMPOLINE = 3,
-       FRAME_TYPE_NUM = 4
+       /* Interpreter frame */
+       FRAME_TYPE_INTERP = 4,
+       /* Frame for transitioning from interpreter to managed code */
+       FRAME_TYPE_INTERP_TO_MANAGED = 5,
+       FRAME_TYPE_NUM = 6
 } MonoStackFrameType;
 
 typedef enum {
@@ -74,6 +78,12 @@ typedef struct {
         */
        int il_offset;
 
+       /* For FRAME_TYPE_INTERP_EXIT */
+       gpointer interp_exit_data;
+
+       /* For FRAME_TYPE_INTERP */
+       gpointer interp_frame;
+
        /* The next fields are only useful for the jit */
        gpointer lmf;
        guint32 unwind_info_len;
diff --git a/msvc/eglib-common.targets b/msvc/eglib-common.targets
new file mode 100644 (file)
index 0000000..0b72e5a
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\garray.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gbytearray.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gerror.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\ghashtable.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\giconv.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\glist.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmarkup.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmem.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\goutput.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gpattern.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gptrarray.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gqsort.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gqueue.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gshell.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gslist.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gspawn.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gstr.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gstring.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gunicode.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gutf8.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\glib.h" />
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\gmodule.h" />
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\sort.frag.h" />
+  </ItemGroup>
+</Project>
diff --git a/msvc/eglib-common.targets.filters b/msvc/eglib-common.targets.filters
new file mode 100644 (file)
index 0000000..92996f7
--- /dev/null
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\garray.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gbytearray.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gerror.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\ghashtable.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\giconv.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\glist.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmarkup.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmem.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\goutput.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gpattern.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gptrarray.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gqsort.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gqueue.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gshell.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gslist.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gspawn.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gstr.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gstring.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gunicode.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gutf8.c">
+      <Filter>Source Files\Common</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\glib.h">
+      <Filter>Header Files\Common</Filter>
+    </ClInclude>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\gmodule.h">
+      <Filter>Header Files\Common</Filter>
+    </ClInclude>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\sort.frag.h">
+      <Filter>Header Files\Common</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
diff --git a/msvc/eglib-posix.targets b/msvc/eglib-posix.targets
new file mode 100644 (file)
index 0000000..ab3165e
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile-posix.c" />
+  </ItemGroup>
+</Project>
diff --git a/msvc/eglib-posix.targets.filters b/msvc/eglib-posix.targets.filters
new file mode 100644 (file)
index 0000000..a714ed8
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile-posix.c">
+      <Filter>Source Files\Posix</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/msvc/eglib-win32.targets b/msvc/eglib-win32.targets
new file mode 100644 (file)
index 0000000..b95abe3
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gdate-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gdir-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmisc-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmodule-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gpath.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gtimer-win32.c" />
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gunicode-win32.c" />
+   </ItemGroup>
+   <ItemGroup>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\gmodule-win32-internals.h" />
+  </ItemGroup>
+</Project>
diff --git a/msvc/eglib-win32.targets.filters b/msvc/eglib-win32.targets.filters
new file mode 100644 (file)
index 0000000..6993979
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gdate-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gdir-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gfile-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmisc-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gmodule-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gpath.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gtimer-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+    <ClCompile Include="$(MonoSourceLocation)\eglib\src\gunicode-win32.c">
+      <Filter>Source Files\Win32</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(MonoSourceLocation)\eglib\src\gmodule-win32-internals.h">
+      <Filter>Header Files\Win32</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
index 98a8849ab35efb07f61a8c00374ca6cdce77dbe9..5e482d86b453ce5568d8cb1a00e6d7f0aa334819 100644 (file)
       <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>\r
     </ClCompile>\r
   </ItemDefinitionGroup>\r
-  <ItemGroup>\r
-    <ClCompile Include="..\eglib\src\garray.c" />\r
-    <ClCompile Include="..\eglib\src\gbytearray.c" />\r
-    <ClCompile Include="..\eglib\src\gdate-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gdir-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gerror.c" />\r
-    <ClCompile Include="..\eglib\src\gfile-posix.c" />\r
-    <ClCompile Include="..\eglib\src\gfile-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gfile.c" />\r
-    <ClCompile Include="..\eglib\src\ghashtable.c" />\r
-    <ClCompile Include="..\eglib\src\giconv.c" />\r
-    <ClCompile Include="..\eglib\src\glist.c" />\r
-    <ClCompile Include="..\eglib\src\gmarkup.c" />\r
-    <ClCompile Include="..\eglib\src\gmem.c" />\r
-    <ClCompile Include="..\eglib\src\gmisc-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gmodule-win32.c" />\r
-    <ClCompile Include="..\eglib\src\goutput.c" />\r
-    <ClCompile Include="..\eglib\src\gpath.c" />\r
-    <ClCompile Include="..\eglib\src\gpattern.c" />\r
-    <ClCompile Include="..\eglib\src\gptrarray.c" />\r
-    <ClCompile Include="..\eglib\src\gqsort.c" />\r
-    <ClCompile Include="..\eglib\src\gqueue.c" />\r
-    <ClCompile Include="..\eglib\src\gshell.c" />\r
-    <ClCompile Include="..\eglib\src\gslist.c" />\r
-    <ClCompile Include="..\eglib\src\gspawn.c" />\r
-    <ClCompile Include="..\eglib\src\gstr.c" />\r
-    <ClCompile Include="..\eglib\src\gstring.c" />\r
-    <ClCompile Include="..\eglib\src\gtimer-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gunicode-win32.c" />\r
-    <ClCompile Include="..\eglib\src\gunicode.c" />\r
-    <ClCompile Include="..\eglib\src\gutf8.c" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ClInclude Include="..\eglib\src\glib.h" />\r
-    <ClInclude Include="..\eglib\src\gmodule-win32-internals.h" />\r
-    <ClInclude Include="..\eglib\src\gmodule.h" />\r
-    <ClInclude Include="..\eglib\src\sort.frag.h" />\r
-  </ItemGroup>\r
+  <Import Project="eglib-common.targets" />\r
+  <Import Project="eglib-win32.targets" />\r
+  <Import Project="eglib-posix.targets" />\r
   <ItemGroup>\r
     <ProjectReference Include="build-init.vcxproj">\r
       <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
index f49e42ae1598c84abe46799a2e66114c1017bfa9..3805150c83aa69aa8905f6b7ed230f483bffce8b 100644 (file)
@@ -1,111 +1,8 @@
 ï»¿<?xml version="1.0" encoding="utf-8"?>\r
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <ItemGroup>\r
-    <ClCompile Include="..\eglib\src\garray.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gbytearray.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gdate-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gdir-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gerror.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gfile.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gfile-posix.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gfile-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\ghashtable.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\giconv.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\glist.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gmarkup.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gmem.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gmisc-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gqueue.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gmodule-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\goutput.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gpath.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gpattern.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gptrarray.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gqsort.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gshell.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gslist.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gspawn.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gstr.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gstring.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gtimer-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gunicode.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gutf8.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="..\eglib\src\gunicode-win32.c">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <ClInclude Include="..\eglib\src\glib.h">\r
-      <Filter>Header Files</Filter>\r
-    </ClInclude>\r
-    <ClInclude Include="..\eglib\src\gmodule.h">\r
-      <Filter>Header Files</Filter>\r
-    </ClInclude>\r
-    <ClInclude Include="..\eglib\src\sort.frag.h">\r
-      <Filter>Header Files</Filter>\r
-    </ClInclude>\r
-    <ClInclude Include="..\eglib\src\gmodule-win32-internals.h">\r
-      <Filter>Header Files</Filter>\r
-    </ClInclude>\r
-  </ItemGroup>\r
+  <Import Project="eglib-common.targets.filters" />\r
+  <Import Project="eglib-win32.targets.filters" />\r
+  <Import Project="eglib-posix.targets.filters" />\r
   <ItemGroup>\r
     <Filter Include="Source Files">\r
       <UniqueIdentifier>{d16b81e3-5093-424e-a5d4-e7dd8da49dce}</UniqueIdentifier>\r
     <Filter Include="Resource Files">\r
       <UniqueIdentifier>{38a39ff1-842b-431b-b54b-24094e8283eb}</UniqueIdentifier>\r
     </Filter>\r
+    <Filter Include="Header Files\Common">\r
+      <UniqueIdentifier>{04853f35-873a-4b07-990a-61dc8ebd5105}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="Header Files\Win32">\r
+      <UniqueIdentifier>{80953075-5d05-41b9-be90-82497081b11c}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="Source Files\Common">\r
+      <UniqueIdentifier>{7a01f670-6a6a-4837-b3ac-cd6c08075b4e}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="Source Files\Win32">\r
+      <UniqueIdentifier>{c6e3ed6c-6b52-4823-bc4f-2dc9f84e3f5d}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="Source Files\Posix">\r
+      <UniqueIdentifier>{3c958a68-b6a1-40d3-834c-b50be09cb819}</UniqueIdentifier>\r
+    </Filter>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\eglib\src\Makefile.am">\r
       <Filter>Resource Files</Filter>\r
     </None>\r
   </ItemGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
index abc81a55abd8fb65449c0a008f6696c2feeab76e..4ef38268b18d2fc5bf3e3750c79722c0fcbcaf17 100644 (file)
@@ -17,7 +17,8 @@
     <MONO_USE_STATIC_LIBMONO>false</MONO_USE_STATIC_LIBMONO>
   </PropertyGroup>
   <PropertyGroup Label="MonoDirectories">
-    <top_srcdir>$(MSBuildProjectDirectory)/..</top_srcdir>
+    <MonoSourceLocation Condition="'$(MonoSourceLocation)' == '' ">..</MonoSourceLocation>
+    <top_srcdir>$(MSBuildProjectDirectory)/$(MonoSourceLocation)</top_srcdir>
     <MONO_DIR>$(top_srcdir)</MONO_DIR>
     <MONO_INCLUDE_DIR>$(MONO_DIR)/mono</MONO_INCLUDE_DIR>
     <MONO_EGLIB_INCLUDE_DIR>$(MONO_DIR)/eglib;$(MONO_DIR)/eglib/include;$(MONO_DIR)/eglib/test</MONO_EGLIB_INCLUDE_DIR>
       <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)/lib/$(Configuration)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
-</Project>
\ No newline at end of file
+</Project>
index ce84691e7a27429f82265f37a3b409cb89556bf4..be784b6c9cfd5769c98faf8a14517d7e9b21c7c9 100644 (file)
       <resources></resources>
       <response>System.Xml.Linq.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.InteropServices.RuntimeInformation" library="System.Runtime.InteropServices.RuntimeInformation-basic">
-      <boot>true</boot>
-      <flags>/codepage:65001 /nologo /noconfig -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib -r:./../../class/lib/basic/mscorlib.dll -optimize -r:./../../class/lib/basic/System.dll</flags>
-      <output>System.Runtime.InteropServices.RuntimeInformation.dll</output>
-      <built_sources></built_sources>
-      <library_output>./../../class/lib/basic/System.Runtime.InteropServices.RuntimeInformation.dll</library_output>
-      <fx_version>4.0</fx_version>
-      <profile>basic</profile>
-      <resources></resources>
-      <response>System.Runtime.InteropServices.RuntimeInformation.dll.sources</response>
-    </project>
     <project dir="class/Mono.Cecil" library="Mono.Cecil-basic">
       <boot>true</boot>
       <flags>/codepage:65001 /nologo /noconfig -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib -r:./../../class/lib/basic/mscorlib.dll -optimize -keyfile:../mono.snk -d:NET_4_0 /publicsign -r:./../../class/lib/basic/System.Core.dll -r:./../../class/lib/basic/System.dll</flags>
       <resources></resources>
       <response>System.Xml.Linq.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.InteropServices.RuntimeInformation" library="System.Runtime.InteropServices.RuntimeInformation-build">
-      <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize -r:./../../class/lib/build/System.dll</flags>
-      <output>System.Runtime.InteropServices.RuntimeInformation.dll</output>
-      <built_sources></built_sources>
-      <library_output>./../../class/lib/build/System.Runtime.InteropServices.RuntimeInformation.dll</library_output>
-      <fx_version>4.5</fx_version>
-      <profile>build</profile>
-      <resources></resources>
-      <response>System.Runtime.InteropServices.RuntimeInformation.dll.sources</response>
-    </project>
     <project dir="class/System.IO.Compression" library="System.IO.Compression-build">
       <boot>false</boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize -r:./../../class/lib/build/System.dll</flags>
       <resources></resources>
       <response>System.Text.Encoding.CodePages.dll.sources</response>
     </project>
+    <project dir="class/Facades/System.Text.RegularExpressions" library="Facades_System.Text.RegularExpressions-build">
+      <boot>false</boot>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/build/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/build/System.dll</flags>
+      <output>System.Text.RegularExpressions.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/build/Facades/System.Text.RegularExpressions.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>build</profile>
+      <resources></resources>
+      <response>System.Text.RegularExpressions.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.Contracts" library="Facades_System.Diagnostics.Contracts-build">
+      <boot>false</boot>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/build/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <output>System.Diagnostics.Contracts.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/build/Facades/System.Diagnostics.Contracts.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>build</profile>
+      <resources></resources>
+      <response>System.Diagnostics.Contracts.dll.sources</response>
+    </project>
     <project dir="tools/resgen" library="resgen-build">
       <boot></boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize -r:System -r:System.Xml -r:System.Core -r:System.Drawing</flags>
       <resources></resources>
       <response>commoncryptogenerator.exe.sources</response>
     </project>
+    <project dir="tools/resx2sr" library="resx2sr-build">
+      <boot></boot>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize -r:System -r:System.Drawing -r:System.Xml</flags>
+      <output>resx2sr.exe</output>
+      <built_sources></built_sources>
+      <library_output>./../../class/lib/build/resx2sr.exe</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>build</profile>
+      <resources></resources>
+      <response>resx2sr.exe.sources</response>
+    </project>
     <project dir="ilasm" library="ilasm-build">
       <boot></boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../class/lib/build/mscorlib.dll -optimize -r:PEAPI -r:Mono.CompilerServices.SymbolWriter -r:Mono.Security</flags>
       <resources>System.Web.Http.WebHost.Properties.CommonWebApiResources,../../../external/aspnetwebstack/src/Common/CommonWebApiResources.resx System.Web.Http.WebHost.Properties.SRResources,../../../external/aspnetwebstack/src/System.Web.Http.WebHost/Properties/SRResources.resx</resources>
       <response>System.Web.Http.WebHost.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.InteropServices.RuntimeInformation" library="System.Runtime.InteropServices.RuntimeInformation-net_4_x">
-      <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
-      <output>System.Runtime.InteropServices.RuntimeInformation.dll</output>
-      <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_x/System.Runtime.InteropServices.RuntimeInformation.dll</library_output>
-      <fx_version>4.5</fx_version>
-      <profile>net_4_x</profile>
-      <resources></resources>
-      <response>System.Runtime.InteropServices.RuntimeInformation.dll.sources</response>
-    </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-net_4_x">
       <boot>false</boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <resources></resources>
       <response>System.Xml.XPath.XDocument.dll.sources</response>
     </project>
+    <project dir="class/Facades/System.Runtime.InteropServices.RuntimeInformation" library="Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /unsafe -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <output>System.Runtime.InteropServices.RuntimeInformation.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.RuntimeInformation.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <resources></resources>
+      <response>System.Runtime.InteropServices.RuntimeInformation.dll.sources</response>
+    </project>
     <project dir="class/Facades/System.Drawing.Primitives" library="Facades_System.Drawing.Primitives-net_4_x">
       <boot>false</boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
     </project>
     <project dir="class/Facades/netstandard" library="Facades_netstandard-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../Open.snk /nowarn:1616,1699 /nowarn:618 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.Numerics.dll -r:./../../../class/lib/net_4_x/System.Numerics.Vectors.dll -r:./../../../class/lib/net_4_x/System.Net.Http.dll -r:./../../../class/lib/net_4_x/System.Transactions.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll -r:./../../../class/lib/net_4_x/System.Runtime.InteropServices.RuntimeInformation.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Algorithms.dll -r:./../../../class/lib/net_4_x/Facades/System.Globalization.Extensions.dll -r:./../../../class/lib/net_4_x/Facades/System.Data.Common.dll -r:./../../../class/lib/net_4_x/Facades/System.Diagnostics.StackTrace.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.SecureString.dll -r:./../../../class/lib/net_4_x/Facades/System.Threading.Overlapped.dll -r:./../../../class/lib/net_4_x/Facades/System.Xml.XPath.XDocument.dll -r:./../../../class/lib/net_4_x/System.Web.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../Open.snk /nowarn:1616,1699 /nowarn:618 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.Numerics.dll -r:./../../../class/lib/net_4_x/System.Numerics.Vectors.dll -r:./../../../class/lib/net_4_x/System.Net.Http.dll -r:./../../../class/lib/net_4_x/System.Transactions.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.RuntimeInformation.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Algorithms.dll -r:./../../../class/lib/net_4_x/Facades/System.Globalization.Extensions.dll -r:./../../../class/lib/net_4_x/Facades/System.Data.Common.dll -r:./../../../class/lib/net_4_x/Facades/System.Diagnostics.StackTrace.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.SecureString.dll -r:./../../../class/lib/net_4_x/Facades/System.Threading.Overlapped.dll -r:./../../../class/lib/net_4_x/Facades/System.Xml.XPath.XDocument.dll -r:./../../../class/lib/net_4_x/System.Web.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
       <output>netstandard.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/netstandard.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Tracing" library="Facades_System.Diagnostics.Tracing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Diagnostics.Tracing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Tracing.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Sockets" library="Facades_System.Net.Sockets-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Sockets.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Sockets.dll</library_output>
       <resources></resources>
       <response>commoncryptogenerator.exe.sources</response>
     </project>
+    <project dir="tools/resx2sr" library="resx2sr-net_4_x">
+      <boot></boot>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Drawing -r:System.Xml</flags>
+      <output>resx2sr.exe</output>
+      <built_sources></built_sources>
+      <library_output>./../../class/lib/net_4_x/resx2sr.exe</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <resources></resources>
+      <response>resx2sr.exe.sources</response>
+    </project>
     <project dir="tools/al" library="al-net_4_x">
       <boot></boot>
       <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:Mono.Security -r:System.Security -r:Mono.CompilerServices.SymbolWriter</flags>
index 7355b5bcf6f9ce983e5b56a92a5a203d26d1969e..9122ba00a96db0f1f351eef841acc39c1c8de562 100644 (file)
@@ -175,8 +175,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.SelfHost-ne
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.WebHost-net_4_x", "mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj", "{2AF7E697-07BA-439E-89BF-076AEE4AE04C}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.InteropServices.RuntimeInformation-net_4_x", "mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj", "{1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Framework-net_4_x", "mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj", "{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Utilities-net_4_x", "mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj", "{8E5728E0-CEAF-431F-963E-EB1DEE15C506}"
@@ -327,6 +325,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Ov
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XPath.XDocument-net_4_x", "mcs/class/Facades/System.Xml.XPath.XDocument/Facades_System.Xml.XPath.XDocument-net_4_x.csproj", "{38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x", "mcs/class/Facades/System.Runtime.InteropServices.RuntimeInformation/Facades_System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj", "{71D02788-3AD8-4C43-BDEB-1A3D277496BA}"
+EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Drawing.Primitives-net_4_x", "mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives-net_4_x.csproj", "{1AFDB281-5FB8-48A9-8694-7F515D835862}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_netstandard-net_4_x", "mcs/class/Facades/netstandard/Facades_netstandard-net_4_x.csproj", "{ECE97482-6E06-424A-8E60-46C5B1CCB47C}"
@@ -589,6 +589,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cil-stringreplacer-net_4_x"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "commoncryptogenerator-net_4_x", "mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj", "{12527E95-60D3-4A66-91C6-7F8031519299}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "resx2sr-net_4_x", "mcs/tools/resx2sr/resx2sr-net_4_x.csproj", "{07D30676-A919-4763-8C3C-B2C4DAFFC662}"
+EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "al-net_4_x", "mcs/tools/al/al-net_4_x.csproj", "{D237CE6E-EA8F-4E8E-8413-295B27714AC6}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monolinker-net_4_x", "mcs/tools/linker/monolinker-net_4_x.csproj", "{FA920637-C202-4E75-AC0F-1A8DBD631DF1}"
@@ -1031,10 +1033,6 @@ Global
                {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1E1BC1A8-EAD2-496C-A6D6-8AFABD741F56}.Release|Any CPU.Build.0 = Release|Any CPU
                {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -1335,6 +1333,10 @@ Global
                {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {71D02788-3AD8-4C43-BDEB-1A3D277496BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {71D02788-3AD8-4C43-BDEB-1A3D277496BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {71D02788-3AD8-4C43-BDEB-1A3D277496BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {71D02788-3AD8-4C43-BDEB-1A3D277496BA}.Release|Any CPU.Build.0 = Release|Any CPU
                {1AFDB281-5FB8-48A9-8694-7F515D835862}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {1AFDB281-5FB8-48A9-8694-7F515D835862}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {1AFDB281-5FB8-48A9-8694-7F515D835862}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -1859,6 +1861,10 @@ Global
                {12527E95-60D3-4A66-91C6-7F8031519299}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {12527E95-60D3-4A66-91C6-7F8031519299}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {12527E95-60D3-4A66-91C6-7F8031519299}.Release|Any CPU.Build.0 = Release|Any CPU
+               {07D30676-A919-4763-8C3C-B2C4DAFFC662}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {07D30676-A919-4763-8C3C-B2C4DAFFC662}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {07D30676-A919-4763-8C3C-B2C4DAFFC662}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {07D30676-A919-4763-8C3C-B2C4DAFFC662}.Release|Any CPU.Build.0 = Release|Any CPU
                {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
index a5af6000994f25b954a24b20febb79356cf551b0..d7e9be7716900487738c36d19e5879a6af1d057b 100644 (file)
@@ -1,14 +1,24 @@
 class FsharpPackage(GitHubTarballPackage):
 
     def __init__(self):
-        GitHubTarballPackage.__init__(self,
-                                      'fsharp', 'fsharp',
-                                      '4.0.1.20',
-                                      '9bd7c2420e06c1597ef5a37b6cb6e0f8d2911b10',
-                                      configure='./configure --prefix="%{package_prefix}"')
+        GitHubTarballPackage.__init__(
+            self,
+            'fsharp',
+            'fsharp',
+            '4.1.8',
+            '991186f6c95b30a80f217b9319354b32c86212de',
+            configure='./configure --prefix="%{package_prefix}"',
+            override_properties={
+                'make': 'make'})
 
         self.extra_stage_files = [
             'lib/mono/xbuild/Microsoft/VisualStudio/v/FSharp/Microsoft.FSharp.Targets']
+        self.sources.extend(
+            [
+                'patches/fsharp-enable-jit-tracking-for-portable-pdb.patch',
+                'patches/fsharp-fix-mdb-support.patch',
+                'patches/fsharp-Fix-mono-gac-location.patch',
+                'patches/fsharp-fix-xbuild-check.patch'])
 
     def prep(self):
         Package.prep(self)
index 3d123952f35168d771fbe222f1d111cc5efd1757..09cacd29d87d14ce5699c848d135a41e8585394c 100644 (file)
@@ -1,57 +1,14 @@
 import fileinput
 
-
 class MSBuild (GitHubPackage):
+       def __init__ (self):
+               GitHubPackage.__init__ (self, 'mono', 'msbuild', '15.0',
+                       git_branch = 'xplat-master')
 
-    def __init__(self):
-        GitHubPackage.__init__(self, 'mono', 'msbuild', '15.0',
-                               git_branch='xplat-master')
-
-    def build(self):
-        self.sh('./cibuild.sh --scope Compile --target Mono --host Mono')
-
-    def install(self):
-        # adjusted from 'install-mono-prefix.sh'
-
-        build_output = 'bin/Debug-MONO/OSX_Deployment'
-        new_location = os.path.join(
-            self.staged_prefix,
-            'lib/mono/msbuild/%s/bin' %
-            self.version)
-        bindir = os.path.join(self.staged_prefix, 'bin')
-
-        os.makedirs(new_location)
-        self.sh('cp -R %s/* %s' % (build_output, new_location))
-
-        os.makedirs(bindir)
-
-        self.sh('cp msbuild-mono-deploy.in %s/msbuild' % bindir)
-
-        xbuild_dir = os.path.join(self.staged_prefix, 'lib/mono/xbuild')
-        new_xbuild_tv_dir = os.path.join(xbuild_dir, self.version)
-        os.makedirs(new_xbuild_tv_dir)
-
-        self.sh('mv %s/Microsoft.Common.props %s' %
-                (new_location, new_xbuild_tv_dir))
-        self.sh('cp -R nuget-support/tv/ %s' % new_xbuild_tv_dir)
-        self.sh('cp -R nuget-support/tasks-targets/ %s/' % xbuild_dir)
-        for dep in glob.glob("%s/Microsoft/NuGet/*" % xbuild_dir):
-            self.sh('ln -s %s %s' % (dep, xbuild_dir))
-
-        for line in fileinput.input('%s/msbuild' % bindir, inplace=True):
-            line = line.replace('@bindir@', '%s/bin' % self.staged_prefix)
-            line = line.replace(
-                '@mono_instdir@',
-                '%s/lib/mono' %
-                self.staged_prefix)
-            print line
-
-        patterns = ["*UnitTests*", "*xunit*", "NuGet*", "System.Runtime.InteropServices.RuntimeInformation.dll",
-                    "Roslyn/csc.exe*"]
-
-        for pattern in patterns:
-            for excluded in glob.glob("%s/%s" % (new_location, pattern)):
-                self.rm(excluded)
+       def build (self):
+               self.sh ('./cibuild.sh --scope Compile --target Mono --host Mono --config Release')
 
+       def install (self):
+                self.sh ('./install-mono-prefix.sh %s' % self.staged_prefix)
 
-MSBuild()
+MSBuild ()
index 5ad19adf1df15e447c77b3c7b268168c4cdf7be0..b599c9e10e7d6eb53e87de7f928356cd67933a40 100755 (executable)
@@ -24,8 +24,8 @@ WHITELIST=$(cat "$(dirname "$0")/whitelist.txt")
 MONO_COMMANDS_FILE=/etc/paths.d/mono-commands
 FW_WHITELISTED_COMMANDS=${FW_CURRENT}/Commands
 
-mkdir ${FW_WHITELISTED_COMMANDS}
-mkdir /etc/paths.d
+mkdir -p ${FW_WHITELISTED_COMMANDS}
+mkdir -p $(dirname ${MONO_COMMANDS_FILE})
 
 if test -e ${MONO_COMMANDS_FILE}; then
     rm "${MONO_COMMANDS_FILE}"
@@ -37,8 +37,11 @@ if [ -d "${FW}"/Commands ]; then
     for i in ${WHITELIST}; do
         if test -e "${FW}/Commands/${i}"; then
             ln -s "${FW}/Commands/${i}" "${FW_WHITELISTED_COMMANDS}/${i}"
+            #Cleanup any old symlinks in /usr/local/bin that we used to install
+            rm -rf "/usr/local/bin/${i}"
         fi
     done;
+    eval $(/usr/libexec/path_helper -s)
 else
     echo "${FW}/Commands does not exist"
     echo "Can not add command links to $PATH."
index fadd743d457614f800ec684d0d18cbd5de2d3dbe..e18d5a4cf6db9ecce7bac0372fa53c935900d428 100644 (file)
@@ -14,6 +14,7 @@ certmgr
 cert-sync
 chktrust
 ClassInitGenerator
+csc
 csharp
 csharp2
 dbsessmgr
diff --git a/packaging/MacSDK/patches/fsharp-Fix-mono-gac-location.patch b/packaging/MacSDK/patches/fsharp-Fix-mono-gac-location.patch
new file mode 100644 (file)
index 0000000..67e088b
--- /dev/null
@@ -0,0 +1,29 @@
+From 208aa8170bede4c176b5e3afa6811d1d7a5a330c Mon Sep 17 00:00:00 2001
+From: nosami <jasonimison@gmail.com>
+Date: Tue, 11 Apr 2017 12:10:04 +0100
+Subject: [PATCH] Fix mono/gac location
+
+---
+ src/fsharp/targets.make | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/fsharp/targets.make b/src/fsharp/targets.make
+index 014294a..716adb7 100644
+--- a/src/fsharp/targets.make
++++ b/src/fsharp/targets.make
+@@ -157,9 +157,9 @@ install-gac-lib:
+                               echo "Using gacutil to install $(outdir)$(ASSEMBLY) into GAC root $(DESTDIR)$(libdir) as package $(TARGET)"; \
+                               $(monobindir)/gacutil -i $(outdir)$(ASSEMBLY) -root $(DESTDIR)$(libdir) -package $(TARGET); \
+                       else \
+-                              echo "Installing $(outdir)$(NAME).dll to $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
+-                              mkdir -p $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
+-                              $(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
++                              echo "Installing $(outdir)$(NAME).dll to $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
++                              mkdir -p $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
++                              $(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
+                       fi; \
+       fi
+-- 
+2.8.0
+
diff --git a/packaging/MacSDK/patches/fsharp-enable-jit-tracking-for-portable-pdb.patch b/packaging/MacSDK/patches/fsharp-enable-jit-tracking-for-portable-pdb.patch
new file mode 100644 (file)
index 0000000..d3fef81
--- /dev/null
@@ -0,0 +1,37 @@
+From f28dbdfaa4427c1e62c16bc6d59106f9f5db15f7 Mon Sep 17 00:00:00 2001
+From: nosami <jasonimison@gmail.com>
+Date: Fri, 21 Apr 2017 16:34:27 +0100
+Subject: [PATCH] Enable JIT tracking for portable PDB debugging
+
+Setting JIT tracking to true adds the `DebuggableAttribute.DebuggingModes.Default`
+flag to the generated Debuggable attribute
+See https://msdn.microsoft.com/en-us/library/system.diagnostics.debuggableattribute.debuggingmodes(v=vs.110).aspx
+
+Without this flag I see the following message when debugging unless I have "Debug project code only: do not step into framework code" unchecked to allow stepping into framework code.
+```
+Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
+```
+Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55092
+---
+ src/fsharp/CompileOptions.fs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/fsharp/CompileOptions.fs b/src/fsharp/CompileOptions.fs
+index 209cdd90..97860085 100755
+--- a/src/fsharp/CompileOptions.fs
++++ b/src/fsharp/CompileOptions.fs
+@@ -466,9 +466,9 @@ let SetDebugSwitch (tcConfigB : TcConfigBuilder) (dtype : string option) (s : Op
+     match dtype with
+     | Some(s) ->
+        match s with 
+-       | "portable" ->  tcConfigB.portablePDB <- true;  tcConfigB.embeddedPDB <- false; tcConfigB.jitTracking <- false; tcConfigB.ignoreSymbolStoreSequencePoints <- true
++       | "portable" ->  tcConfigB.portablePDB <- true;  tcConfigB.embeddedPDB <- false; tcConfigB.jitTracking <- true; tcConfigB.ignoreSymbolStoreSequencePoints <- true
+        | "pdbonly" ->   tcConfigB.portablePDB <- false; tcConfigB.embeddedPDB <- false; tcConfigB.jitTracking <- false
+-       | "embedded" ->  tcConfigB.portablePDB <- true;  tcConfigB.embeddedPDB <- true;  tcConfigB.jitTracking <- false; tcConfigB.ignoreSymbolStoreSequencePoints <- true
++       | "embedded" ->  tcConfigB.portablePDB <- true;  tcConfigB.embeddedPDB <- true;  tcConfigB.jitTracking <- true; tcConfigB.ignoreSymbolStoreSequencePoints <- true
+        | "full" ->      tcConfigB.portablePDB <- false; tcConfigB.embeddedPDB <- false; tcConfigB.jitTracking <- true
+        | _ -> error(Error(FSComp.SR.optsUnrecognizedDebugType(s), rangeCmdArgs))
+     | None ->           tcConfigB.portablePDB <- false; tcConfigB.embeddedPDB <- false; tcConfigB.jitTracking <- s = OptionSwitch.On;
+-- 
+2.11.0 (Apple Git-81)
+
index 576942ae47dd716593297c0525bf388e5d81382e..164ad3d2bc88c22efb9c23d74ee4a645628e3dc0 100644 (file)
@@ -13,10 +13,10 @@ Date:   Wed Feb 8 18:44:41 2017 -0500
     F# yet.
 
 diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.targets b/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
-index 82125d2..e7ddac2 100644
+index e185bdf..2788988 100644
 --- a/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
 +++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
-@@ -40,6 +40,10 @@ Copyright (C) Microsoft Corporation. Apache 2.0 License.
+@@ -38,6 +38,10 @@ this file.
          <RootNamespace Condition="'$(RootNamespace)'==''">RootNamespace</RootNamespace>
          <Actual32Bit Condition="'$(TargetFrameworkVersion)'=='v2.0' or '$(TargetFrameworkVersion)'=='v3.0' or '$(TargetFrameworkVersion)'=='v3.5' or '$(TargetFrameworkVersion)'=='v4.0'">false</Actual32Bit>
          <Actual32Bit Condition="!('$(TargetFrameworkVersion)'=='v2.0' or '$(TargetFrameworkVersion)'=='v3.0' or '$(TargetFrameworkVersion)'=='v3.5' or '$(TargetFrameworkVersion)'=='v4.0')">$(Prefer32Bit)</Actual32Bit>
@@ -25,5 +25,5 @@ index 82125d2..e7ddac2 100644
 +        <_DebugFileExt Condition="'$(FscDebugFileExt)' != ''">$(FscDebugFileExt)</_DebugFileExt>
 +        <_DebugFileExt Condition="'$(_DebugFileExt)' == ''">.mdb</_DebugFileExt>
      </PropertyGroup>
-
      <!--
diff --git a/packaging/MacSDK/patches/fsharp-fix-xbuild-check.patch b/packaging/MacSDK/patches/fsharp-fix-xbuild-check.patch
new file mode 100644 (file)
index 0000000..47ebfa3
--- /dev/null
@@ -0,0 +1,19 @@
+commit 8f93ad340dc81a23155e68c79a5c3eab53b6eeb5
+Author: Ankit Jain <ankit.jain@xamarin.com>
+Date:   Sat Apr 15 04:17:18 2017 -0400
+
+    [msbuild] Fix test for is-running-on-xbuild
+
+diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.targets b/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
+index ec28077d..10840ada 100644
+--- a/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
++++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.targets
+@@ -66,7 +66,7 @@ this file.
+     <PropertyGroup>
+         <UsingXBuild>false</UsingXBuild>
+-        <UsingXBuild Condition="$(MSBuildExtensionsPath32.Contains('xbuild'))">true</UsingXBuild>
++        <UsingXBuild Condition="'$(MSBuildAssemblyVersion)' == ''">true</UsingXBuild>
+     </PropertyGroup>
+     <Target
index 98609dc55babab32f450d31f7848f757c71e59e5..ae87dfa88c37f436cff9022ff5b69127d58b7e8e 100644 (file)
@@ -164,6 +164,7 @@ mcs-compileall: mono-wrapper etc/mono/config
            else \
              echo $$i verification failed; ok=false; \
            fi; done; done; \
+       if [ "$$ok" = "false" ]; then echo "<?xml version='1.0' encoding='utf-8'?><test-results failures='1' total='1' not-run='0' name='verify' date='$$(date +%F)' time='$$(date +%T)'><test-suite name='mcs-compileall' success='False' time='0'><results><test-case name='fail' executed='True' success='False' time='0'><failure><message>Verifying framework assemblies failed. Check the log for more details.</message><stack-trace></stack-trace></failure></test-case></results></test-suite></test-results>" > TestResult-verify.xml; fi; \
        $$ok
 
 if NACL_CODEGEN
index 2e7c807d924477595bac23801ed61ab09b77f99c..90d65a194a6885269e45d363f15365d61aeee0e9 100755 (executable)
@@ -97,4 +97,12 @@ if [[ ${label} == osx-* ]]
 then ${TESTCMD} --label=ms-test-suite --timeout=30m make -w -C acceptance-tests check-ms-test-suite
 else ${TESTCMD} --label=ms-test-suite --skip;
 fi
+if [[ ${label} == 'ubuntu-1404-amd64' ]]; then
+    source ${MONO_REPO_ROOT}/scripts/ci/util.sh
+    if ${TESTCMD} --label=apidiff --timeout=15m --fatal make -w -C mcs -j4 mono-api-diff
+    then report_github_status "success" "API Diff" "No public API changes found." || true
+    else report_github_status "error" "API Diff" "The public API changed." "$BUILD_URL/Public_API_Diff/" || true
+    fi
+else ${TESTCMD} --label=apidiff --skip
+fi
 rm -fr /tmp/jenkins-temp-aspnet*
diff --git a/scripts/ci/util.sh b/scripts/ci/util.sh
new file mode 100644 (file)
index 0000000..d4b09e8
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash -e
+
+function report_github_status {
+    if [ -z "$1" ]; then echo "No status specified. Skipping GitHub manual status report."; return 1; fi;
+    if [ -z "$2" ]; then echo "No context specified. Skipping GitHub manual status report."; return 1; fi;
+    if [ -z "$3" ]; then echo "No description specified. Skipping GitHub manual status report."; return 1; fi;
+    if [ -z "${ghprbActualCommit}" ]; then echo "Not a pull request. Skipping GitHub manual status report."; return 1; fi;
+    if [ -z "${GITHUB_STATUS_AUTH_TOKEN}" ]; then echo "No auth token specified. Skipping GitHub manual status report."; return 1; fi;
+
+    wget -qO- --header "Content-Type: application/json" --post-data "{\"state\": \"$1\", \"context\":\"$2\", \"description\": \"$3\", \"target_url\": \"$4\"}" "https://api.github.com/repos/mono/mono/statuses/${ghprbActualCommit}?access_token=${GITHUB_STATUS_AUTH_TOKEN}"
+}
index 92fca755371d09ab6336dd25c5c131d014c47d7d..a0580964684a6c532f2f9378dd11e31005a21ee7 100644 (file)
@@ -5237,7 +5237,7 @@ Mono_Posix_ToSockaddrIn (struct sockaddr_in *from, struct Mono_Posix_SockaddrIn
 #endif /* ndef HAVE_STRUCT_SOCKADDR_IN */
 
 
-#ifdef HAVE_STRUCT_SOCKADDR_IN6
+#if defined(HAVE_STRUCT_SOCKADDR_IN6) && !defined(HOST_WIN32)
 int
 Mono_Posix_FromSockaddrIn6 (struct Mono_Posix_SockaddrIn6 *from, struct sockaddr_in6 *to)
 {
@@ -5259,7 +5259,7 @@ Mono_Posix_FromSockaddrIn6 (struct Mono_Posix_SockaddrIn6 *from, struct sockaddr
 #endif /* ndef HAVE_STRUCT_SOCKADDR_IN6 */
 
 
-#ifdef HAVE_STRUCT_SOCKADDR_IN6
+#if defined(HAVE_STRUCT_SOCKADDR_IN6) && !defined(HOST_WIN32)
 int
 Mono_Posix_ToSockaddrIn6 (struct sockaddr_in6 *from, struct Mono_Posix_SockaddrIn6 *to)
 {
index 072b535f299e50eeb30e684b19c3ca1dd5c81e90..829cda2bdf175fb13137240aa94b0d079346b931 100644 (file)
@@ -26,6 +26,7 @@
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/verify-internals.h>
 #include <mono/metadata/marshal.h>
+#include <mono/metadata/w32handle.h>
 #include "mono/utils/mono-digest.h"
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-counters.h>
@@ -616,6 +617,11 @@ pedump_assembly_search_hook (MonoAssemblyName *aname, gpointer user_data)
        return NULL;
 }
 
+static void
+thread_state_init (MonoThreadUnwindState *ctx)
+{
+}
+
 #define VALID_ONLY_FLAG 0x08000000
 #define VERIFY_CODE_ONLY MONO_VERIFY_ALL + 1 
 #define VERIFY_METADATA_ONLY VERIFY_CODE_ONLY + 1
@@ -632,6 +638,7 @@ main (int argc, char *argv [])
        const char *flag_desc [] = {"error", "warn", "cls", "all", "code", "fail-on-verifiable", "non-strict", "valid-only", "metadata", "partial-md", NULL};
        guint flag_vals [] = {MONO_VERIFY_ERROR, MONO_VERIFY_WARNING, MONO_VERIFY_CLS, MONO_VERIFY_ALL, VERIFY_CODE_ONLY, MONO_VERIFY_FAIL_FAST, MONO_VERIFY_NON_STRICT, VALID_ONLY_FLAG, VERIFY_METADATA_ONLY, VERIFY_PARTIAL_METADATA, 0};
        int i, verify_flags = MONO_VERIFY_REPORT_ALL_ERRORS, run_new_metadata_verifier = 0;
+       MonoThreadInfoRuntimeCallbacks ticallbacks;
        
        for (i = 1; i < argc; i++){
                if (argv [i][0] != '-'){
@@ -659,11 +666,19 @@ main (int argc, char *argv [])
 #endif
        mono_counters_init ();
        mono_tls_init_runtime_keys ();
+       memset (&ticallbacks, 0, sizeof (ticallbacks));
+       ticallbacks.thread_state_init = thread_state_init;
+#ifndef HOST_WIN32
+       mono_w32handle_init ();
+#endif
+       mono_threads_runtime_init (&ticallbacks);
+
        mono_metadata_init ();
        mono_images_init ();
        mono_assemblies_init ();
        mono_loader_init ();
  
+
        if (verify_pe) {
                char *tok = strtok (flags, ",");
 
index 6a4873657aa8d012c32b2183dcf7efaeaf2ac680..bc9c003c0adf4d369086ca9dd28406f5df1c199f 100644 (file)
 /* Define to 1 if you have the <wchar.h> header file. */
 #define HAVE_WCHAR_H 1
 
+/* Define to 1 if you have IPv6 support. */
+#define HAVE_STRUCT_SOCKADDR_IN6 1
+
 /* Have a working sigaltstack */
 /* #undef HAVE_WORKING_SIGALTSTACK */