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

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Köplinger <alex.koeplinger@outlook.com>2016-07-14 18:20:03 +0300
committerAlexander Köplinger <alex.koeplinger@outlook.com>2016-07-14 18:20:03 +0300
commit20f49f908c07c8a2c12f710e4879061a88d35c58 (patch)
tree7992239032ba1e9d0afc7b23d3df8dfc81e3c8cf
parent7c651609e6a47444ab54d9006a0014434de66c8e (diff)
Revert "Merge pull request #3275 from marek-safar/netstandartmerge"mono-4.4.0-branch-c7-baseline
This reverts commit 7c651609e6a47444ab54d9006a0014434de66c8e, reversing changes made to 3fab3fff13e852dc7872014c2d5e74a0e13ab0bf. This was not supposed to go into the mono-4.4.0-branch-c7-baseline branch.
m---------external/referencesource0
-rw-r--r--mcs/build/profiles/mobile.make1
-rw-r--r--mcs/build/profiles/mobile_static.make1
-rw-r--r--mcs/build/profiles/monodroid.make1
-rw-r--r--mcs/build/profiles/monotouch_runtime.make1
-rw-r--r--mcs/class/Facades/Makefile2
-rw-r--r--mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl.dll.sources2
-rw-r--r--mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/RegistryAclExtensions.cs57
-rw-r--r--mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/Microsoft.Win32.Registry/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.ComponentModel.Primitives/TypeForwarders.cs18
-rw-r--r--mcs/class/Facades/System.ComponentModel.TypeConverter/TypeForwarders.cs29
-rw-r--r--mcs/class/Facades/System.Console/TypeForwarders.cs5
-rw-r--r--mcs/class/Facades/System.Data.Common/DbColumn.cs64
-rw-r--r--mcs/class/Facades/System.Data.Common/DbDataReaderExtensions.Facade.cs85
-rw-r--r--mcs/class/Facades/System.Data.Common/IDbColumnSchemaGenerator.cs35
-rw-r--r--mcs/class/Facades/System.Data.Common/Makefile2
-rw-r--r--mcs/class/Facades/System.Data.Common/System.Data.Common.dll.sources4
-rw-r--r--mcs/class/Facades/System.Data.Common/TypeForwarders.cs14
-rw-r--r--mcs/class/Facades/System.Data.SqlClient/TypeForwarders.cs6
-rw-r--r--mcs/class/Facades/System.Diagnostics.Process/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.Diagnostics.StackTrace/StackFrameExtensions.cs61
-rw-r--r--mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace.dll.sources2
-rw-r--r--mcs/class/Facades/System.Diagnostics.StackTrace/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs41
-rw-r--r--mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing.dll.sources2
-rw-r--r--mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs21
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/AssemblyInfo.cs39
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/Makefile27
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/System.Drawing.Primitives.dll.sources2
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/TypeForwarders.cs28
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/mobile_System.Drawing.Primitives.dll.sources8
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/mobile_static_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/monodroid_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/monotouch_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/monotouch_tv_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/xammac_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Drawing.Primitives/xammac_net_4_5_System.Drawing.Primitives.dll.sources1
-rw-r--r--mcs/class/Facades/System.Globalization.Extensions/GlobalizationExtensions.cs98
-rw-r--r--mcs/class/Facades/System.Globalization.Extensions/SR.cs4
-rw-r--r--mcs/class/Facades/System.Globalization.Extensions/StringNormalizationExtensions.cs61
-rw-r--r--mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions.dll.sources4
-rw-r--r--mcs/class/Facades/System.Globalization.Extensions/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.IO.Compression/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.IO.Compression/Makefile23
-rw-r--r--mcs/class/Facades/System.IO.Compression/Missing.cs40
-rw-r--r--mcs/class/Facades/System.IO.Compression/System.IO.Compression.dll.sources3
-rw-r--r--mcs/class/Facades/System.IO.Compression/TypeForwarders.cs28
-rw-r--r--mcs/class/Facades/System.IO.FileSystem.AccessControl/FileSystemAclExtensions.cs83
-rw-r--r--mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl.dll.sources2
-rw-r--r--mcs/class/Facades/System.IO.FileSystem.AccessControl/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.IO.FileSystem.Watcher/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs39
-rw-r--r--mcs/class/Facades/System.IO.Packaging/Makefile21
-rw-r--r--mcs/class/Facades/System.IO.Packaging/System.IO.Packaging.dll.sources2
-rw-r--r--mcs/class/Facades/System.IO.Packaging/TypeForwarders.cs37
-rw-r--r--mcs/class/Facades/System.IO/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs5
-rw-r--r--mcs/class/Facades/System.Net.Ping/AssemblyInfo.cs39
-rw-r--r--mcs/class/Facades/System.Net.Ping/Makefile21
-rw-r--r--mcs/class/Facades/System.Net.Ping/System.Net.Ping.dll.sources2
-rw-r--r--mcs/class/Facades/System.Net.Ping/TypeForwarders.cs27
-rw-r--r--mcs/class/Facades/System.Net.Security/TypeForwarders.cs4
-rw-r--r--mcs/class/Facades/System.Net.Sockets/SocketReceiveFromResult.cs36
-rw-r--r--mcs/class/Facades/System.Net.Sockets/SocketReceiveMessageFromResult.cs38
-rw-r--r--mcs/class/Facades/System.Net.Sockets/SocketTaskExtensions.cs250
-rw-r--r--mcs/class/Facades/System.Net.Sockets/System.Net.Sockets.dll.sources4
-rw-r--r--mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.Reflection.TypeExtensions/Requires.cs17
-rw-r--r--mcs/class/Facades/System.Reflection.TypeExtensions/SR.cs4
-rw-r--r--mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions.dll.sources3
-rw-r--r--mcs/class/Facades/System.Reflection.TypeExtensions/TypeExtensions.CoreCLR.cs400
-rw-r--r--mcs/class/Facades/System.Reflection.TypeExtensions/TypeForwarders.cs5
-rw-r--r--mcs/class/Facades/System.Reflection/TypeForwarders.cs8
-rw-r--r--mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs62
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Formatters/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Formatters/Makefile23
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Formatters/System.Runtime.Serialization.Formatters.dll.sources3
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Formatters/TypeForwarders.cs32
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Primitives/ISerializationSurrogateProvider.cs32
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources2
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/DataContractSerializerExtensions.cs84
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile6
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/NotImplemented.cs32
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources3
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Runtime/TypeForwarders.cs3
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/ECCurve.cs85
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/ECParameters.cs39
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/ECPoint.cs37
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/IncrementalHash.cs42
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/System.Security.Cryptography.Algorithms.dll.sources6
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Algorithms/TypeForwarders.cs46
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Cng/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Cng/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Cng/System.Security.Cryptography.Cng.dll.sources3
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Cng/TypeForwarders.cs46
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Csp/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Csp/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Csp/System.Security.Cryptography.Csp.dll.sources3
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Csp/TypeForwarders.cs30
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Encoding/TypeForwarders.cs4
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/ECDsaOpenSsl.cs45
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/RSAOpenSsl.cs55
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/SafeEvpPKeyHandle.cs50
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.OpenSsl/System.Security.Cryptography.OpenSsl.dll.sources4
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Pkcs/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Pkcs/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Pkcs/System.Security.Cryptography.Pkcs.dll.sources3
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Pkcs/TypeForwarders.cs51
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Primitives/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Primitives/Makefile23
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Primitives/System.Security.Cryptography.Primitives.dll.sources3
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.Primitives/TypeForwarders.cs37
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.X509Certificates/Makefile2
-rw-r--r--mcs/class/Facades/System.Security.Cryptography.X509Certificates/TypeForwarders.cs5
-rw-r--r--mcs/class/Facades/System.Security.Principal.Windows/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.Security.SecureString/SecureStringMarshal.cs47
-rw-r--r--mcs/class/Facades/System.Security.SecureString/System.Security.SecureString.dll.sources2
-rw-r--r--mcs/class/Facades/System.Security.SecureString/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs4
-rw-r--r--mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs2
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/Makefile6
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources6
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs14
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateInitiatorClientCredential_mobile.cs72
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateRecipientClientCredential_mobile.cs117
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidationMode_mobile.cs45
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidator_mobile.cs43
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/X509ServiceCertificateAuthentication_mobile.cs95
-rw-r--r--mcs/class/Facades/System.ServiceModel.Security/TypeForwarders.cs10
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/Makefile9
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceControllerStatus_mobile.cs49
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceController_mobile.cs246
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceStartMode_mobile.cs47
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceType_mobile.cs50
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController.dll.sources6
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/TimeoutException_mobile.cs59
-rw-r--r--mcs/class/Facades/System.ServiceProcess.ServiceController/TypeForwarders.cs6
-rw-r--r--mcs/class/Facades/System.Text.Encoding.CodePages/AssemblyInfo.cs41
-rw-r--r--mcs/class/Facades/System.Text.Encoding.CodePages/CodePagesEncodingProvider.cs37
-rw-r--r--mcs/class/Facades/System.Text.Encoding.CodePages/Makefile23
-rw-r--r--mcs/class/Facades/System.Text.Encoding.CodePages/System.Text.Encoding.CodePages.dll.sources2
-rw-r--r--mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs3
-rw-r--r--mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl.dll.sources2
-rw-r--r--mcs/class/Facades/System.Threading.AccessControl/ThreadingAclExtensions.cs75
-rw-r--r--mcs/class/Facades/System.Threading.AccessControl/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandle.cs315
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandleOverlapped.cs50
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolPreAllocatedOverlapped.cs104
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/DeferredDisposableLifetime.cs116
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/HResults.cs38
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/Makefile2
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/SR.cs11
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped.dll.sources6
-rw-r--r--mcs/class/Facades/System.Threading.Overlapped/TypeForwarders.cs3
-rw-r--r--mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Xml.XPath.XDocument/Makefile2
-rw-r--r--mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument.dll.sources2
-rw-r--r--mcs/class/Facades/System.Xml.XPath.XDocument/TypeForwarders.cs1
-rw-r--r--mcs/class/Facades/System.Xml.XPath.XDocument/XDocumentExtensions.cs29
-rw-r--r--mcs/class/Facades/subdirs.make39
-rw-r--r--mcs/class/Makefile18
-rw-r--r--mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptHandle.cs49
-rw-r--r--mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptKeyHandle.cs42
-rw-r--r--mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptProviderHandle.cs42
-rw-r--r--mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptSecretHandle.cs42
-rw-r--r--mcs/class/System.Core/System.IO.Pipes/AnonymousPipeClientStream.cs6
-rw-r--r--mcs/class/System.Core/System.IO.Pipes/AnonymousPipeServerStream.cs18
-rw-r--r--mcs/class/System.Core/System.IO.Pipes/NamedPipeClientStream.cs21
-rw-r--r--mcs/class/System.Core/System.IO.Pipes/NamedPipeServerStream.cs22
-rw-r--r--mcs/class/System.Core/System.IO.Pipes/PipeStream.cs23
-rw-r--r--mcs/class/System.Core/System.Security.Cryptography.X509Certificates/ECDsaCertificateExtensions.cs45
-rw-r--r--mcs/class/System.Core/System.Security.Cryptography.X509Certificates/RSACertificateExtensions.cs45
-rw-r--r--mcs/class/System.Core/System.Security.Cryptography/AesCng.cs104
-rw-r--r--mcs/class/System.Core/System.Security.Cryptography/TripleDESCng.cs104
-rw-r--r--mcs/class/System.Core/common_System.Core.dll.sources31
-rw-r--r--mcs/class/System.Core/mobile_static_System.Core.dll.sources15
-rw-r--r--mcs/class/System.Core/net_4_x_System.Core.dll.sources13
-rw-r--r--mcs/class/System.Data/Microsoft.SqlServer.Server/SqlDataRecord.cs44
-rw-r--r--mcs/class/System.Drawing/Makefile2
-rw-r--r--mcs/class/System.Drawing/System.Drawing/Point.cs2
-rw-r--r--mcs/class/System.Drawing/System.Drawing/Rectangle.cs2
-rw-r--r--mcs/class/System.Drawing/System.Drawing/Size.cs2
-rw-r--r--mcs/class/System.Drawing/System.Drawing/SizeF.cs2
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/Assembly/AssemblyInfo.cs62
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/Makefile11
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http.WinHttpHandler.dll.sources8
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/CookieUsePolicy.cs39
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WinHttpHandler.cs92
-rw-r--r--mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WindowsProxyUsePolicy.cs40
-rw-r--r--mcs/class/System.Numerics.Vectors/Assembly/TypeForwarders.cs36
-rw-r--r--mcs/class/System.Numerics.Vectors/Makefile4
-rw-r--r--mcs/class/System.Numerics.Vectors/SR.cs17
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics.Vectors.dll.sources8
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/ConstantHelper.cs142
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/HashCodeHelper.cs17
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/JitIntrinsicAttribute.cs14
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/Register.cs172
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/Vector.cs5002
-rw-r--r--mcs/class/System.Numerics.Vectors/System.Numerics/Vector_Operations.cs865
-rw-r--r--mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.exclude.sources7
-rw-r--r--mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.sources1
-rw-r--r--mcs/class/System.Numerics/Makefile2
-rw-r--r--mcs/class/System.Numerics/ReferenceSources/Environment.cs22
-rw-r--r--mcs/class/System.Numerics/System.Numerics.dll.sources14
-rw-r--r--mcs/class/System.Reflection.Context/Assembly/AssemblyInfo.cs62
-rw-r--r--mcs/class/System.Reflection.Context/Makefile11
-rw-r--r--mcs/class/System.Reflection.Context/System.Reflection.Context.dll.sources5
-rw-r--r--mcs/class/System.Reflection.Context/System.Reflection.Context/CustomReflectionContext.cs93
-rw-r--r--mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs62
-rw-r--r--mcs/class/System.Reflection.DispatchProxy/Makefile11
-rw-r--r--mcs/class/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources5
-rw-r--r--mcs/class/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs50
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs62
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile11
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources7
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/Architecture.cs40
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/OSPlatform.cs91
-rw-r--r--mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs91
-rw-r--r--mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs116
-rw-r--r--mcs/class/System.Security/common_System.Security.dll.sources34
-rw-r--r--mcs/class/System.Security/mobile_static_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monodroid_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_runtime_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_tv_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_tv_runtime_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_watch_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/monotouch_watch_runtime_System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/xammac_System.Security.dll.sources1
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs6
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs17
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs9
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransportBindingElement.cs2
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs8
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs28
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs7
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs4
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.dll.sources1
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsBinding.cs1
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsSecurity.cs1
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/CallbackBehaviorAttribute.cs6
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/DnsEndpointIdentity.cs9
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/DuplexChannelFactory.cs5
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/HttpBindingBase.cs2
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityOverTcp.cs6
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityVersion.cs17
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/NetHttpsBinding.cs83
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/NetTcpBinding.cs14
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/SpnEndpointIdentity.cs9
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/UpnEndpointIdentity.cs9
-rw-r--r--mcs/class/System.ServiceModel/mobile_System.ServiceModel.dll.sources32
-rw-r--r--mcs/class/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs62
-rw-r--r--mcs/class/System.Xml.XPath.XmlDocument/Makefile11
-rw-r--r--mcs/class/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources5
-rw-r--r--mcs/class/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs83
-rw-r--r--mcs/class/System/Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs62
-rw-r--r--mcs/class/System/ReferenceSources/NativeMethods.cs10
-rw-r--r--mcs/class/System/System.IO/FileSystemWatcher_mobile.cs55
-rw-r--r--mcs/class/System/System.Net.WebSockets/WebSocketCloseStatus.cs6
-rw-r--r--mcs/class/System/System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs6
-rw-r--r--mcs/class/System/System.dll.sources5
-rw-r--r--mcs/class/System/mobile_System.dll.sources27
-rw-r--r--mcs/class/corlib/Microsoft.Win32/Registry.cs4
-rw-r--r--mcs/class/corlib/Microsoft.Win32/RegistryHive.cs4
-rw-r--r--mcs/class/corlib/Microsoft.Win32/RegistryKey.cs49
-rw-r--r--mcs/class/corlib/Microsoft.Win32/RegistryValueKind.cs4
-rw-r--r--mcs/class/corlib/Microsoft.Win32/RegistryValueOptions.cs4
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventDataAttribute.cs49
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventFieldAttribute.cs62
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventFieldFormat.cs43
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventFieldTags.cs38
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventIgnoreAttribute.cs37
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventListener.cs71
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventManifestOptions.cs42
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventSource.cs25
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventSourceException.cs50
-rw-r--r--mcs/class/corlib/System.Diagnostics.Tracing/EventWrittenEventArgs.cs124
-rw-r--r--mcs/class/corlib/System.Globalization/CultureInfo.cs10
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/FlowControl.cs3
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/OpCode.cs3
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/OpCodeNames.cs2
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/OpCodeType.cs2
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/OpCodes.cs2
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/OperandType.cs3
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/PackingSize.cs4
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/StackBehaviour.cs2
-rw-r--r--mcs/class/corlib/System.Reflection.Metadata/AssemblyExtensions.cs46
-rw-r--r--mcs/class/corlib/System.Reflection/AssemblyName.cs5
-rw-r--r--mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs123
-rw-r--r--mcs/class/corlib/System.Runtime.InteropServices/ComEventsHelper.cs47
-rw-r--r--mcs/class/corlib/System.Runtime.InteropServices/CustomQueryInterfaceMode.cs38
-rw-r--r--mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs108
-rw-r--r--mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs5
-rw-r--r--mcs/class/corlib/System.Security/SafeAccessTokenHandle.cs25
-rw-r--r--mcs/class/corlib/corlib.dll.sources17
304 files changed, 265 insertions, 14501 deletions
diff --git a/external/referencesource b/external/referencesource
-Subproject 6acdec298553d6d1cdebe73b75972fa8c47fab7
+Subproject bdc49ae88c237a57efe6a34697cab4893531989
diff --git a/mcs/build/profiles/mobile.make b/mcs/build/profiles/mobile.make
index 74f82b57cc8..6f6108c08aa 100644
--- a/mcs/build/profiles/mobile.make
+++ b/mcs/build/profiles/mobile.make
@@ -24,7 +24,6 @@ PROFILE_MCS_FLAGS = \
-d:NET_4_5 \
-d:MONO \
-d:DISABLE_CAS_USE \
- -d:NETSTANDARD \
-nowarn:1699 \
-nostdlib \
-lib:$(topdir)/class/lib/$(PROFILE) \
diff --git a/mcs/build/profiles/mobile_static.make b/mcs/build/profiles/mobile_static.make
index 367adca5480..6f8afba7075 100644
--- a/mcs/build/profiles/mobile_static.make
+++ b/mcs/build/profiles/mobile_static.make
@@ -22,7 +22,6 @@ PROFILE_MCS_FLAGS = \
-d:NET_4_5 \
-d:MONO \
-d:DISABLE_CAS_USE \
- -d:NETSTANDARD \
-d:MOBILE,MOBILE_STATIC,MOBILE_LEGACY \
-d:FULL_AOT_RUNTIME \
-d:DISABLE_REMOTING \
diff --git a/mcs/build/profiles/monodroid.make b/mcs/build/profiles/monodroid.make
index 42c031e03f2..49f85dcf8ee 100644
--- a/mcs/build/profiles/monodroid.make
+++ b/mcs/build/profiles/monodroid.make
@@ -26,7 +26,6 @@ PROFILE_MCS_FLAGS = \
-d:MOBILE_DYNAMIC \
-d:MONODROID \
-d:ANDROID \
- -d:NETSTANDARD \
-nowarn:1699 \
-nostdlib \
-lib:$(topdir)/class/lib/$(PROFILE) \
diff --git a/mcs/build/profiles/monotouch_runtime.make b/mcs/build/profiles/monotouch_runtime.make
index 5da1ab6ed68..7e963cb73c0 100644
--- a/mcs/build/profiles/monotouch_runtime.make
+++ b/mcs/build/profiles/monotouch_runtime.make
@@ -28,7 +28,6 @@ PROFILE_MCS_FLAGS = \
-d:DISABLE_REMOTING \
-d:DISABLE_COM \
-d:FEATURE_INTERCEPTABLE_THREADPOOL_CALLBACK \
- -d:NETSTANDARD \
-nowarn:1699 \
-nostdlib \
-lib:$(topdir)/class/lib/$(PROFILE) \
diff --git a/mcs/class/Facades/Makefile b/mcs/class/Facades/Makefile
index 4b123f1327e..2f8847d707a 100644
--- a/mcs/class/Facades/Makefile
+++ b/mcs/class/Facades/Makefile
@@ -37,4 +37,4 @@ doc-update-local:
doc-update-recursive:
@echo "do not recurse the Facades folder"
-System System.Core System.ComponentModel.DataAnnotations System.Numerics System.Runtime.Serialization System.XML System.ComponentModel.Composition System.ServiceModel System.Xml.Linq System.ServiceProcess:
+System System.Core System.ComponentModel.DataAnnotations System.Numerics System.Runtime.Serialization System.XML System.ComponentModel.Composition System.ServiceModel System.Xml.Linq:
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl.dll.sources b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl.dll.sources
index 9cd503ee025..8e33d4ddeae 100644
--- a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl.dll.sources
+++ b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-RegistryAclExtensions.cs
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/RegistryAclExtensions.cs b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/RegistryAclExtensions.cs
deleted file mode 100644
index deb3458cc86..00000000000
--- a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/RegistryAclExtensions.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// RegistryAclExtensions.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.Security;
-using System.Security.AccessControl;
-
-namespace Microsoft.Win32
-{
- public static class RegistryAclExtensions
- {
- [MonoTODO]
- public static RegistrySecurity GetAccessControl (this RegistryKey key)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static RegistrySecurity GetAccessControl (this RegistryKey key, AccessControlSections includeSections)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl (this RegistryKey key, RegistrySecurity registrySecurity)
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/TypeForwarders.cs b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/TypeForwarders.cs
index bdef1972306..cb252be1af3 100644
--- a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/TypeForwarders.cs
+++ b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/TypeForwarders.cs
@@ -23,3 +23,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.RegistryAccessRule))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.RegistryAuditRule))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.RegistrySecurity))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryAclExtensions))]
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry/TypeForwarders.cs b/mcs/class/Facades/Microsoft.Win32.Registry/TypeForwarders.cs
index fae8514159e..ecf772dd7ec 100644
--- a/mcs/class/Facades/Microsoft.Win32.Registry/TypeForwarders.cs
+++ b/mcs/class/Facades/Microsoft.Win32.Registry/TypeForwarders.cs
@@ -20,11 +20,13 @@
// THE SOFTWARE.
//
+#if !MOBILE
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.Registry))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryHive))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryKey))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryValueKind))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryValueOptions))]
+#endif
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryOptions))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.RegistryView))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeRegistryHandle))]
diff --git a/mcs/class/Facades/System.ComponentModel.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.ComponentModel.Primitives/TypeForwarders.cs
index 710df4ecd20..81a899b5e01 100644
--- a/mcs/class/Facades/System.ComponentModel.Primitives/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ComponentModel.Primitives/TypeForwarders.cs
@@ -20,27 +20,9 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.BrowsableAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CategoryAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ComponentCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DescriptionAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DesignOnlyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DesignerCategoryAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DesignerSerializationVisibility))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DesignerSerializationVisibilityAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DisplayNameAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EventHandlerList))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.IComponent))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.IContainer))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ISite))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ImmutableObjectAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.InitializationEventAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.LocalizableAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.MergablePropertyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.NotifyParentPropertyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ParenthesizePropertyNameAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ReadOnlyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.RefreshProperties))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.RefreshPropertiesAttribute))]
diff --git a/mcs/class/Facades/System.ComponentModel.TypeConverter/TypeForwarders.cs b/mcs/class/Facades/System.ComponentModel.TypeConverter/TypeForwarders.cs
index 12d2434bfcf..4a50ae332d0 100644
--- a/mcs/class/Facades/System.ComponentModel.TypeConverter/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ComponentModel.TypeConverter/TypeForwarders.cs
@@ -21,61 +21,34 @@
//
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ArrayConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.AttributeCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.AttributeProviderAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.BaseNumberConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.BooleanConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ByteConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CancelEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CharConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CollectionChangeAction))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CollectionChangeEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CollectionChangeEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CollectionConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CustomTypeDescriptor))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DateTimeConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DateTimeOffsetConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DecimalConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DefaultEventAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DefaultPropertyAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DoubleConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EnumConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EventDescriptor))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EventDescriptorCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ExtenderProvidedPropertyAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.GuidConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.HandledEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.HandledEventHandler))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ICustomTypeDescriptor))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.IExtenderProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.IListSource))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ITypeDescriptorContext))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ITypedList))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.Int16Converter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.Int32Converter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.Int64Converter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.InvalidAsynchronousStateException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.MemberDescriptor))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ITypeDescriptorContext))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.MultilineStringConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.NullableConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyDescriptor))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyDescriptorCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ProvidePropertyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.RefreshEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.RefreshEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.SByteConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.SingleConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.StringConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TimeSpanConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeConverterAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeDescriptionProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeDescriptionProviderAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeDescriptor))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.TypeListConverter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.UInt16Converter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.UInt32Converter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.UInt64Converter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriTypeConverter))]
diff --git a/mcs/class/Facades/System.Console/TypeForwarders.cs b/mcs/class/Facades/System.Console/TypeForwarders.cs
index c1695f51f4b..5987d7bb1f3 100644
--- a/mcs/class/Facades/System.Console/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Console/TypeForwarders.cs
@@ -24,7 +24,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleCancelEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleCancelEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleColor))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleKey))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleKeyInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleModifiers))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ConsoleSpecialKey))]
+
+
diff --git a/mcs/class/Facades/System.Data.Common/DbColumn.cs b/mcs/class/Facades/System.Data.Common/DbColumn.cs
deleted file mode 100644
index f7bc5c713e8..00000000000
--- a/mcs/class/Facades/System.Data.Common/DbColumn.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// DbColumn.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.
-//
-
-using System.Collections.Generic;
-
-namespace System.Data.Common
-{
- public abstract class DbColumn
- {
- public bool? AllowDBNull { get; protected set; }
- public string BaseCatalogName { get; protected set; }
- public string BaseColumnName { get; protected set; }
- public string BaseSchemaName { get; protected set; }
- public string BaseServerName { get; protected set; }
- public string BaseTableName { get; protected set; }
- public string ColumnName { get; protected set; }
- public int? ColumnOrdinal { get; protected set; }
- public int? ColumnSize { get; protected set; }
- public bool? IsAliased { get; protected set; }
- public bool? IsAutoIncrement { get; protected set; }
- public bool? IsExpression { get; protected set; }
- public bool? IsHidden { get; protected set; }
- public bool? IsIdentity { get; protected set; }
- public bool? IsKey { get; protected set; }
- public bool? IsLong { get; protected set; }
- public bool? IsReadOnly { get; protected set; }
- public bool? IsUnique { get; protected set; }
- public int? NumericPrecision { get; protected set; }
- public int? NumericScale { get; protected set; }
- public string UdtAssemblyQualifiedName { get; protected set; }
- public Type DataType { get; protected set; }
- public string DataTypeName { get; protected set; }
- public virtual object this[string property] {
- get {
- throw new NotImplementedException ();
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Data.Common/DbDataReaderExtensions.Facade.cs b/mcs/class/Facades/System.Data.Common/DbDataReaderExtensions.Facade.cs
deleted file mode 100644
index ba1913ff9fc..00000000000
--- a/mcs/class/Facades/System.Data.Common/DbDataReaderExtensions.Facade.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-
-namespace System.Data.Common
-{
-
- internal class DataRowDbColumn : DbColumn
- {
- private DataColumnCollection schemaColumns;
- private DataRow schemaRow;
-
- public DataRowDbColumn(DataRow readerSchemaRow, DataColumnCollection readerSchemaColumns)
- {
- this.schemaRow = readerSchemaRow;
- this.schemaColumns = readerSchemaColumns;
- populateFields();
- }
-
- private void populateFields()
- {
- AllowDBNull = GetDbColumnValue<bool?>(SchemaTableColumn.AllowDBNull);
- BaseCatalogName = GetDbColumnValue<string>(SchemaTableOptionalColumn.BaseCatalogName);
- BaseColumnName = GetDbColumnValue<string>(SchemaTableColumn.BaseColumnName);
- BaseSchemaName = GetDbColumnValue<string>(SchemaTableColumn.BaseSchemaName);
- BaseServerName = GetDbColumnValue<string>(SchemaTableOptionalColumn.BaseServerName);
- BaseTableName = GetDbColumnValue<string>(SchemaTableColumn.BaseTableName);
- ColumnName = GetDbColumnValue<string>(SchemaTableColumn.ColumnName);
- ColumnOrdinal = GetDbColumnValue<int?>(SchemaTableColumn.ColumnOrdinal);
- ColumnSize = GetDbColumnValue<int?>(SchemaTableColumn.ColumnSize);
- IsAliased = GetDbColumnValue<bool?>(SchemaTableColumn.IsAliased);
- IsAutoIncrement = GetDbColumnValue<bool?>(SchemaTableOptionalColumn.IsAutoIncrement);
- IsExpression = GetDbColumnValue<bool>(SchemaTableColumn.IsExpression);
- IsHidden = GetDbColumnValue<bool?>(SchemaTableOptionalColumn.IsHidden);
- IsIdentity = GetDbColumnValue<bool?>("IsIdentity");
- IsKey = GetDbColumnValue<bool?>(SchemaTableColumn.IsKey);
- IsLong = GetDbColumnValue<bool?>(SchemaTableColumn.IsLong);
- IsReadOnly = GetDbColumnValue<bool?>(SchemaTableOptionalColumn.IsReadOnly);
- IsUnique = GetDbColumnValue<bool?>(SchemaTableColumn.IsUnique);
- NumericPrecision = GetDbColumnValue<int?>(SchemaTableColumn.NumericPrecision);
- NumericScale = GetDbColumnValue<int?>(SchemaTableColumn.NumericScale);
- UdtAssemblyQualifiedName = GetDbColumnValue<string>("UdtAssemblyQualifiedName");
- DataType = GetDbColumnValue<Type>(SchemaTableColumn.DataType);
- DataTypeName = GetDbColumnValue<string>("DataTypeName");
- }
-
- private T GetDbColumnValue<T>(string columnName)
- {
- if (!schemaColumns.Contains(columnName))
- {
- return default(T);
- }
- object schemaObject = schemaRow[columnName];
- if (schemaObject is T)
- {
- return (T)schemaObject;
- }
- return default(T);
- }
- }
-
- public static class DbDataReaderExtensions
- {
- public static System.Collections.ObjectModel.ReadOnlyCollection<DbColumn> GetColumnSchema(this DbDataReader reader)
- {
- IList<DbColumn> columnSchema = new List<DbColumn>();
- DataTable schemaTable = reader.GetSchemaTable();
- DataColumnCollection schemaTableColumns = schemaTable.Columns;
- foreach (DataRow row in schemaTable.Rows)
- {
- DbColumn dbColumn = new DataRowDbColumn(row, schemaTableColumns);
- columnSchema.Add(dbColumn);
- }
- System.Collections.ObjectModel.ReadOnlyCollection<DbColumn> readOnlyColumnSchema = new System.Collections.ObjectModel.ReadOnlyCollection<DbColumn>(columnSchema);
- return readOnlyColumnSchema;
- }
-
- public static bool CanGetColumnSchema(this DbDataReader reader)
- {
- return true;
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Data.Common/IDbColumnSchemaGenerator.cs b/mcs/class/Facades/System.Data.Common/IDbColumnSchemaGenerator.cs
deleted file mode 100644
index ed6c519bf14..00000000000
--- a/mcs/class/Facades/System.Data.Common/IDbColumnSchemaGenerator.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// IDbColumnSchemaGenerator.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.Data.Common
-{
- public interface IDbColumnSchemaGenerator
- {
- System.Collections.ObjectModel.ReadOnlyCollection<DbColumn> GetColumnSchema();
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Data.Common/Makefile b/mcs/class/Facades/System.Data.Common/Makefile
index fb90e9b6d55..0b46feb66de 100644
--- a/mcs/class/Facades/System.Data.Common/Makefile
+++ b/mcs/class/Facades/System.Data.Common/Makefile
@@ -11,7 +11,7 @@ LIBRARY = System.Data.Common.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System System.Xml
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Data.dll
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Data.Common/System.Data.Common.dll.sources b/mcs/class/Facades/System.Data.Common/System.Data.Common.dll.sources
index 6b723549733..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Data.Common/System.Data.Common.dll.sources
+++ b/mcs/class/Facades/System.Data.Common/System.Data.Common.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-IDbColumnSchemaGenerator.cs
-DbColumn.cs
-DbDataReaderExtensions.Facade.cs
+
diff --git a/mcs/class/Facades/System.Data.Common/TypeForwarders.cs b/mcs/class/Facades/System.Data.Common/TypeForwarders.cs
index 9470c9c78b2..52b199a2e67 100644
--- a/mcs/class/Facades/System.Data.Common/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Data.Common/TypeForwarders.cs
@@ -20,36 +20,24 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DBNull))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.CommandBehavior))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.CommandType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbCommand))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbConnection))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbConnectionStringBuilder))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbDataReader))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbDataRecord))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbEnumerator))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.Common.DbParameter))]
[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.ConnectionState))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.DataRowVersion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.DataTable))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.DbType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDataParameter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDataParameterCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDataReader))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDataRecord))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDbCommand))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDbConnection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDbDataParameter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IDbTransaction))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.IsolationLevel))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.ParameterDirection))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.StateChangeEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.StateChangeEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.UpdateRowSource))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DBNull))]
diff --git a/mcs/class/Facades/System.Data.SqlClient/TypeForwarders.cs b/mcs/class/Facades/System.Data.SqlClient/TypeForwarders.cs
index 3237d9eb98f..d930326b45e 100644
--- a/mcs/class/Facades/System.Data.SqlClient/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Data.SqlClient/TypeForwarders.cs
@@ -24,10 +24,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.SqlServer.Server.SqlMetaData))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.ApplicationIntent))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SortOrder))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlBulkCopy))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlBulkCopyColumnMapping))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlBulkCopyColumnMappingCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlBulkCopyOptions))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlClientFactory))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlCommand))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlConnection))]
@@ -40,8 +36,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlInfoMessageEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlParameter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlParameterCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlRowsCopiedEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlRowsCopiedEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlClient.SqlTransaction))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlDbType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.SqlTypes.INullable))]
diff --git a/mcs/class/Facades/System.Diagnostics.Process/TypeForwarders.cs b/mcs/class/Facades/System.Diagnostics.Process/TypeForwarders.cs
index e91a664406d..7601feb313e 100644
--- a/mcs/class/Facades/System.Diagnostics.Process/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Diagnostics.Process/TypeForwarders.cs
@@ -20,7 +20,7 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeProcessHandle))]
+// TODO: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeProcessHandle))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.DataReceivedEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.DataReceivedEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Process))]
diff --git a/mcs/class/Facades/System.Diagnostics.StackTrace/StackFrameExtensions.cs b/mcs/class/Facades/System.Diagnostics.StackTrace/StackFrameExtensions.cs
deleted file mode 100644
index 1fb375f6fa6..00000000000
--- a/mcs/class/Facades/System.Diagnostics.StackTrace/StackFrameExtensions.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// StackFrameExtensions.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;
-
-namespace System.Diagnostics
-{
- public static class StackFrameExtensions
- {
- [MonoTODO]
- public static bool HasNativeImage (this StackFrame stackFrame)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static bool HasMethod (this StackFrame stackFrame)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static bool HasILOffset (this StackFrame stackFrame)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static bool HasSource (this StackFrame stackFrame)
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace.dll.sources b/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace.dll.sources
index 9d113cec203..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace.dll.sources
+++ b/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-StackFrameExtensions.cs
diff --git a/mcs/class/Facades/System.Diagnostics.StackTrace/TypeForwarders.cs b/mcs/class/Facades/System.Diagnostics.StackTrace/TypeForwarders.cs
index 3643429a219..b07464db3e2 100644
--- a/mcs/class/Facades/System.Diagnostics.StackTrace/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Diagnostics.StackTrace/TypeForwarders.cs
@@ -22,4 +22,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.StackFrame))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.StackTrace))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.StackFrameExtensions))]
diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs b/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs
deleted file mode 100644
index 7fedc406886..00000000000
--- a/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// EventCounter.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.Diagnostics.Tracing
-{
- public class EventCounter
- {
- public EventCounter (string name, EventSource eventSource)
- {
- }
-
- public void WriteMetric (float value)
- {
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing.dll.sources b/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing.dll.sources
index 99a7bf69439..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing.dll.sources
+++ b/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing.dll.sources
@@ -1,3 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-EventCounter.cs
+
diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs b/mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs
index 5c8ab29d77a..45d99c94ea7 100644
--- a/mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs
@@ -20,27 +20,16 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventActivityOptions))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventChannel))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventCommand))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventCommandEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventDataAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventFieldAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventFieldFormat))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventFieldTags))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventIgnoreAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventKeywords))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventLevel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventListener))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventManifestOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventOpcode))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventListener))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventOpcode))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSource))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceSettings))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventTags))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventTask))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventWrittenEventArgs))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceException))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventTask))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventWrittenEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.NonEventAttribute))]
diff --git a/mcs/class/Facades/System.Drawing.Primitives/AssemblyInfo.cs b/mcs/class/Facades/System.Drawing.Primitives/AssemblyInfo.cs
deleted file mode 100644
index fd9a20bfefc..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/AssemblyInfo.cs
+++ /dev/null
@@ -1,39 +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.Drawing.Primitives.dll")]
-[assembly: AssemblyDescription ("System.Drawing.Primitives.dll")]
-[assembly: AssemblyDefaultAlias ("System.Drawing.Primitives.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
diff --git a/mcs/class/Facades/System.Drawing.Primitives/Makefile b/mcs/class/Facades/System.Drawing.Primitives/Makefile
deleted file mode 100644
index e788928d5b3..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Drawing.Primitives
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Drawing.Primitives.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-ifneq (2.1, $(FRAMEWORK_VERSION))
-ifndef XAMMAC_4_5
-LIB_REFS += System.Drawing
-endif
-endif
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
diff --git a/mcs/class/Facades/System.Drawing.Primitives/System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 719628dc7c6..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1,2 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
diff --git a/mcs/class/Facades/System.Drawing.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.Drawing.Primitives/TypeForwarders.cs
deleted file mode 100644
index af29167e6b1..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/TypeForwarders.cs
+++ /dev/null
@@ -1,28 +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.Drawing.Point))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.PointF))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.Rectangle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.RectangleF))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.Size))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.SizeF))]
diff --git a/mcs/class/Facades/System.Drawing.Primitives/mobile_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/mobile_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index dd5e4210119..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/mobile_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1,8 +0,0 @@
-AssemblyInfo.cs
-
-../../System.Drawing/System.Drawing/Point.cs
-../../System.Drawing/System.Drawing/PointF.cs
-../../System.Drawing/System.Drawing/Rectangle.cs
-../../System.Drawing/System.Drawing/RectangleF.cs
-../../System.Drawing/System.Drawing/Size.cs
-../../System.Drawing/System.Drawing/SizeF.cs
diff --git a/mcs/class/Facades/System.Drawing.Primitives/mobile_static_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/mobile_static_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/mobile_static_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/monodroid_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/monodroid_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/monodroid_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/monotouch_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/monotouch_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/monotouch_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/monotouch_tv_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/monotouch_tv_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/monotouch_tv_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/xammac_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/xammac_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/xammac_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Drawing.Primitives/xammac_net_4_5_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/xammac_net_4_5_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 006657ab21b..00000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/xammac_net_4_5_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include mobile_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/System.Globalization.Extensions/GlobalizationExtensions.cs b/mcs/class/Facades/System.Globalization.Extensions/GlobalizationExtensions.cs
deleted file mode 100644
index 43c1494eca7..00000000000
--- a/mcs/class/Facades/System.Globalization.Extensions/GlobalizationExtensions.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Diagnostics;
-using System.Diagnostics.Contracts;
-
-namespace System.Globalization
-{
- public static class GlobalizationExtensions
- {
- public static StringComparer GetStringComparer(this CompareInfo compareInfo, CompareOptions options)
- {
- if (compareInfo == null)
- {
- throw new ArgumentNullException(nameof(compareInfo));
- }
-
- if (options == CompareOptions.Ordinal)
- {
- return StringComparer.Ordinal;
- }
-
- if (options == CompareOptions.OrdinalIgnoreCase)
- {
- return StringComparer.OrdinalIgnoreCase;
- }
-
- if ((options & CultureAwareComparer.ValidCompareMaskOffFlags) != 0)
- {
- throw new ArgumentException(SR.Argument_InvalidFlag, nameof(options));
- }
-
- return new CultureAwareComparer(compareInfo, options);
- }
- }
-
- internal sealed class CultureAwareComparer : StringComparer
- {
- internal const CompareOptions ValidCompareMaskOffFlags =
- ~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace |
- CompareOptions.IgnoreWidth | CompareOptions.IgnoreKanaType | CompareOptions.StringSort);
-
- private readonly CompareInfo _compareInfo;
- private readonly CompareOptions _options;
-
- internal CultureAwareComparer(CompareInfo compareInfo, CompareOptions options)
- {
- Debug.Assert((options & ValidCompareMaskOffFlags) == 0);
- _compareInfo = compareInfo;
- _options = options;
- }
-
- public override int Compare(string x, string y)
- {
- if (Object.ReferenceEquals(x, y)) return 0;
- if (x == null) return -1;
- if (y == null) return 1;
- return _compareInfo.Compare(x, y, _options);
- }
-
- public override bool Equals(string x, string y)
- {
- if (Object.ReferenceEquals(x, y)) return true;
- if (x == null || y == null) return false;
-
- return (_compareInfo.Compare(x, y, _options) == 0);
- }
-
- public override int GetHashCode(string obj)
- {
- if (obj == null)
- {
- throw new ArgumentNullException(nameof(obj));
- }
- Contract.EndContractBlock();
-
- // StringSort used in compare operation and not with the hashing
- return _compareInfo.GetHashCode(obj, _options & (~CompareOptions.StringSort));
- }
-
- // Equals method for the comparer itself.
- public override bool Equals(object obj)
- {
- CultureAwareComparer comparer = obj as CultureAwareComparer;
- return
- comparer != null &&
- _options == comparer._options &&
- _compareInfo.Equals(comparer._compareInfo);
- }
-
- public override int GetHashCode()
- {
- return _compareInfo.GetHashCode() ^ ((int)_options & 0x7FFFFFFF);
- }
- }
-}
diff --git a/mcs/class/Facades/System.Globalization.Extensions/SR.cs b/mcs/class/Facades/System.Globalization.Extensions/SR.cs
deleted file mode 100644
index 52a75a8e6dc..00000000000
--- a/mcs/class/Facades/System.Globalization.Extensions/SR.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-partial class SR
-{
- public const string Argument_InvalidFlag = "Value of flags is invalid.";
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Globalization.Extensions/StringNormalizationExtensions.cs b/mcs/class/Facades/System.Globalization.Extensions/StringNormalizationExtensions.cs
deleted file mode 100644
index 7953b29b9ab..00000000000
--- a/mcs/class/Facades/System.Globalization.Extensions/StringNormalizationExtensions.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// StringNormalizationExtensions.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.Text;
-
-namespace System
-{
- public static class StringNormalizationExtensions
- {
- [MonoTODO]
- public static bool IsNormalized(this string value)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static bool IsNormalized(this string value, NormalizationForm normalizationForm)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static String Normalize(this string value)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static String Normalize(this string value, NormalizationForm normalizationForm)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
diff --git a/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions.dll.sources b/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions.dll.sources
index 8cec8fa1ac3..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions.dll.sources
+++ b/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions.dll.sources
@@ -1,7 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-SR.cs
-GlobalizationExtensions.cs
-StringNormalizationExtensions.cs
diff --git a/mcs/class/Facades/System.Globalization.Extensions/TypeForwarders.cs b/mcs/class/Facades/System.Globalization.Extensions/TypeForwarders.cs
index ae5a0bbb413..2f88c337195 100644
--- a/mcs/class/Facades/System.Globalization.Extensions/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Globalization.Extensions/TypeForwarders.cs
@@ -22,3 +22,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.IdnMapping))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.NormalizationForm))]
+// Missing: [assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.GlobalizationExtensions))]
+// Missing: [assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringNormalizationExtensions))]
diff --git a/mcs/class/Facades/System.IO.Compression/AssemblyInfo.cs b/mcs/class/Facades/System.IO.Compression/AssemblyInfo.cs
deleted file mode 100644
index 08e157f660d..00000000000
--- a/mcs/class/Facades/System.IO.Compression/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.IO.Compression.dll")]
-[assembly: AssemblyDescription ("System.IO.Compression.dll")]
-[assembly: AssemblyDefaultAlias ("System.IO.Compression.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.IO.Compression/Makefile b/mcs/class/Facades/System.IO.Compression/Makefile
deleted file mode 100644
index 4fbfc5625b5..00000000000
--- a/mcs/class/Facades/System.IO.Compression/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.IO.Compression
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.IO.Compression.dll
-
-KEY_FILE = ../../msfinal.pub
-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.IO.Compression/Missing.cs b/mcs/class/Facades/System.IO.Compression/Missing.cs
deleted file mode 100644
index cd06b1c6842..00000000000
--- a/mcs/class/Facades/System.IO.Compression/Missing.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// This is stub only. The implementation should come from https://github.com/dotnet/corefx/tree/master/src/System.IO.Compression/src/System/IO/Compression
-
-namespace System.IO.Compression
-{
- public class ZipArchive : System.IDisposable
- {
- public ZipArchive(System.IO.Stream stream) { }
- public ZipArchive(System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode) { }
- public ZipArchive(System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen) { }
- public ZipArchive(System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen, System.Text.Encoding entryNameEncoding) { }
- public System.Collections.ObjectModel.ReadOnlyCollection<System.IO.Compression.ZipArchiveEntry> Entries { get { return default(System.Collections.ObjectModel.ReadOnlyCollection<System.IO.Compression.ZipArchiveEntry>); } }
- public System.IO.Compression.ZipArchiveMode Mode { get { return default(System.IO.Compression.ZipArchiveMode); } }
- public System.IO.Compression.ZipArchiveEntry CreateEntry(string entryName) { return default(System.IO.Compression.ZipArchiveEntry); }
- public System.IO.Compression.ZipArchiveEntry CreateEntry(string entryName, System.IO.Compression.CompressionLevel compressionLevel) { return default(System.IO.Compression.ZipArchiveEntry); }
- public void Dispose() { }
- protected virtual void Dispose(bool disposing) { }
- public System.IO.Compression.ZipArchiveEntry GetEntry(string entryName) { return default(System.IO.Compression.ZipArchiveEntry); }
- }
-
- public partial class ZipArchiveEntry
- {
- internal ZipArchiveEntry() { }
- public System.IO.Compression.ZipArchive Archive { get { return default(System.IO.Compression.ZipArchive); } }
- public long CompressedLength { get { return default(long); } }
- public string FullName { get { return default(string); } }
- public System.DateTimeOffset LastWriteTime { get { return default(System.DateTimeOffset); } set { } }
- public long Length { get { return default(long); } }
- public string Name { get { return default(string); } }
- public void Delete() { }
- public System.IO.Stream Open() { return default(System.IO.Stream); }
- public override string ToString() { return default(string); }
- }
-
- public enum ZipArchiveMode
- {
- Create = 1,
- Read = 0,
- Update = 2,
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.IO.Compression/System.IO.Compression.dll.sources b/mcs/class/Facades/System.IO.Compression/System.IO.Compression.dll.sources
deleted file mode 100644
index 402d066e4c3..00000000000
--- a/mcs/class/Facades/System.IO.Compression/System.IO.Compression.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-Missing.cs
diff --git a/mcs/class/Facades/System.IO.Compression/TypeForwarders.cs b/mcs/class/Facades/System.IO.Compression/TypeForwarders.cs
deleted file mode 100644
index 5eaf037320b..00000000000
--- a/mcs/class/Facades/System.IO.Compression/TypeForwarders.cs
+++ /dev/null
@@ -1,28 +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.Compression.CompressionLevel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Compression.CompressionMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Compression.DeflateStream))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Compression.GZipStream))]
-
-
diff --git a/mcs/class/Facades/System.IO.FileSystem.AccessControl/FileSystemAclExtensions.cs b/mcs/class/Facades/System.IO.FileSystem.AccessControl/FileSystemAclExtensions.cs
deleted file mode 100644
index 1dd8d97ab5e..00000000000
--- a/mcs/class/Facades/System.IO.FileSystem.AccessControl/FileSystemAclExtensions.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// FileSystemAclExtensions.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.IO
-{
- public static partial class FileSystemAclExtensions
- {
- [MonoTODO]
- public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.DirectoryInfo directoryInfo)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.DirectoryInfo directoryInfo, System.Security.AccessControl.AccessControlSections includeSections)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.FileInfo fileInfo)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.FileInfo fileInfo, System.Security.AccessControl.AccessControlSections includeSections)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.FileStream fileStream)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl(this System.IO.DirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl(this System.IO.FileInfo fileInfo, System.Security.AccessControl.FileSecurity fileSecurity)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl(this System.IO.FileStream fileStream, System.Security.AccessControl.FileSecurity fileSecurity)
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl.dll.sources b/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl.dll.sources
index d226e0d4c80..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl.dll.sources
+++ b/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-FileSystemAclExtensions.cs
diff --git a/mcs/class/Facades/System.IO.FileSystem.AccessControl/TypeForwarders.cs b/mcs/class/Facades/System.IO.FileSystem.AccessControl/TypeForwarders.cs
index 18351db171e..12daecd0383 100644
--- a/mcs/class/Facades/System.IO.FileSystem.AccessControl/TypeForwarders.cs
+++ b/mcs/class/Facades/System.IO.FileSystem.AccessControl/TypeForwarders.cs
@@ -27,3 +27,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.FileSystemAuditRule))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.FileSystemRights))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.FileSystemSecurity))]
+
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.FileSystemAclExtensions))]
diff --git a/mcs/class/Facades/System.IO.FileSystem.Watcher/TypeForwarders.cs b/mcs/class/Facades/System.IO.FileSystem.Watcher/TypeForwarders.cs
index b25bcf38598..6237d34bfc4 100644
--- a/mcs/class/Facades/System.IO.FileSystem.Watcher/TypeForwarders.cs
+++ b/mcs/class/Facades/System.IO.FileSystem.Watcher/TypeForwarders.cs
@@ -29,6 +29,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.RenamedEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.RenamedEventHandler))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.WatcherChangeTypes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.WaitForChangedResult))]
diff --git a/mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs b/mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs
deleted file mode 100644
index 7b0813f74ff..00000000000
--- a/mcs/class/Facades/System.IO.Packaging/AssemblyInfo.cs
+++ /dev/null
@@ -1,39 +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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
diff --git a/mcs/class/Facades/System.IO.Packaging/Makefile b/mcs/class/Facades/System.IO.Packaging/Makefile
deleted file mode 100644
index cbf6d68139c..00000000000
--- a/mcs/class/Facades/System.IO.Packaging/Makefile
+++ /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
index 719628dc7c6..00000000000
--- a/mcs/class/Facades/System.IO.Packaging/System.IO.Packaging.dll.sources
+++ /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
index a3c45042f14..00000000000
--- a/mcs/class/Facades/System.IO.Packaging/TypeForwarders.cs
+++ /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))]
diff --git a/mcs/class/Facades/System.IO/TypeForwarders.cs b/mcs/class/Facades/System.IO/TypeForwarders.cs
index 2c84d4bac3c..ea526e77de4 100644
--- a/mcs/class/Facades/System.IO/TypeForwarders.cs
+++ b/mcs/class/Facades/System.IO/TypeForwarders.cs
@@ -35,5 +35,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.StringWriter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextReader))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextWriter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.BufferedStream))]
diff --git a/mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs b/mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs
index 6b82ffb42f3..52af3f619ec 100644
--- a/mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs
@@ -64,5 +64,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable<>))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IArgumentProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IDynamicExpression))]
+
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IArgumentProvider))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IDynamicExpression))]
diff --git a/mcs/class/Facades/System.Net.Ping/AssemblyInfo.cs b/mcs/class/Facades/System.Net.Ping/AssemblyInfo.cs
deleted file mode 100644
index 507e590b98f..00000000000
--- a/mcs/class/Facades/System.Net.Ping/AssemblyInfo.cs
+++ /dev/null
@@ -1,39 +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.Net.Ping.dll")]
-[assembly: AssemblyDescription ("System.Net.Ping.dll")]
-[assembly: AssemblyDefaultAlias ("System.Net.Ping.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
diff --git a/mcs/class/Facades/System.Net.Ping/Makefile b/mcs/class/Facades/System.Net.Ping/Makefile
deleted file mode 100644
index 750ace69439..00000000000
--- a/mcs/class/Facades/System.Net.Ping/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Net.Ping
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Net.Ping.dll
-
-KEY_FILE = ../../msfinal.pub
-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.Net.Ping/System.Net.Ping.dll.sources b/mcs/class/Facades/System.Net.Ping/System.Net.Ping.dll.sources
deleted file mode 100644
index 719628dc7c6..00000000000
--- a/mcs/class/Facades/System.Net.Ping/System.Net.Ping.dll.sources
+++ /dev/null
@@ -1,2 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
diff --git a/mcs/class/Facades/System.Net.Ping/TypeForwarders.cs b/mcs/class/Facades/System.Net.Ping/TypeForwarders.cs
deleted file mode 100644
index 2f79a42a82f..00000000000
--- a/mcs/class/Facades/System.Net.Ping/TypeForwarders.cs
+++ /dev/null
@@ -1,27 +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.Net.NetworkInformation.IPStatus))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.Ping))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.PingException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.PingOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.PingReply))]
diff --git a/mcs/class/Facades/System.Net.Security/TypeForwarders.cs b/mcs/class/Facades/System.Net.Security/TypeForwarders.cs
index 3167d764e13..884e50a3fd2 100644
--- a/mcs/class/Facades/System.Net.Security/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Net.Security/TypeForwarders.cs
@@ -20,11 +20,8 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.AuthenticatedStream))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.EncryptionPolicy))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.LocalCertificateSelectionCallback))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.NegotiateStream))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.ProtectionLevel))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.RemoteCertificateValidationCallback))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Security.SslStream))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Authentication.AuthenticationException))]
@@ -32,6 +29,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Authentication.ExtendedProtection.PolicyEnforcement))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Authentication.ExtendedProtection.ProtectionScenario))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Authentication.ExtendedProtection.ServiceNameCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Authentication.InvalidCredentialException))]
diff --git a/mcs/class/Facades/System.Net.Sockets/SocketReceiveFromResult.cs b/mcs/class/Facades/System.Net.Sockets/SocketReceiveFromResult.cs
deleted file mode 100644
index 2add0e6daf7..00000000000
--- a/mcs/class/Facades/System.Net.Sockets/SocketReceiveFromResult.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// SocketReceiveFromResult.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.Net.Sockets
-{
- public struct SocketReceiveFromResult
- {
- public int ReceivedBytes;
- public EndPoint RemoteEndPoint;
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Net.Sockets/SocketReceiveMessageFromResult.cs b/mcs/class/Facades/System.Net.Sockets/SocketReceiveMessageFromResult.cs
deleted file mode 100644
index ab5ed1022fa..00000000000
--- a/mcs/class/Facades/System.Net.Sockets/SocketReceiveMessageFromResult.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// SocketReceiveMessageFromResult.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.Net.Sockets
-{
- public struct SocketReceiveMessageFromResult
- {
- public int ReceivedBytes;
- public SocketFlags SocketFlags;
- public EndPoint RemoteEndPoint;
- public IPPacketInformation PacketInformation;
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Net.Sockets/SocketTaskExtensions.cs b/mcs/class/Facades/System.Net.Sockets/SocketTaskExtensions.cs
deleted file mode 100644
index a3e24ede013..00000000000
--- a/mcs/class/Facades/System.Net.Sockets/SocketTaskExtensions.cs
+++ /dev/null
@@ -1,250 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace System.Net.Sockets
-{
- public static class SocketTaskExtensions
- {
- public static Task<Socket> AcceptAsync(this Socket socket)
- {
- return Task<Socket>.Factory.FromAsync(
- (callback, state) => ((Socket)state).BeginAccept(callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndAccept(asyncResult),
- state: socket);
- }
-
- public static Task<Socket> AcceptAsync(this Socket socket, Socket acceptSocket)
- {
- const int ReceiveSize = 0;
- return Task<Socket>.Factory.FromAsync(
- (socketForAccept, receiveSize, callback, state) => ((Socket)state).BeginAccept(socketForAccept, receiveSize, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndAccept(asyncResult),
- acceptSocket,
- ReceiveSize,
- state: socket);
- }
-
- public static Task ConnectAsync(this Socket socket, EndPoint remoteEndPoint)
- {
- return Task.Factory.FromAsync(
- (targetEndPoint, callback, state) => ((Socket)state).BeginConnect(targetEndPoint, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndConnect(asyncResult),
- remoteEndPoint,
- state: socket);
- }
-
- public static Task ConnectAsync(this Socket socket, IPAddress address, int port)
- {
- return Task.Factory.FromAsync(
- (targetAddress, targetPort, callback, state) => ((Socket)state).BeginConnect(targetAddress, targetPort, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndConnect(asyncResult),
- address,
- port,
- state: socket);
- }
-
- public static Task ConnectAsync(this Socket socket, IPAddress[] addresses, int port)
- {
- return Task.Factory.FromAsync(
- (targetAddresses, targetPort, callback, state) => ((Socket)state).BeginConnect(targetAddresses, targetPort, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndConnect(asyncResult),
- addresses,
- port,
- state: socket);
- }
-
- public static Task ConnectAsync(this Socket socket, string host, int port)
- {
- return Task.Factory.FromAsync(
- (targetHost, targetPort, callback, state) => ((Socket)state).BeginConnect(targetHost, targetPort, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndConnect(asyncResult),
- host,
- port,
- state: socket);
- }
-
- public static Task<int> ReceiveAsync(this Socket socket, ArraySegment<byte> buffer, SocketFlags socketFlags)
- {
- return Task<int>.Factory.FromAsync(
- (targetBuffer, flags, callback, state) => ((Socket)state).BeginReceive(
- targetBuffer.Array,
- targetBuffer.Offset,
- targetBuffer.Count,
- flags,
- callback,
- state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndReceive(asyncResult),
- buffer,
- socketFlags,
- state: socket);
- }
-
- public static Task<int> ReceiveAsync(
- this Socket socket,
- IList<ArraySegment<byte>> buffers,
- SocketFlags socketFlags)
- {
- return Task<int>.Factory.FromAsync(
- (targetBuffers, flags, callback, state) => ((Socket)state).BeginReceive(targetBuffers, flags, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndReceive(asyncResult),
- buffers,
- socketFlags,
- state: socket);
- }
-
- public static Task<SocketReceiveFromResult> ReceiveFromAsync(
- this Socket socket,
- ArraySegment<byte> buffer,
- SocketFlags socketFlags,
- EndPoint remoteEndPoint)
- {
- object[] packedArguments = new object[] { socket, remoteEndPoint };
-
- return Task<SocketReceiveFromResult>.Factory.FromAsync(
- (targetBuffer, flags, callback, state) =>
- {
- var arguments = (object[])state;
- var s = (Socket)arguments[0];
- var e = (EndPoint)arguments[1];
-
- IAsyncResult result = s.BeginReceiveFrom(
- targetBuffer.Array,
- targetBuffer.Offset,
- targetBuffer.Count,
- flags,
- ref e,
- callback,
- state);
-
- arguments[1] = e;
- return result;
- },
- asyncResult =>
- {
- var arguments = (object[])asyncResult.AsyncState;
- var s = (Socket)arguments[0];
- var e = (EndPoint)arguments[1];
-
- int bytesReceived = s.EndReceiveFrom(asyncResult, ref e);
-
- return new SocketReceiveFromResult()
- {
- ReceivedBytes = bytesReceived,
- RemoteEndPoint = e
- };
- },
- buffer,
- socketFlags,
- state: packedArguments);
- }
-
- public static Task<SocketReceiveMessageFromResult> ReceiveMessageFromAsync(
- this Socket socket,
- ArraySegment<byte> buffer,
- SocketFlags socketFlags,
- EndPoint remoteEndPoint)
- {
- object[] packedArguments = new object[] { socket, socketFlags, remoteEndPoint };
-
- return Task<SocketReceiveMessageFromResult>.Factory.FromAsync(
- (targetBuffer, callback, state) =>
- {
- var arguments = (object[])state;
- var s = (Socket)arguments[0];
- var f = (SocketFlags)arguments[1];
- var e = (EndPoint)arguments[2];
-
- IAsyncResult result = s.BeginReceiveMessageFrom(
- targetBuffer.Array,
- targetBuffer.Offset,
- targetBuffer.Count,
- f,
- ref e,
- callback,
- state);
-
- arguments[2] = e;
- return result;
- },
- asyncResult =>
- {
- var arguments = (object[])asyncResult.AsyncState;
- var s = (Socket)arguments[0];
- var f = (SocketFlags)arguments[1];
- var e = (EndPoint)arguments[2];
- IPPacketInformation ipPacket;
-
- int bytesReceived = s.EndReceiveMessageFrom(
- asyncResult,
- ref f,
- ref e,
- out ipPacket);
-
- return new SocketReceiveMessageFromResult()
- {
- PacketInformation = ipPacket,
- ReceivedBytes = bytesReceived,
- RemoteEndPoint = e,
- SocketFlags = f
- };
- },
- buffer,
- state: packedArguments);
- }
-
- public static Task<int> SendAsync(this Socket socket, ArraySegment<byte> buffer, SocketFlags socketFlags)
- {
- return Task<int>.Factory.FromAsync(
- (targetBuffer, flags, callback, state) => ((Socket)state).BeginSend(
- targetBuffer.Array,
- targetBuffer.Offset,
- targetBuffer.Count,
- flags,
- callback,
- state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndSend(asyncResult),
- buffer,
- socketFlags,
- state: socket);
- }
-
- public static Task<int> SendAsync(
- this Socket socket,
- IList<ArraySegment<byte>> buffers,
- SocketFlags socketFlags)
- {
- return Task<int>.Factory.FromAsync(
- (targetBuffers, flags, callback, state) => ((Socket)state).BeginSend(targetBuffers, flags, callback, state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndSend(asyncResult),
- buffers,
- socketFlags,
- state: socket);
- }
-
- public static Task<int> SendToAsync(
- this Socket socket,
- ArraySegment<byte> buffer,
- SocketFlags socketFlags,
- EndPoint remoteEndPoint)
- {
- return Task<int>.Factory.FromAsync(
- (targetBuffer, flags, endPoint, callback, state) => ((Socket)state).BeginSendTo(
- targetBuffer.Array,
- targetBuffer.Offset,
- targetBuffer.Count,
- flags,
- endPoint,
- callback,
- state),
- asyncResult => ((Socket)asyncResult.AsyncState).EndSendTo(asyncResult),
- buffer,
- socketFlags,
- remoteEndPoint,
- state: socket);
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets.dll.sources b/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets.dll.sources
index a4cab35a66b..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets.dll.sources
+++ b/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-SocketReceiveFromResult.cs
-SocketReceiveMessageFromResult.cs
-SocketTaskExtensions.cs
+
diff --git a/mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs
index a3dd7e7c887..cfa70ce24a5 100644
--- a/mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs
@@ -20,6 +20,7 @@
// THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.FlowControl))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OpCode))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OpCodes))]
@@ -27,6 +28,7 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OperandType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.PackingSize))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.StackBehaviour))]
+#endif
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CallingConventions))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.EventAttributes))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.FieldAttributes))]
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/Requires.cs b/mcs/class/Facades/System.Reflection.TypeExtensions/Requires.cs
deleted file mode 100644
index 339981b9afc..00000000000
--- a/mcs/class/Facades/System.Reflection.TypeExtensions/Requires.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Reflection
-{
- internal static class Requires
- {
- internal static void NotNull(object obj, string name)
- {
- if (obj == null)
- {
- throw new ArgumentNullException(name);
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/SR.cs b/mcs/class/Facades/System.Reflection.TypeExtensions/SR.cs
deleted file mode 100644
index 0a1ae286b52..00000000000
--- a/mcs/class/Facades/System.Reflection.TypeExtensions/SR.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-partial class SR
-{
- public const string NoMetadataTokenAvailable = "There is no metadata token available for the given member.";
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions.dll.sources b/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions.dll.sources
index 06522762fb9..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions.dll.sources
+++ b/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions.dll.sources
@@ -1,6 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-SR.cs
-Requires.cs
-TypeExtensions.CoreCLR.cs
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/TypeExtensions.CoreCLR.cs b/mcs/class/Facades/System.Reflection.TypeExtensions/TypeExtensions.CoreCLR.cs
deleted file mode 100644
index 661cd67a0ea..00000000000
--- a/mcs/class/Facades/System.Reflection.TypeExtensions/TypeExtensions.CoreCLR.cs
+++ /dev/null
@@ -1,400 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-// NOTE: These are extension methods in the contract, but plain static methods
-// in this implementation. This is done to avoid confusion around what would
-// look like infinite recursion in the implementation. Callers compiled against
-// the contract will still be able to invoke them as extension methods and get
-// source compatibility with classic reflection code.
-//
-// However, this does not apply if there is no 1:1 correspondence with an instance
-// in mscorlib. New extension methods should be marked with 'this'.
-
-namespace System.Reflection
-{
- public static class TypeExtensions
- {
- public static ConstructorInfo GetConstructor(Type type, Type[] types)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetConstructor(types);
- }
-
- public static ConstructorInfo[] GetConstructors(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetConstructors();
- }
-
- public static ConstructorInfo[] GetConstructors(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetConstructors(bindingAttr);
- }
-
- public static MemberInfo[] GetDefaultMembers(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetDefaultMembers();
- }
-
- public static EventInfo GetEvent(Type type, string name)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetEvent(name);
- }
-
- public static EventInfo GetEvent(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetEvent(name, bindingAttr);
- }
-
- public static EventInfo[] GetEvents(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetEvents();
- }
-
- public static EventInfo[] GetEvents(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetEvents(bindingAttr);
- }
-
- public static FieldInfo GetField(Type type, string name)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetField(name);
- }
-
- public static FieldInfo GetField(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetField(name, bindingAttr);
- }
-
- public static FieldInfo[] GetFields(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetFields();
- }
-
- public static FieldInfo[] GetFields(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetFields(bindingAttr);
- }
-
- public static Type[] GetGenericArguments(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetGenericArguments();
- }
-
- public static Type[] GetInterfaces(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetInterfaces();
- }
-
- public static MemberInfo[] GetMember(Type type, string name)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMember(name);
- }
-
- public static MemberInfo[] GetMember(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMember(name, bindingAttr);
- }
-
- public static MemberInfo[] GetMembers(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMembers();
- }
-
- public static MemberInfo[] GetMembers(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMembers(bindingAttr);
- }
-
- public static MethodInfo GetMethod(Type type, string name)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMethod(name);
- }
-
- public static MethodInfo GetMethod(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMethod(name, bindingAttr);
- }
-
- public static MethodInfo GetMethod(Type type, string name, Type[] types)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMethod(name, types);
- }
-
- public static MethodInfo[] GetMethods(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMethods();
- }
-
- public static MethodInfo[] GetMethods(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetMethods(bindingAttr);
- }
-
- public static Type GetNestedType(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetNestedType(name, bindingAttr);
- }
-
- public static Type[] GetNestedTypes(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetNestedTypes(bindingAttr);
- }
-
- public static PropertyInfo[] GetProperties(Type type)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperties();
- }
-
- public static PropertyInfo[] GetProperties(Type type, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperties(bindingAttr);
- }
-
- public static PropertyInfo GetProperty(Type type, string name)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperty(name);
- }
-
- public static PropertyInfo GetProperty(Type type, string name, BindingFlags bindingAttr)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperty(name, bindingAttr);
- }
-
- public static PropertyInfo GetProperty(Type type, string name, Type returnType)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperty(name, returnType);
- }
-
- public static PropertyInfo GetProperty(Type type, string name, Type returnType, Type[] types)
- {
- Requires.NotNull(type, nameof(type));
- return type.GetProperty(name, returnType, types);
- }
-
- public static bool IsAssignableFrom(Type type, Type c)
- {
- Requires.NotNull(type, nameof(type));
- return type.IsAssignableFrom(c);
- }
-
- public static bool IsInstanceOfType(Type type, object o)
- {
- Requires.NotNull(type, nameof(type));
- return type.IsInstanceOfType(o);
- }
- }
-
- public static class AssemblyExtensions
- {
- public static Type[] GetExportedTypes(Assembly assembly)
- {
- Requires.NotNull(assembly, nameof(assembly));
- return assembly.GetExportedTypes();
- }
-
- public static Module[] GetModules(Assembly assembly)
- {
- Requires.NotNull(assembly, nameof(assembly));
- return assembly.GetModules();
- }
-
- public static Type[] GetTypes(Assembly assembly)
- {
- Requires.NotNull(assembly, nameof(assembly));
- return assembly.GetTypes();
- }
- }
-
- public static class EventInfoExtensions
- {
- public static MethodInfo GetAddMethod(EventInfo eventInfo)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetAddMethod();
- }
-
- public static MethodInfo GetAddMethod(EventInfo eventInfo, bool nonPublic)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetAddMethod(nonPublic);
- }
-
- public static MethodInfo GetRaiseMethod(EventInfo eventInfo)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetRaiseMethod();
- }
-
- public static MethodInfo GetRaiseMethod(EventInfo eventInfo, bool nonPublic)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetRaiseMethod(nonPublic);
- }
-
- public static MethodInfo GetRemoveMethod(EventInfo eventInfo)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetRemoveMethod();
- }
-
- public static MethodInfo GetRemoveMethod(EventInfo eventInfo, bool nonPublic)
- {
- Requires.NotNull(eventInfo, nameof(eventInfo));
- return eventInfo.GetRemoveMethod(nonPublic);
- }
- }
-
- public static class MemberInfoExtensions
- {
-
- /// <summary>
- /// Determines if there is a metadata token available for the given member.
- /// <see cref="GetMetadataToken(MemberInfo)"/> throws <see cref="InvalidOperationException"/> otherwise.
- /// </summary>
- /// <remarks>This maybe</remarks>
- public static bool HasMetadataToken(this MemberInfo member)
- {
- Requires.NotNull(member, nameof(member));
-
- try
- {
- return GetMetadataTokenOrZeroOrThrow(member) != 0;
- }
- catch (InvalidOperationException)
- {
- // Thrown for unbaked ref-emit members/types.
- // Other cases such as typeof(byte[]).MetadataToken will be handled by comparison to zero above.
- return false;
- }
- }
-
- /// <summary>
- /// Gets a metadata token for the given member if available. The returned token is never nil.
- /// </summary>
- /// <exception cref="InvalidOperationException">
- /// There is no metadata token available. <see cref="HasMetadataToken(MemberInfo)"/> returns false in this case.
- /// </exception>
- public static int GetMetadataToken(this MemberInfo member)
- {
- Requires.NotNull(member, nameof(member));
-
- int token = GetMetadataTokenOrZeroOrThrow(member);
-
- if (token == 0)
- {
- throw new InvalidOperationException(SR.NoMetadataTokenAvailable);
- }
-
- return token;
- }
-
- private static int GetMetadataTokenOrZeroOrThrow(MemberInfo member)
- {
- int token = member.MetadataToken;
-
- // Tokens have MSB = table index, 3 LSBs = row index
- // row index of 0 is a nil token
- const int rowMask = 0x00FFFFFF;
- if ((token & rowMask) == 0)
- {
- // Nil token is returned for edge cases like typeof(byte[]).MetadataToken.
- return 0;
- }
-
- return token;
- }
- }
-
- public static class MethodInfoExtensions
- {
- public static MethodInfo GetBaseDefinition(MethodInfo method)
- {
- Requires.NotNull(method, nameof(method));
- return method.GetBaseDefinition();
- }
- }
-
- public static class ModuleExtensions
- {
- public static bool HasModuleVersionId(this Module module)
- {
- Requires.NotNull(module, nameof(module));
- return true; // not expected to fail on platforms with Module.ModuleVersionId built-in.
- }
-
- public static Guid GetModuleVersionId(this Module module)
- {
- Requires.NotNull(module, nameof(module));
- return module.ModuleVersionId;
- }
- }
-
- public static class PropertyInfoExtensions
- {
- public static MethodInfo[] GetAccessors(PropertyInfo property)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetAccessors();
- }
-
- public static MethodInfo[] GetAccessors(PropertyInfo property, bool nonPublic)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetAccessors(nonPublic);
- }
-
- public static MethodInfo GetGetMethod(PropertyInfo property)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetGetMethod();
- }
-
- public static MethodInfo GetGetMethod(PropertyInfo property, bool nonPublic)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetGetMethod(nonPublic);
- }
-
- public static MethodInfo GetSetMethod(PropertyInfo property)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetSetMethod();
- }
-
- public static MethodInfo GetSetMethod(PropertyInfo property, bool nonPublic)
- {
- Requires.NotNull(property, nameof(property));
- return property.GetSetMethod(nonPublic);
- }
- }
-}
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/TypeForwarders.cs b/mcs/class/Facades/System.Reflection.TypeExtensions/TypeForwarders.cs
index 757cd130355..a6b0138ff61 100644
--- a/mcs/class/Facades/System.Reflection.TypeExtensions/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Reflection.TypeExtensions/TypeForwarders.cs
@@ -22,3 +22,8 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.BindingFlags))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyExtensions))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.EventInfoExtensions))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodInfoExtensions))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.PropertyInfoExtensions))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TypeExtensions))]
diff --git a/mcs/class/Facades/System.Reflection/TypeForwarders.cs b/mcs/class/Facades/System.Reflection/TypeForwarders.cs
index d1d2b4ecb12..511c1fe2ed3 100644
--- a/mcs/class/Facades/System.Reflection/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Reflection/TypeForwarders.cs
@@ -46,12 +46,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TargetInvocationException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TargetParameterCountException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TypeInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.BindingFlags))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ICustomAttributeProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.InvalidFilterCriteriaException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MemberFilter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MemberTypes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ParameterModifier))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TargetException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TypeFilter))]
diff --git a/mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs b/mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs
index 94249720f6a..a088678a7fb 100644
--- a/mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs
@@ -45,11 +45,12 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.STATSTG))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CriticalHandle))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CurrencyWrapper))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CustomQueryInterfaceMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CustomQueryInterfaceResult))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CustomQueryInterfaceMode))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CustomQueryInterfaceResult))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DefaultCharSetAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DefaultParameterValueAttribute))]
+//[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DispatchWrapper))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DispIdAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DllImportAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DllImportSearchPath))]
@@ -78,60 +79,3 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.UnmanagedType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.VarEnum))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.VariantWrapper))]
-
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComAwareEventInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComEventsHelper))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ADVF))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.BIND_OPTS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.BINDPTR))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.CALLCONV))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.CONNECTDATA))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.DATADIR))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.DESCKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.DISPPARAMS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.DVASPECT))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ELEMDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.EXCEPINFO))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.FILETIME))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.FORMATETC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.FUNCDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.FUNCFLAGS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.FUNCKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IAdviseSink))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IBindCtx))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IConnectionPoint))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IConnectionPointContainer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IDLDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IDLFLAG))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumConnections))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumFORMATETC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumMoniker))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumString))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IEnumVARIANT))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IMoniker))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.INVOKEKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IPersistFile))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.IRunningObjectTable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ITypeComp))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ITypeInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ITypeInfo2))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ITypeLib))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.ITypeLib2))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.LIBFLAGS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.PARAMDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.PARAMFLAG))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.STATDATA))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.STGMEDIUM))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.SYSKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYMED))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYPEATTR))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYPEDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYPEFLAGS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYPEKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.TYPELIBATTR))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.VARDESC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.VARFLAGS))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComTypes.VARKIND))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ICustomQueryInterface))] \ No newline at end of file
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Formatters/AssemblyInfo.cs b/mcs/class/Facades/System.Runtime.Serialization.Formatters/AssemblyInfo.cs
deleted file mode 100644
index 9b921172c12..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Formatters/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Runtime.Serialization.Formatters.dll")]
-[assembly: AssemblyDescription ("System.Runtime.Serialization.Formatters.dll")]
-[assembly: AssemblyDefaultAlias ("System.Runtime.Serialization.Formatters.dll")]
-[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: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Formatters/Makefile b/mcs/class/Facades/System.Runtime.Serialization.Formatters/Makefile
deleted file mode 100644
index a8c237d1da4..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Formatters/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Runtime.Serialization.Formatters
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Runtime.Serialization.Formatters.dll
-
-KEY_FILE = ../../msfinal.pub
-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.Runtime.Serialization.Formatters/System.Runtime.Serialization.Formatters.dll.sources b/mcs/class/Facades/System.Runtime.Serialization.Formatters/System.Runtime.Serialization.Formatters.dll.sources
deleted file mode 100644
index 8e33d4ddeae..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Formatters/System.Runtime.Serialization.Formatters.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Formatters/TypeForwarders.cs b/mcs/class/Facades/System.Runtime.Serialization.Formatters/TypeForwarders.cs
deleted file mode 100644
index 31daa7cdcb4..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Formatters/TypeForwarders.cs
+++ /dev/null
@@ -1,32 +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.NonSerializedAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.IDeserializationCallback))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.IFormatterConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.ISerializable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.SerializationEntry))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.SerializationInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.SerializationInfoEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.SerializableAttribute))]
-
-
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Primitives/ISerializationSurrogateProvider.cs b/mcs/class/Facades/System.Runtime.Serialization.Primitives/ISerializationSurrogateProvider.cs
deleted file mode 100644
index b14b6df5409..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Primitives/ISerializationSurrogateProvider.cs
+++ /dev/null
@@ -1,32 +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.
-//
-
-namespace System.Runtime.Serialization
-{
- public interface ISerializationSurrogateProvider
- {
- object GetDeserializedObject (object obj, Type targetType);
- object GetObjectToSerialize (object obj, Type targetType);
- Type GetSurrogateType (Type type);
- }
-}
-
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources b/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources
index 75ec1201b8f..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources
+++ b/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources
@@ -1,3 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-ISerializationSurrogateProvider.cs
+
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs
index 57b2d4db09c..ce3180fe1f1 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs
@@ -33,4 +33,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.OnSerializingAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.SerializationException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.StreamingContext))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.InvalidDataContractException))]
+
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/DataContractSerializerExtensions.cs b/mcs/class/Facades/System.Runtime.Serialization.Xml/DataContractSerializerExtensions.cs
deleted file mode 100644
index 3ccdff7a346..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/DataContractSerializerExtensions.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-#if !NO_CODEDOM
-using System.CodeDom;
-#endif
-using System.Collections.ObjectModel;
-using System.Reflection;
-
-namespace System.Runtime.Serialization
-{
- public static class DataContractSerializerExtensions
- {
- public static ISerializationSurrogateProvider GetSerializationSurrogateProvider(this DataContractSerializer serializer)
- {
- SurrogateProviderAdapter adapter = serializer.DataContractSurrogate as SurrogateProviderAdapter;
- return (adapter == null) ? null : adapter.Provider;
- }
-
- public static void SetSerializationSurrogateProvider(this DataContractSerializer serializer, ISerializationSurrogateProvider provider)
- {
- // allocate every time, expectation is that this won't happen enough to warrant maintaining a CondtionalWeakTable.
- IDataContractSurrogate adapter = new SurrogateProviderAdapter(provider);
-
- // DCS doesn't expose a setter, access the field directly as a workaround
- typeof(DataContractSerializer)
- .GetField("dataContractSurrogate", BindingFlags.Instance | BindingFlags.NonPublic)
- .SetValue(serializer, adapter);
- }
-
- private class SurrogateProviderAdapter : IDataContractSurrogate
- {
- private ISerializationSurrogateProvider _provider;
- public SurrogateProviderAdapter(ISerializationSurrogateProvider provider)
- {
- _provider = provider;
- }
-
- public ISerializationSurrogateProvider Provider { get { return _provider; } }
- public object GetCustomDataToExport(Type clrType, Type dataContractType)
- {
- throw NotImplemented.ByDesign;
- }
-
- public object GetCustomDataToExport(MemberInfo memberInfo, Type dataContractType)
- {
- throw NotImplemented.ByDesign;
- }
-
- public Type GetDataContractType(Type type)
- {
- return _provider.GetSurrogateType(type);
- }
-
- public object GetDeserializedObject(object obj, Type targetType)
- {
- return _provider.GetDeserializedObject(obj, targetType);
- }
-
- public void GetKnownCustomDataTypes(Collection<Type> customDataTypes)
- {
- throw NotImplemented.ByDesign;
- }
-
- public object GetObjectToSerialize(object obj, Type targetType)
- {
- return _provider.GetObjectToSerialize(obj, targetType);
- }
-
- public Type GetReferencedTypeOnImport(string typeName, string typeNamespace, object customData)
- {
- throw NotImplemented.ByDesign;
- }
-
-#if !NO_CODEDOM
- public CodeTypeDeclaration ProcessImportedType(CodeTypeDeclaration typeDeclaration, CodeCompileUnit compileUnit)
- {
- throw NotImplemented.ByDesign;
- }
-#endif
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile b/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
index 1300ebdfae2..3150204d126 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
+++ b/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
@@ -11,13 +11,9 @@ LIBRARY = System.Runtime.Serialization.Xml.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+LIB_REFS = System.Runtime.Serialization System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
-ifeq (2.1, $(FRAMEWORK_VERSION))
-LIB_MCS_FLAGS += /d:NO_CODEDOM
-endif
-
PLATFORM_DEBUG_FLAGS =
NO_TEST = yes
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/NotImplemented.cs b/mcs/class/Facades/System.Runtime.Serialization.Xml/NotImplemented.cs
deleted file mode 100644
index 26e5342aaf4..00000000000
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/NotImplemented.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System
-{
- //
- // This class enables one to throw a NotImplementedException using the following idiom:
- //
- // throw NotImplemented.ByDesign;
- //
- // Used by methods whose intended implementation is to throw a NotImplementedException (typically
- // virtual methods in public abstract classes that intended to be subclassed by third parties.)
- //
- // This makes it distinguishable both from human eyes and CCI from NYI's that truly represent undone work.
- //
- internal static class NotImplemented
- {
- internal static Exception ByDesign
- {
- get
- {
- return new NotImplementedException();
- }
- }
-
- internal static Exception ByDesignWithMessage(String message)
- {
- return new NotImplementedException(message);
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources b/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources
index d23128800bb..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources
+++ b/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources
@@ -1,6 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-
-DataContractSerializerExtensions.cs
-NotImplemented.cs
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs b/mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs
index 38eea612a47..bfd4e7e4711 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs
@@ -36,4 +36,3 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryWriter))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.OnXmlDictionaryReaderClose))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryReaderQuotaTypes))]
diff --git a/mcs/class/Facades/System.Runtime/TypeForwarders.cs b/mcs/class/Facades/System.Runtime/TypeForwarders.cs
index 03f6d00db31..7184eee8b4b 100644
--- a/mcs/class/Facades/System.Runtime/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Runtime/TypeForwarders.cs
@@ -293,6 +293,3 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IsConst))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeCode))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriFormatException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConditionalWeakTable<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.GCHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.GCHandleType))]
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/AssemblyInfo.cs
deleted file mode 100644
index 76645c38108..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.Algorithms.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.Algorithms.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.Algorithms.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECCurve.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECCurve.cs
deleted file mode 100644
index 3e1733e0c3b..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECCurve.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// ECCurve.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.Security.Cryptography
-{
- [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
- public struct ECCurve
- {
- public byte[] A;
- public byte[] B;
- public byte[] Cofactor;
- public ECCurveType CurveType;
- public ECPoint G;
- public HashAlgorithmName? Hash;
- public byte[] Order;
- public byte[] Polynomial;
- public byte[] Prime;
- public byte[] Seed;
- public bool IsCharacteristic2 { get { throw new NotImplementedException (); } }
- public bool IsExplicit { get { throw new NotImplementedException (); } }
- public bool IsNamed { get { throw new NotImplementedException (); } }
- public bool IsPrime { get { throw new NotImplementedException (); } }
- public Oid Oid { get { throw new NotImplementedException (); } }
- public static ECCurve CreateFromFriendlyName (string oidFriendlyName) { throw new NotImplementedException (); }
- public static ECCurve CreateFromOid (Oid curveOid) { throw new NotImplementedException (); }
- public static ECCurve CreateFromValue (string oidValue) { throw new NotImplementedException (); }
- public void Validate () { throw new NotImplementedException (); }
-
- public enum ECCurveType
- {
- Implicit = 0,
- PrimeShortWeierstrass = 1,
- PrimeTwistedEdwards = 2,
- PrimeMontgomery = 3,
- Characteristic2 = 4,
- Named = 5,
- }
-
- public static class NamedCurves
- {
- public static ECCurve brainpoolP160r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP160t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP192r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP192t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP224r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP224t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP256r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP256t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP320r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP320t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP384r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP384t1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP512r1 { get { throw new NotImplementedException (); } }
- public static ECCurve brainpoolP512t1 { get { throw new NotImplementedException (); } }
- public static ECCurve nistP256 { get { throw new NotImplementedException (); } }
- public static ECCurve nistP384 { get { throw new NotImplementedException (); } }
- public static ECCurve nistP521 { get { throw new NotImplementedException (); } }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECParameters.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECParameters.cs
deleted file mode 100644
index 6f1e4211c8b..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECParameters.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// ECPArameters.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.Security.Cryptography
-{
- [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
- public partial struct ECParameters
- {
- public ECCurve Curve;
- public byte[] D;
- public ECPoint Q;
- public void Validate () { throw new NotImplementedException (); }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECPoint.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECPoint.cs
deleted file mode 100644
index 5693959d0e5..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/ECPoint.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// ECPoint.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.Security.Cryptography
-{
- [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
- public struct ECPoint
- {
- public byte[] X;
- public byte[] Y;
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/IncrementalHash.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/IncrementalHash.cs
deleted file mode 100644
index 7b39b0d9889..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/IncrementalHash.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// IncrementalHash.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.Security.Cryptography
-{
- public sealed class IncrementalHash : IDisposable
- {
- private IncrementalHash () { }
- public HashAlgorithmName AlgorithmName { get { throw new NotImplementedException (); } }
- public void AppendData (byte[] data) { }
- public void AppendData (byte[] data, int offset, int count) { }
- public static IncrementalHash CreateHash (HashAlgorithmName hashAlgorithm) { throw new NotImplementedException (); }
- public static IncrementalHash CreateHMAC (HashAlgorithmName hashAlgorithm, byte[] key) { throw new NotImplementedException (); }
- public void Dispose () { }
- public byte[] GetHashAndReset () { throw new NotImplementedException (); }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/Makefile b/mcs/class/Facades/System.Security.Cryptography.Algorithms/Makefile
deleted file mode 100644
index 389a11cf6cf..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.Algorithms
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.Algorithms.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System System.Core
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/System.Security.Cryptography.Algorithms.dll.sources b/mcs/class/Facades/System.Security.Cryptography.Algorithms/System.Security.Cryptography.Algorithms.dll.sources
deleted file mode 100644
index dcb3ff9de88..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/System.Security.Cryptography.Algorithms.dll.sources
+++ /dev/null
@@ -1,6 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-ECCurve.cs
-ECPoint.cs
-ECParameters.cs
-IncrementalHash.cs
diff --git a/mcs/class/Facades/System.Security.Cryptography.Algorithms/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Algorithms/TypeForwarders.cs
deleted file mode 100644
index 5a59369bd4f..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Algorithms/TypeForwarders.cs
+++ /dev/null
@@ -1,46 +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.Security.Cryptography.Aes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.DeriveBytes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.ECDsa))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMACMD5))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMACSHA1))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMACSHA256))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMACSHA384))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMACSHA512))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.MD5))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RandomNumberGenerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Rfc2898DeriveBytes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSA))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSAEncryptionPadding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSAEncryptionPaddingMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSAParameters))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSASignaturePadding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSASignaturePaddingMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.SHA1))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.SHA256))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.SHA384))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.SHA512))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.TripleDES))]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Cng/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.Cng/AssemblyInfo.cs
deleted file mode 100644
index b902325fdef..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Cng/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.Cng.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.Cng.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.Cng.dll")]
-[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: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Cng/Makefile b/mcs/class/Facades/System.Security.Cryptography.Cng/Makefile
deleted file mode 100644
index 4912aa302c0..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Cng/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.Cng
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.Cng.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System System.Core
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Cng/System.Security.Cryptography.Cng.dll.sources b/mcs/class/Facades/System.Security.Cryptography.Cng/System.Security.Cryptography.Cng.dll.sources
deleted file mode 100644
index 8e33d4ddeae..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Cng/System.Security.Cryptography.Cng.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Cng/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Cng/TypeForwarders.cs
deleted file mode 100644
index 309d6fb5ce3..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Cng/TypeForwarders.cs
+++ /dev/null
@@ -1,46 +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(Microsoft.Win32.SafeHandles.SafeNCryptHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeNCryptProviderHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeNCryptSecretHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.AesCng))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngAlgorithm))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngAlgorithmGroup))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngExportPolicies))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKey))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyBlobFormat))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyCreationOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyCreationParameters))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyHandleOpenOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyOpenOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngKeyUsages))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngProperty))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngPropertyCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngPropertyOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngUIPolicy))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CngUIProtectionLevels))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.ECDsaCng))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSACng))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.TripleDESCng))]
diff --git a/mcs/class/Facades/System.Security.Cryptography.Csp/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.Csp/AssemblyInfo.cs
deleted file mode 100644
index 0d630533adb..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Csp/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.Csp.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.Csp.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.Csp.dll")]
-[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: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Csp/Makefile b/mcs/class/Facades/System.Security.Cryptography.Csp/Makefile
deleted file mode 100644
index 91d09321a61..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Csp/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.Csp
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.Csp.dll
-
-KEY_FILE = ../../msfinal.pub
-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.Security.Cryptography.Csp/System.Security.Cryptography.Csp.dll.sources b/mcs/class/Facades/System.Security.Cryptography.Csp/System.Security.Cryptography.Csp.dll.sources
deleted file mode 100644
index 8e33d4ddeae..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Csp/System.Security.Cryptography.Csp.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Csp/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Csp/TypeForwarders.cs
deleted file mode 100644
index a854f1fba52..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Csp/TypeForwarders.cs
+++ /dev/null
@@ -1,30 +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.Security.Cryptography.CspKeyContainerInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CspParameters))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CspProviderFlags))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.ICspAsymmetricAlgorithm))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.KeyNumber))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.RSACryptoServiceProvider))]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encoding/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Encoding/TypeForwarders.cs
index 07db287ab88..49d90149966 100644
--- a/mcs/class/Facades/System.Security.Cryptography.Encoding/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Security.Cryptography.Encoding/TypeForwarders.cs
@@ -25,5 +25,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.OidCollection))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.OidEnumerator))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.OidGroup))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.AsnEncodedDataCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.AsnEncodedDataEnumerator))]
+
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/AssemblyInfo.cs
deleted file mode 100644
index 3560bf23570..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.OpenSsl.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.OpenSsl.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.OpenSsl.dll")]
-[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: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/ECDsaOpenSsl.cs b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/ECDsaOpenSsl.cs
deleted file mode 100644
index 1a2771a4f36..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/ECDsaOpenSsl.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ECDsaOpenSsl.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.Security.Cryptography
-{
- public sealed class ECDsaOpenSsl : ECDsa
- {
- public override byte[] SignHash (byte[] hash)
- {
- throw new NotImplementedException ();
- }
-
- public override bool VerifyHash (byte[] hash, byte[] signature)
- {
- throw new NotImplementedException ();
- }
-
- // TODO: Implement full contract API
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/Makefile b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/Makefile
deleted file mode 100644
index aa30bc935a1..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.OpenSsl
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.OpenSsl.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System.Core
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/RSAOpenSsl.cs b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/RSAOpenSsl.cs
deleted file mode 100644
index 4bdcd80917c..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/RSAOpenSsl.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// RSAOpenSsl.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.Security.Cryptography
-{
- public sealed class RSAOpenSsl : RSA
- {
- public override RSAParameters ExportParameters (bool includePrivateParameters)
- {
- throw new NotImplementedException ();
- }
-
- public override void ImportParameters (RSAParameters parameters)
- {
- throw new NotImplementedException ();
- }
-
- public override byte[] SignHash (byte[] hash, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding)
- {
- throw new NotImplementedException ();
- }
-
- public override bool VerifyHash (byte[] hash, byte[] signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding)
- {
- throw new NotImplementedException ();
- }
-
- // TODO: Implement full contract API
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/SafeEvpPKeyHandle.cs b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/SafeEvpPKeyHandle.cs
deleted file mode 100644
index 85fd74539b8..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/SafeEvpPKeyHandle.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// SafeEvpPKeyHandle.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.Security.Cryptography
-{
- public sealed class SafeEvpPKeyHandle : System.Runtime.InteropServices.SafeHandle
- {
- public SafeEvpPKeyHandle (IntPtr handle, bool ownsHandle)
- : base (handle, ownsHandle)
- {
- }
-
- public override bool IsInvalid { get { throw new NotImplementedException (); } }
-
- public SafeEvpPKeyHandle DuplicateHandle ()
- {
- throw new NotImplementedException ();
- }
-
- protected override bool ReleaseHandle ()
- {
- return true;
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/System.Security.Cryptography.OpenSsl.dll.sources b/mcs/class/Facades/System.Security.Cryptography.OpenSsl/System.Security.Cryptography.OpenSsl.dll.sources
deleted file mode 100644
index 9e2bb4b66f8..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.OpenSsl/System.Security.Cryptography.OpenSsl.dll.sources
+++ /dev/null
@@ -1,4 +0,0 @@
-AssemblyInfo.cs
-ECDsaOpenSsl.cs
-RSAOpenSsl.cs
-SafeEvpPKeyHandle.cs
diff --git a/mcs/class/Facades/System.Security.Cryptography.Pkcs/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.Pkcs/AssemblyInfo.cs
deleted file mode 100644
index 06089b35e6f..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Pkcs/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.Pkcs.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.Pkcs.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.Pkcs.dll")]
-[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: AssemblyInformationalVersion ("4.0.0.0")]
-[assembly: AssemblyFileVersion ("4.0.0.0")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Pkcs/Makefile b/mcs/class/Facades/System.Security.Cryptography.Pkcs/Makefile
deleted file mode 100644
index b98a24269be..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Pkcs/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.Pkcs
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.Pkcs.dll
-
-KEY_FILE = ../../msfinal.pub
-SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System System.Security
-LIB_MCS_FLAGS = $(SIGN_FLAGS)
-
-PLATFORM_DEBUG_FLAGS =
-
-NO_TEST = yes
-
-include $(MCS_BUILD_DIR)/library.make
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Pkcs/System.Security.Cryptography.Pkcs.dll.sources b/mcs/class/Facades/System.Security.Cryptography.Pkcs/System.Security.Cryptography.Pkcs.dll.sources
deleted file mode 100644
index 8e33d4ddeae..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Pkcs/System.Security.Cryptography.Pkcs.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Pkcs/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Pkcs/TypeForwarders.cs
deleted file mode 100644
index db96723509e..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Pkcs/TypeForwarders.cs
+++ /dev/null
@@ -1,51 +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.Security.Cryptography.CryptographicAttributeObject))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CryptographicAttributeObjectCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CryptographicAttributeObjectEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.AlgorithmIdentifier))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.CmsRecipient))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.CmsRecipientCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.CmsRecipientEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.ContentInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.EnvelopedCms))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.KeyTransRecipientInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9AttributeObject))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9ContentType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9DocumentDescription))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9DocumentName))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9MessageDigest))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.Pkcs9SigningTime))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.PublicKeyInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.RecipientInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.RecipientInfoCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.RecipientInfoEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.RecipientInfoType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.SubjectIdentifier))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.SubjectIdentifierOrKey))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.SubjectIdentifierOrKeyType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Pkcs.SubjectIdentifierType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.Xml.X509IssuerSerial))]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Primitives/AssemblyInfo.cs b/mcs/class/Facades/System.Security.Cryptography.Primitives/AssemblyInfo.cs
deleted file mode 100644
index 9b7aef5a9fd..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Primitives/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Security.Cryptography.Primitives.dll")]
-[assembly: AssemblyDescription ("System.Security.Cryptography.Primitives.dll")]
-[assembly: AssemblyDefaultAlias ("System.Security.Cryptography.Primitives.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Primitives/Makefile b/mcs/class/Facades/System.Security.Cryptography.Primitives/Makefile
deleted file mode 100644
index b4c114a7e1c..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Primitives/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Security.Cryptography.Primitives
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Security.Cryptography.Primitives.dll
-
-KEY_FILE = ../../msfinal.pub
-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.Security.Cryptography.Primitives/System.Security.Cryptography.Primitives.dll.sources b/mcs/class/Facades/System.Security.Cryptography.Primitives/System.Security.Cryptography.Primitives.dll.sources
deleted file mode 100644
index 8e33d4ddeae..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Primitives/System.Security.Cryptography.Primitives.dll.sources
+++ /dev/null
@@ -1,3 +0,0 @@
-TypeForwarders.cs
-AssemblyInfo.cs
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.Primitives/TypeForwarders.cs
deleted file mode 100644
index ea7934eb392..00000000000
--- a/mcs/class/Facades/System.Security.Cryptography.Primitives/TypeForwarders.cs
+++ /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.Security.Cryptography.AsymmetricAlgorithm))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CipherMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CryptographicException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CryptoStream))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.CryptoStreamMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HashAlgorithm))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HashAlgorithmName))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.HMAC))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.ICryptoTransform))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.KeyedHashAlgorithm))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.KeySizes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.PaddingMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.SymmetricAlgorithm))]
-
-
diff --git a/mcs/class/Facades/System.Security.Cryptography.X509Certificates/Makefile b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/Makefile
index 82db200364e..6e783c13ed4 100644
--- a/mcs/class/Facades/System.Security.Cryptography.X509Certificates/Makefile
+++ b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/Makefile
@@ -11,7 +11,7 @@ LIBRARY = System.Security.Cryptography.X509Certificates.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System System.Core
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Security.Cryptography.X509Certificates/TypeForwarders.cs b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/TypeForwarders.cs
index a653d295fa9..4984b098b6e 100644
--- a/mcs/class/Facades/System.Security.Cryptography.X509Certificates/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/TypeForwarders.cs
@@ -20,7 +20,7 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeX509ChainHandle))]
+//TODO:[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeX509ChainHandle))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.OpenFlags))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.PublicKey))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.StoreLocation))]
@@ -56,6 +56,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierHashAlgorithm))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.X509VerificationFlags))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Cryptography.X509Certificates.RSACertificateExtensions))]
+
diff --git a/mcs/class/Facades/System.Security.Principal.Windows/TypeForwarders.cs b/mcs/class/Facades/System.Security.Principal.Windows/TypeForwarders.cs
index ec9f05c6245..8ce4172c842 100644
--- a/mcs/class/Facades/System.Security.Principal.Windows/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Security.Principal.Windows/TypeForwarders.cs
@@ -20,7 +20,7 @@
// THE SOFTWARE.
//
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle))]
+//TODO:[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeAccessTokenHandle))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Principal.IdentityNotMappedException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Principal.IdentityReference))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Principal.IdentityReferenceCollection))]
diff --git a/mcs/class/Facades/System.Security.SecureString/SecureStringMarshal.cs b/mcs/class/Facades/System.Security.SecureString/SecureStringMarshal.cs
deleted file mode 100644
index 59c85a4291e..00000000000
--- a/mcs/class/Facades/System.Security.SecureString/SecureStringMarshal.cs
+++ /dev/null
@@ -1,47 +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.
-//
-
-namespace System.Security
-{
- public static class SecureStringMarshal
- {
- public static IntPtr SecureStringToCoTaskMemAnsi (SecureString s)
- {
- throw new NotImplementedException ();
- }
-
- public static IntPtr SecureStringToCoTaskMemUnicode (SecureString s)
- {
- throw new NotImplementedException ();
- }
-
- public static IntPtr SecureStringToGlobalAllocAnsi (SecureString s)
- {
- throw new NotImplementedException ();
- }
-
- public static IntPtr SecureStringToGlobalAllocUnicode (SecureString s)
- {
- throw new NotImplementedException ();
- }
- }
-}
diff --git a/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString.dll.sources b/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString.dll.sources
index 870ef245887..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString.dll.sources
+++ b/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString.dll.sources
@@ -1,3 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-SecureStringMarshal.cs
+
diff --git a/mcs/class/Facades/System.Security.SecureString/TypeForwarders.cs b/mcs/class/Facades/System.Security.SecureString/TypeForwarders.cs
index 4267f40e03b..d8898cbe774 100644
--- a/mcs/class/Facades/System.Security.SecureString/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Security.SecureString/TypeForwarders.cs
@@ -21,3 +21,5 @@
//
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecureString))]
+
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecureStringMarshal))]
diff --git a/mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs b/mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs
index 09d884b1527..89df0553778 100644
--- a/mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs
@@ -20,7 +20,9 @@
// THE SOFTWARE.
//
+#if !MOBILE && !XAMMAC_4_5
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CallbackBehaviorAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DuplexChannelFactory<>))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DuplexClientBase<>))]
+#endif
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.InstanceContext))]
diff --git a/mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs b/mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs
index 4aa28e9e49f..57276e7078c 100644
--- a/mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs
@@ -24,9 +24,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpMessageCredentialType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpSecurity))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpSecurityMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpsBinding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpsSecurity))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpsSecurityMode))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpRequestMessageProperty))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpResponseMessageProperty))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpsTransportBindingElement))]
@@ -38,6 +35,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.HttpClientCredentialType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.HttpTransportSecurity))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetHttpBinding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetHttpsBinding))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetHttpMessageEncoding))]
diff --git a/mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs b/mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs
index f03bc06d93c..a80d1c6fd12 100644
--- a/mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs
@@ -20,6 +20,7 @@
// THE SOFTWARE.
//
+#if !MOBILE && !XAMMAC_4_5
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ConnectionOrientedTransportBindingElement))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.SslStreamSecurityBindingElement))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TcpConnectionPoolSettings))]
@@ -29,4 +30,5 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetTcpBinding))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetTcpSecurity))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.TcpTransportSecurity))]
+#endif
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.TcpClientCredentialType))]
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/Makefile b/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
index 7f0ddad7f72..0827bf94262 100644
--- a/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
+++ b/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
@@ -11,13 +11,9 @@ LIBRARY = System.ServiceModel.Primitives.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
-LIB_REFS = System.ServiceModel System System.Xml Facades/System.Security.Cryptography.X509Certificates
+LIB_REFS = System.ServiceModel System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
-ifneq (2.1, $(FRAMEWORK_VERSION))
-LIB_REFS += System.IdentityModel
-endif
-
PLATFORM_DEBUG_FLAGS =
NO_TEST = yes
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources b/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources
index f43e364288e..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources
+++ b/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources
@@ -1,9 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-X509ServiceCertificateAuthentication_mobile.cs
-X509CertificateValidator_mobile.cs
-X509CertificateValidationMode_mobile.cs
-X509CertificateRecipientClientCredential_mobile.cs
-X509CertificateInitiatorClientCredential_mobile.cs
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs b/mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs
index b584fc0b8ee..38f834268c4 100644
--- a/mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs
@@ -136,7 +136,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageContractMemberAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageCredentialType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeader<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeaderAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeaderException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageParameterAttribute))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContext))]
@@ -159,16 +158,3 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.UnknownMessageReceivedEventArgs))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.XmlSerializerFormatAttribute))]
-#if !MOBILE && !XAMMAC_4_5
-
-// TODO: These are implemented as stubs in the facade directly on mobile (contrary to Desktop where they're forwarded to System.ServiceModel.dll/System.IdentityModel.dll).
-// I'm not 100% sure this is the right approach, but Marek thinks it's fine so I'm sticking with it for now.
-// The problem on mobile is that types like X509CertificateValidator live in System.IdentityModel.dll which is not built for mobile.
-
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IdentityModel.Selectors.X509CertificateValidator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.X509CertificateValidationMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.X509ServiceCertificateAuthentication))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.X509CertificateInitiatorClientCredential))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.X509CertificateRecipientClientCredential))]
-
-#endif
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateInitiatorClientCredential_mobile.cs b/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateInitiatorClientCredential_mobile.cs
deleted file mode 100644
index daf321c22ef..00000000000
--- a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateInitiatorClientCredential_mobile.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// X509CertificateInitiatorClientCredential_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.ServiceModel.Security
-{
- public sealed class X509CertificateInitiatorClientCredential
- {
- [MonoTODO]
- public X509Certificate2 Certificate
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- internal X509CertificateInitiatorClientCredential()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateRecipientClientCredential_mobile.cs b/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateRecipientClientCredential_mobile.cs
deleted file mode 100644
index 3545b724b5b..00000000000
--- a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateRecipientClientCredential_mobile.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-// X509CertificateRecipientClientCredential_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-using System.Collections.Generic;
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.ServiceModel.Security
-{
- public sealed class X509CertificateRecipientClientCredential
- {
- [MonoTODO]
- public X509ServiceCertificateAuthentication Authentication
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public X509Certificate2 DefaultCertificate
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public Dictionary<Uri, X509Certificate2> ScopedCertificates
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public X509ServiceCertificateAuthentication SslCertificateAuthentication
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- internal X509CertificateRecipientClientCredential ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetDefaultCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetDefaultCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetScopedCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue, Uri targetService)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void SetScopedCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName, Uri targetService)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidationMode_mobile.cs b/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidationMode_mobile.cs
deleted file mode 100644
index 34b1d241c65..00000000000
--- a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidationMode_mobile.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// X509CertificateValidationMode_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-namespace System.ServiceModel.Security
-{
- public enum X509CertificateValidationMode
- {
- None,
- PeerTrust,
- ChainTrust,
- PeerOrChainTrust,
- Custom
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidator_mobile.cs b/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidator_mobile.cs
deleted file mode 100644
index 734e99020d9..00000000000
--- a/mcs/class/Facades/System.ServiceModel.Primitives/X509CertificateValidator_mobile.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// X509CertificateValidator_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.IdentityModel.Selectors
-{
- public abstract class X509CertificateValidator
- {
- public abstract void Validate (X509Certificate2 certificate);
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/X509ServiceCertificateAuthentication_mobile.cs b/mcs/class/Facades/System.ServiceModel.Primitives/X509ServiceCertificateAuthentication_mobile.cs
deleted file mode 100644
index 725cbd91538..00000000000
--- a/mcs/class/Facades/System.ServiceModel.Primitives/X509ServiceCertificateAuthentication_mobile.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// X509ServiceCertificateAuthentication_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-using System.IdentityModel.Selectors;
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.ServiceModel.Security
-{
- public sealed class X509ServiceCertificateAuthentication
- {
- [MonoTODO]
- public X509CertificateValidationMode CertificateValidationMode
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public X509CertificateValidator CustomCertificateValidator
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public X509RevocationMode RevocationMode
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public StoreLocation TrustedStoreLocation
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceModel.Security/TypeForwarders.cs b/mcs/class/Facades/System.ServiceModel.Security/TypeForwarders.cs
index a11a6f59a06..61d5b5a0446 100644
--- a/mcs/class/Facades/System.ServiceModel.Security/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceModel.Security/TypeForwarders.cs
@@ -24,16 +24,20 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.SecurityBindingElement))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.SecurityHeaderLayout))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TransportSecurityBindingElement))]
+#if !MOBILE
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DnsEndpointIdentity))]
+#if !XAMMAC_4_5
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageSecurityVersion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.SpnEndpointIdentity))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.UpnEndpointIdentity))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.BasicSecurityProfileVersion))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.SecureConversationVersion))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.SecurityPolicyVersion))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.SecurityVersion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.TrustVersion))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.Tokens.SecureConversationSecurityTokenParameters))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.Tokens.SecurityTokenParameters))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.Tokens.SupportingTokenParameters))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.Tokens.UserNameSecurityTokenParameters))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.TrustVersion))]
+#endif
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.SpnEndpointIdentity))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.UpnEndpointIdentity))]
+#endif
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/Makefile b/mcs/class/Facades/System.ServiceProcess.ServiceController/Makefile
index 7603ecc5880..8c4bbbf2cb7 100644
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/Makefile
+++ b/mcs/class/Facades/System.ServiceProcess.ServiceController/Makefile
@@ -12,14 +12,7 @@ LIBRARY = System.ServiceProcess.ServiceController.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
LIB_REFS = System
-
-ifneq (2.1, $(FRAMEWORK_VERSION))
-ifndef XAMMAC_4_5
-LIB_REFS += System.ServiceProcess
-endif
-endif
-
-LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceProcess.dll
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceControllerStatus_mobile.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceControllerStatus_mobile.cs
deleted file mode 100644
index f233c8bd468..00000000000
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceControllerStatus_mobile.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// ServiceControllerStatus_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-
-namespace System.ServiceProcess
-{
- public enum ServiceControllerStatus
- {
- ContinuePending = 5,
- Paused = 7,
- PausePending = 6,
- Running = 4,
- StartPending = 2,
- Stopped = 1,
- StopPending = 3
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceController_mobile.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceController_mobile.cs
deleted file mode 100644
index f84a27d1c9a..00000000000
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceController_mobile.cs
+++ /dev/null
@@ -1,246 +0,0 @@
-//
-// ServiceController_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace System.ServiceProcess
-{
- public class ServiceController : IDisposable
- {
- [MonoTODO]
- public bool CanPauseAndContinue
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public bool CanShutdown
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public bool CanStop
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceController[] DependentServices
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public string DisplayName
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public string MachineName
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public SafeHandle ServiceHandle
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public string ServiceName
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceController[] ServicesDependedOn
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceType ServiceType
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceStartMode StartType
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceControllerStatus Status
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ServiceController (string name)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public ServiceController (string name, string machineName)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Continue ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Dispose ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected virtual void Dispose (bool disposing)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static ServiceController[] GetDevices ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static ServiceController[] GetDevices (string machineName)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static ServiceController[] GetServices ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static ServiceController[] GetServices (string machineName)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Pause ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Refresh ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Start ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Start (string[] args)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void Stop ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void WaitForStatus (ServiceControllerStatus desiredStatus)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public void WaitForStatus (ServiceControllerStatus desiredStatus, TimeSpan timeout)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceStartMode_mobile.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceStartMode_mobile.cs
deleted file mode 100644
index 3c875c3eb64..00000000000
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceStartMode_mobile.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// ServiceStartMode_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-
-namespace System.ServiceProcess
-{
- public enum ServiceStartMode
- {
- Automatic = 2,
- Boot = 0,
- Disabled = 4,
- Manual = 3,
- System = 1
- }
-}
-
-#endif
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceType_mobile.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceType_mobile.cs
deleted file mode 100644
index ba4f144067c..00000000000
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/ServiceType_mobile.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// ServiceType_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-
-namespace System.ServiceProcess
-{
- [Flags]
- public enum ServiceType
- {
- Adapter = 4,
- FileSystemDriver = 2,
- InteractiveProcess = 256,
- KernelDriver = 1,
- RecognizerDriver = 8,
- Win32OwnProcess = 16,
- Win32ShareProcess = 32
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController.dll.sources b/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController.dll.sources
index 56e080d93c7..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController.dll.sources
+++ b/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController.dll.sources
@@ -1,9 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-ServiceController_mobile.cs
-ServiceControllerStatus_mobile.cs
-ServiceStartMode_mobile.cs
-ServiceType_mobile.cs
-TimeoutException_mobile.cs
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/TimeoutException_mobile.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/TimeoutException_mobile.cs
deleted file mode 100644
index c6448d899ff..00000000000
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/TimeoutException_mobile.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// TimeoutException_mobile.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.
-//
-
-#if MOBILE || XAMMAC_4_5
-
-using System;
-
-namespace System.ServiceProcess
-{
- public class TimeoutException : Exception
- {
- [MonoTODO]
- public TimeoutException ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public TimeoutException (string message)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public TimeoutException (string message, Exception innerException)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/TypeForwarders.cs b/mcs/class/Facades/System.ServiceProcess.ServiceController/TypeForwarders.cs
index b14584243c2..6a21dfc46f1 100644
--- a/mcs/class/Facades/System.ServiceProcess.ServiceController/TypeForwarders.cs
+++ b/mcs/class/Facades/System.ServiceProcess.ServiceController/TypeForwarders.cs
@@ -20,14 +20,10 @@
// THE SOFTWARE.
//
-#if !MOBILE && !XAMMAC_4_5
-
-// TODO: These are implemented as stubs in the facade directly on mobile
-
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceProcess.ServiceController))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceProcess.ServiceControllerStatus))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceProcess.ServiceStartMode))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceProcess.ServiceType))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceProcess.TimeoutException))]
-#endif
+
diff --git a/mcs/class/Facades/System.Text.Encoding.CodePages/AssemblyInfo.cs b/mcs/class/Facades/System.Text.Encoding.CodePages/AssemblyInfo.cs
deleted file mode 100644
index 568942dca14..00000000000
--- a/mcs/class/Facades/System.Text.Encoding.CodePages/AssemblyInfo.cs
+++ /dev/null
@@ -1,41 +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.
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle ("System.Text.Encoding.CodePages.dll")]
-[assembly: AssemblyDescription ("System.Text.Encoding.CodePages.dll")]
-[assembly: AssemblyDefaultAlias ("System.Text.Encoding.CodePages.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")]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../msfinal.pub")]
-
-[assembly: ReferenceAssembly]
-
-
diff --git a/mcs/class/Facades/System.Text.Encoding.CodePages/CodePagesEncodingProvider.cs b/mcs/class/Facades/System.Text.Encoding.CodePages/CodePagesEncodingProvider.cs
deleted file mode 100644
index d97ad54eb89..00000000000
--- a/mcs/class/Facades/System.Text.Encoding.CodePages/CodePagesEncodingProvider.cs
+++ /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.
-//
-
-namespace System.Text
-{
- public sealed partial class CodePagesEncodingProvider
- {
- private CodePagesEncodingProvider ()
- {
- }
-
- public static System.Text.EncodingProvider Instance {
- get {
- throw new NotImplementedException ();
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Text.Encoding.CodePages/Makefile b/mcs/class/Facades/System.Text.Encoding.CodePages/Makefile
deleted file mode 100644
index 7430a65175b..00000000000
--- a/mcs/class/Facades/System.Text.Encoding.CodePages/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-MCS_BUILD_DIR = ../../../build
-
-thisdir = class/Facades/System.Text.Encoding.CodePages
-SUBDIRS =
-include $(MCS_BUILD_DIR)/rules.make
-
-LIBRARY_SUBDIR = Facades
-LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
-
-LIBRARY = System.Text.Encoding.CodePages.dll
-
-KEY_FILE = ../../msfinal.pub
-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.Text.Encoding.CodePages/System.Text.Encoding.CodePages.dll.sources b/mcs/class/Facades/System.Text.Encoding.CodePages/System.Text.Encoding.CodePages.dll.sources
deleted file mode 100644
index db2c267a189..00000000000
--- a/mcs/class/Facades/System.Text.Encoding.CodePages/System.Text.Encoding.CodePages.dll.sources
+++ /dev/null
@@ -1,2 +0,0 @@
-AssemblyInfo.cs
-CodePagesEncodingProvider.cs
diff --git a/mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs b/mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs
index f9b4d759a44..be4c7cc58bc 100644
--- a/mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs
@@ -30,5 +30,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.Regex))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexMatchTimeoutException))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexRunner))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexRunnerFactory))]
+
diff --git a/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl.dll.sources b/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl.dll.sources
index 0d28c343986..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl.dll.sources
+++ b/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl.dll.sources
@@ -1,5 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-../../../build/common/MonoTODOAttribute.cs
-ThreadingAclExtensions.cs
diff --git a/mcs/class/Facades/System.Threading.AccessControl/ThreadingAclExtensions.cs b/mcs/class/Facades/System.Threading.AccessControl/ThreadingAclExtensions.cs
deleted file mode 100644
index af61a50a0e6..00000000000
--- a/mcs/class/Facades/System.Threading.AccessControl/ThreadingAclExtensions.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// ThreadingAclExtensions.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.Security.AccessControl;
-using System.Diagnostics.Contracts;
-
-namespace System.Threading
-{
- public static class ThreadingAclExtensions
- {
- [MonoTODO]
- public static EventWaitHandleSecurity GetAccessControl (EventWaitHandle handle)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl (EventWaitHandle handle, EventWaitHandleSecurity eventSecurity)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static MutexSecurity GetAccessControl (Mutex mutex)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl (Mutex mutex, MutexSecurity mutexSecurity)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static SemaphoreSecurity GetAccessControl (Semaphore semaphore)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static void SetAccessControl (Semaphore semaphore, SemaphoreSecurity semaphoreSecurity)
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.AccessControl/TypeForwarders.cs b/mcs/class/Facades/System.Threading.AccessControl/TypeForwarders.cs
index 02fbd79cc8f..8871794f349 100644
--- a/mcs/class/Facades/System.Threading.AccessControl/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Threading.AccessControl/TypeForwarders.cs
@@ -33,3 +33,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.SemaphoreRights))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.SemaphoreSecurity))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ThreadingAclExtensions))]
diff --git a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandle.cs b/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandle.cs
deleted file mode 100644
index 40253fbc05a..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandle.cs
+++ /dev/null
@@ -1,315 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace System.Threading
-{
- //
- // Implementation of ThreadPoolBoundHandle that sits on top of the CLR's ThreadPool and Overlapped infrastructure
- //
-
- /// <summary>
- /// Represents an I/O handle that is bound to the system thread pool and enables low-level
- /// components to receive notifications for asynchronous I/O operations.
- /// </summary>
- public sealed partial class ThreadPoolBoundHandle : IDisposable
- {
- private readonly SafeHandle _handle;
- private bool _isDisposed;
-
- private ThreadPoolBoundHandle(SafeHandle handle)
- {
- _handle = handle;
- }
-
- /// <summary>
- /// Gets the bound operating system handle.
- /// </summary>
- /// <value>
- /// A <see cref="SafeHandle"/> object that holds the bound operating system handle.
- /// </value>
- public SafeHandle Handle
- {
- get { return _handle; }
- }
-
- /// <summary>
- /// Returns a <see cref="ThreadPoolBoundHandle"/> for the specific handle,
- /// which is bound to the system thread pool.
- /// </summary>
- /// <param name="handle">
- /// A <see cref="SafeHandle"/> object that holds the operating system handle. The
- /// handle must have been opened for overlapped I/O on the unmanaged side.
- /// </param>
- /// <returns>
- /// <see cref="ThreadPoolBoundHandle"/> for <paramref name="handle"/>, which
- /// is bound to the system thread pool.
- /// </returns>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="handle"/> is <see langword="null"/>.
- /// </exception>
- /// <exception cref="ArgumentException">
- /// <paramref name="handle"/> has been disposed.
- /// <para>
- /// -or-
- /// </para>
- /// <paramref name="handle"/> does not refer to a valid I/O handle.
- /// <para>
- /// -or-
- /// </para>
- /// <paramref name="handle"/> refers to a handle that has not been opened
- /// for overlapped I/O.
- /// <para>
- /// -or-
- /// </para>
- /// <paramref name="handle"/> refers to a handle that has already been bound.
- /// </exception>
- /// <remarks>
- /// This method should be called once per handle.
- /// <para>
- /// -or-
- /// </para>
- /// <see cref="ThreadPoolBoundHandle"/> does not take ownership of <paramref name="handle"/>,
- /// it remains the responsibility of the caller to call <see cref="SafeHandle.Dispose"/>.
- /// </remarks>
- public static ThreadPoolBoundHandle BindHandle(SafeHandle handle)
- {
- if (handle == null)
- throw new ArgumentNullException(nameof(handle));
-
- if (handle.IsClosed || handle.IsInvalid)
- throw new ArgumentException(SR.Argument_InvalidHandle, nameof(handle));
-
- try
- {
- // ThreadPool.BindHandle will always return true, otherwise, it throws. See the underlying FCall
- // implementation in ThreadPoolNative::CorBindIoCompletionCallback to see the implementation.
- bool succeeded = ThreadPool.BindHandle(handle);
- Debug.Assert(succeeded);
- }
- catch (Exception ex)
- { // BindHandle throws ApplicationException on full CLR and Exception on CoreCLR.
- // We do not let either of these leak and convert them to ArgumentException to
- // indicate that the specified handles are invalid.
-
- if (ex.HResult == System.HResults.E_HANDLE) // Bad handle
- throw new ArgumentException(SR.Argument_InvalidHandle, nameof(handle));
-
- if (ex.HResult == System.HResults.E_INVALIDARG) // Handle already bound or sync handle
- throw new ArgumentException(SR.Argument_AlreadyBoundOrSyncHandle, nameof(handle));
-
- throw;
- }
-
- return new ThreadPoolBoundHandle(handle);
- }
-
- /// <summary>
- /// Returns an unmanaged pointer to a <see cref="NativeOverlapped"/> structure, specifying
- /// a delegate that is invoked when the asynchronous I/O operation is complete, a user-provided
- /// object providing context, and managed objects that serve as buffers.
- /// </summary>
- /// <param name="callback">
- /// An <see cref="IOCompletionCallback"/> delegate that represents the callback method
- /// invoked when the asynchronous I/O operation completes.
- /// </param>
- /// <param name="state">
- /// A user-provided object that distinguishes this <see cref="NativeOverlapped"/> from other
- /// <see cref="NativeOverlapped"/> instances. Can be <see langword="null"/>.
- /// </param>
- /// <param name="pinData">
- /// An object or array of objects representing the input or output buffer for the operation. Each
- /// object represents a buffer, for example an array of bytes. Can be <see langword="null"/>.
- /// </param>
- /// <returns>
- /// An unmanaged pointer to a <see cref="NativeOverlapped"/> structure.
- /// </returns>
- /// <remarks>
- /// <para>
- /// The unmanaged pointer returned by this method can be passed to the operating system in
- /// overlapped I/O operations. The <see cref="NativeOverlapped"/> structure is fixed in
- /// physical memory until <see cref="FreeNativeOverlapped(NativeOverlapped*)"/> is called.
- /// </para>
- /// <para>
- /// The buffer or buffers specified in <paramref name="pinData"/> must be the same as those passed
- /// to the unmanaged operating system function that performs the asynchronous I/O.
- /// </para>
- /// <note>
- /// The buffers specified in <paramref name="pinData"/> are pinned for the duration of
- /// the I/O operation.
- /// </note>
- /// </remarks>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="callback"/> is <see langword="null"/>.
- /// </exception>
- /// <exception cref="ObjectDisposedException">
- /// This method was called after the <see cref="ThreadPoolBoundHandle"/> was disposed.
- /// </exception>
- public unsafe NativeOverlapped* AllocateNativeOverlapped(IOCompletionCallback callback, object state, object pinData)
- {
- if (callback == null)
- throw new ArgumentNullException(nameof(callback));
-
- EnsureNotDisposed();
-
- ThreadPoolBoundHandleOverlapped overlapped = new ThreadPoolBoundHandleOverlapped(callback, state, pinData, preAllocated: null);
- overlapped._boundHandle = this;
- return overlapped._nativeOverlapped;
- }
-
- /// <summary>
- /// Returns an unmanaged pointer to a <see cref="NativeOverlapped"/> structure, using the callback,
- /// state, and buffers associated with the specified <see cref="PreAllocatedOverlapped"/> object.
- /// </summary>
- /// <param name="preAllocated">
- /// A <see cref="PreAllocatedOverlapped"/> object from which to create the NativeOverlapped pointer.
- /// </param>
- /// <returns>
- /// An unmanaged pointer to a <see cref="NativeOverlapped"/> structure.
- /// </returns>
- /// <remarks>
- /// <para>
- /// The unmanaged pointer returned by this method can be passed to the operating system in
- /// overlapped I/O operations. The <see cref="NativeOverlapped"/> structure is fixed in
- /// physical memory until <see cref="FreeNativeOverlapped(NativeOverlapped*)"/> is called.
- /// </para>
- /// </remarks>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="preAllocated"/> is <see langword="null"/>.
- /// </exception>
- /// <exception cref="ArgumentException">
- /// <paramref name="preAllocated"/> is currently in use for another I/O operation.
- /// </exception>
- /// <exception cref="ObjectDisposedException">
- /// This method was called after the <see cref="ThreadPoolBoundHandle"/> was disposed, or
- /// this method was called after <paramref name="preAllocated"/> was disposed.
- /// </exception>
- /// <seealso cref="PreAllocatedOverlapped"/>
- public unsafe NativeOverlapped* AllocateNativeOverlapped(PreAllocatedOverlapped preAllocated)
- {
- if (preAllocated == null)
- throw new ArgumentNullException(nameof(preAllocated));
-
- EnsureNotDisposed();
-
- preAllocated.AddRef();
- try
- {
- ThreadPoolBoundHandleOverlapped overlapped = preAllocated._overlapped;
-
- if (overlapped._boundHandle != null)
- throw new ArgumentException(SR.Argument_PreAllocatedAlreadyAllocated, nameof(preAllocated));
-
- overlapped._boundHandle = this;
-
- return overlapped._nativeOverlapped;
- }
- catch
- {
- preAllocated.Release();
- throw;
- }
- }
-
- /// <summary>
- /// Frees the unmanaged memory associated with a <see cref="NativeOverlapped"/> structure
- /// allocated by the <see cref="AllocateNativeOverlapped"/> method.
- /// </summary>
- /// <param name="overlapped">
- /// An unmanaged pointer to the <see cref="NativeOverlapped"/> structure to be freed.
- /// </param>
- /// <remarks>
- /// <note type="caution">
- /// You must call the <see cref="FreeNativeOverlapped(NativeOverlapped*)"/> method exactly once
- /// on every <see cref="NativeOverlapped"/> unmanaged pointer allocated using the
- /// <see cref="AllocateNativeOverlapped"/> method.
- /// If you do not call the <see cref="FreeNativeOverlapped(NativeOverlapped*)"/> method, you will
- /// leak memory. If you call the <see cref="FreeNativeOverlapped(NativeOverlapped*)"/> method more
- /// than once on the same <see cref="NativeOverlapped"/> unmanaged pointer, memory will be corrupted.
- /// </note>
- /// </remarks>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="overlapped"/> is <see langword="null"/>.
- /// </exception>
- /// <exception cref="ObjectDisposedException">
- /// This method was called after the <see cref="ThreadPoolBoundHandle"/> was disposed.
- /// </exception>
- public unsafe void FreeNativeOverlapped(NativeOverlapped* overlapped)
- {
- if (overlapped == null)
- throw new ArgumentNullException(nameof(overlapped));
-
- // Note: we explicitly allow FreeNativeOverlapped calls after the ThreadPoolBoundHandle has been Disposed.
-
- ThreadPoolBoundHandleOverlapped wrapper = GetOverlappedWrapper(overlapped, this);
-
- if (wrapper._boundHandle != this)
- throw new ArgumentException(SR.Argument_NativeOverlappedWrongBoundHandle, nameof(overlapped));
-
- if (wrapper._preAllocated != null)
- wrapper._preAllocated.Release();
- else
- Overlapped.Free(overlapped);
- }
-
- /// <summary>
- /// Returns the user-provided object specified when the <see cref="NativeOverlapped"/> instance was
- /// allocated using the <see cref="AllocateNativeOverlapped(IOCompletionCallback, object, byte[])"/>.
- /// </summary>
- /// <param name="overlapped">
- /// An unmanaged pointer to the <see cref="NativeOverlapped"/> structure from which to return the
- /// asscociated user-provided object.
- /// </param>
- /// <returns>
- /// A user-provided object that distinguishes this <see cref="NativeOverlapped"/>
- /// from other <see cref="NativeOverlapped"/> instances, otherwise, <see langword="null"/> if one was
- /// not specified when the instance was allocated using <see cref="AllocateNativeOverlapped"/>.
- /// </returns>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="overlapped"/> is <see langword="null"/>.
- /// </exception>
- public unsafe static object GetNativeOverlappedState(NativeOverlapped* overlapped)
- {
- if (overlapped == null)
- throw new ArgumentNullException(nameof(overlapped));
-
- ThreadPoolBoundHandleOverlapped wrapper = GetOverlappedWrapper(overlapped, null);
- Debug.Assert(wrapper._boundHandle != null);
- return wrapper._userState;
- }
-
- private static unsafe ThreadPoolBoundHandleOverlapped GetOverlappedWrapper(NativeOverlapped* overlapped, ThreadPoolBoundHandle expectedBoundHandle)
- {
- ThreadPoolBoundHandleOverlapped wrapper;
- try
- {
- wrapper = (ThreadPoolBoundHandleOverlapped)Overlapped.Unpack(overlapped);
- }
- catch (NullReferenceException ex)
- {
- throw new ArgumentException(SR.Argument_NativeOverlappedAlreadyFree, nameof(overlapped), ex);
- }
-
- return wrapper;
- }
-
- public void Dispose()
- {
- // .NET Native's version of ThreadPoolBoundHandle that wraps the Win32 ThreadPool holds onto
- // native resources so it needs to be disposable. To match the contract, we are also disposable.
- // We also implement a disposable state to mimic behavior between this implementation and
- // .NET Native's version (code written against us, will also work against .NET Native's version).
- _isDisposed = true;
- }
-
-
- private void EnsureNotDisposed()
- {
- if (_isDisposed)
- throw new ObjectDisposedException(GetType().ToString());
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandleOverlapped.cs b/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandleOverlapped.cs
deleted file mode 100644
index 2245254ed2f..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolBoundHandleOverlapped.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Threading
-{
- /// <summary>
- /// Overlapped subclass adding data needed by ThreadPoolBoundHandle.
- /// </summary>
- internal sealed class ThreadPoolBoundHandleOverlapped : Overlapped
- {
- private readonly IOCompletionCallback _userCallback;
- internal readonly object _userState;
- internal PreAllocatedOverlapped _preAllocated;
- internal unsafe NativeOverlapped* _nativeOverlapped;
- internal ThreadPoolBoundHandle _boundHandle;
- internal bool _completed;
-
- public unsafe ThreadPoolBoundHandleOverlapped(IOCompletionCallback callback, object state, object pinData, PreAllocatedOverlapped preAllocated)
- {
- _userCallback = callback;
- _userState = state;
- _preAllocated = preAllocated;
-
- _nativeOverlapped = Pack(CompletionCallback, pinData);
- _nativeOverlapped->OffsetLow = 0; // CLR reuses NativeOverlapped instances and does not reset these
- _nativeOverlapped->OffsetHigh = 0;
- }
-
- private unsafe static void CompletionCallback(uint errorCode, uint numBytes, NativeOverlapped* nativeOverlapped)
- {
- ThreadPoolBoundHandleOverlapped overlapped = (ThreadPoolBoundHandleOverlapped)Overlapped.Unpack(nativeOverlapped);
-
- //
- // The Win32 thread pool implementation of ThreadPoolBoundHandle does not permit reuse of NativeOverlapped
- // pointers without freeing them and allocating new a new one. We need to ensure that code using the CLR
- // ThreadPool implementation follows those rules.
- //
- if (overlapped._completed)
- throw new InvalidOperationException(SR.InvalidOperation_NativeOverlappedReused);
-
- overlapped._completed = true;
-
- if (overlapped._boundHandle == null)
- throw new InvalidOperationException(SR.Argument_NativeOverlappedAlreadyFree);
-
- overlapped._userCallback(errorCode, numBytes, nativeOverlapped);
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolPreAllocatedOverlapped.cs b/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolPreAllocatedOverlapped.cs
deleted file mode 100644
index dfc7d472726..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/ClrThreadPoolPreAllocatedOverlapped.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Threading
-{
- /// <summary>
- /// Represents pre-allocated state for native overlapped I/O operations.
- /// </summary>
- /// <seealso cref="ThreadPoolBoundHandle.AllocateNativeOverlapped(PreAllocatedOverlapped)"/>
- public sealed class PreAllocatedOverlapped : IDisposable, IDeferredDisposable
- {
- internal readonly ThreadPoolBoundHandleOverlapped _overlapped;
- private DeferredDisposableLifetime<PreAllocatedOverlapped> _lifetime;
-
- /// <summary>
- /// Initializes a new instance of the <see cref="PreAllocatedOverlapped"/> class, specifying
- /// a delegate that is invoked when each asynchronous I/O operation is complete, a user-provided
- /// object providing context, and managed objects that serve as buffers.
- /// </summary>
- /// <param name="callback">
- /// An <see cref="IOCompletionCallback"/> delegate that represents the callback method
- /// invoked when each asynchronous I/O operation completes.
- /// </param>
- /// <param name="state">
- /// A user-provided object that distinguishes <see cref="NativeOverlapped"/> instance produced from this
- /// object from other <see cref="NativeOverlapped"/> instances. Can be <see langword="null"/>.
- /// </param>
- /// <param name="pinData">
- /// An object or array of objects representing the input or output buffer for the operations. Each
- /// object represents a buffer, for example an array of bytes. Can be <see langword="null"/>.
- /// </param>
- /// <remarks>
- /// The new <see cref="PreAllocatedOverlapped"/> instance can be passed to
- /// <see cref="ThreadPoolBoundHandle.AllocateNativeOverlapped(PreAllocatedOverlapped)"/>, to produce
- /// a <see cref="NativeOverlapped"/> instance that can be passed to the operating system in overlapped
- /// I/O operations. A single <see cref="PreAllocatedOverlapped"/> instance can only be used for
- /// a single native I/O operation at a time. However, the state stored in the <see cref="PreAllocatedOverlapped"/>
- /// instance can be reused for subsequent native operations.
- /// <note>
- /// The buffers specified in <paramref name="pinData"/> are pinned until <see cref="Dispose"/> is called.
- /// </note>
- /// </remarks>
- /// <exception cref="ArgumentNullException">
- /// <paramref name="callback"/> is <see langword="null"/>.
- /// </exception>
- /// <exception cref="ObjectDisposedException">
- /// This method was called after the <see cref="ThreadPoolBoundHandle"/> was disposed.
- /// </exception>
- public unsafe PreAllocatedOverlapped(IOCompletionCallback callback, object state, object pinData)
- {
- if (callback == null)
- throw new ArgumentNullException(nameof(callback));
-
- _overlapped = new ThreadPoolBoundHandleOverlapped(callback, state, pinData, this);
- }
-
- internal bool AddRef()
- {
- return _lifetime.AddRef(this);
- }
-
- internal void Release()
- {
- _lifetime.Release(this);
- }
-
- /// <summary>
- /// Frees the resources associated with this <see cref="PreAllocatedOverlapped"/> instance.
- /// </summary>
- public unsafe void Dispose()
- {
- _lifetime.Dispose(this);
- GC.SuppressFinalize(this);
- }
-
- ~PreAllocatedOverlapped()
- {
- //
- // During shutdown, don't automatically clean up, because this instance may still be
- // reachable/usable by other code.
- //
- if (!Environment.HasShutdownStarted)
- Dispose();
- }
-
- unsafe void IDeferredDisposable.OnFinalRelease(bool disposed)
- {
- if (_overlapped != null)
- {
- if (disposed)
- {
- Overlapped.Free(_overlapped._nativeOverlapped);
- }
- else
- {
- _overlapped._boundHandle = null;
- _overlapped._completed = false;
- *_overlapped._nativeOverlapped = default(NativeOverlapped);
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/DeferredDisposableLifetime.cs b/mcs/class/Facades/System.Threading.Overlapped/DeferredDisposableLifetime.cs
deleted file mode 100644
index 24509062c74..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/DeferredDisposableLifetime.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics;
-
-namespace System.Threading
-{
- /// <summary>
- /// Provides callbacks to objects whose lifetime is managed by <see cref="DeferredDisposableLifetime{T}"/>.
- /// </summary>
- internal interface IDeferredDisposable
- {
- /// <summary>
- /// Called when the object's refcount reaches zero.
- /// </summary>
- /// <param name="disposed">
- /// Indicates whether the object has been disposed.
- /// </param>
- /// <remarks>
- /// If the refount reaches zero before the object is disposed, this method will be called with
- /// <paramref name="disposed"/> set to false. If the object is then disposed, this method will be
- /// called again, with <paramref name="disposed"/> set to true. If the refcount reaches zero
- /// after the object has already been disposed, this will be called a single time, with
- /// <paramref name="disposed"/> set to true.
- /// </remarks>
- void OnFinalRelease(bool disposed);
- }
-
- /// <summary>
- /// Manages the lifetime of an object which implements IDisposable, but which must defer the actual
- /// cleanup of state until all existing uses of the object are complete.
- /// </summary>
- /// <typeparam name="T">The type of object whose lifetime will be managed.</typeparam>
- /// <remarks>
- /// This type maintains a reference count, and tracks whether the object has been disposed. When
- /// Callbacks are made to <see cref="IDeferredDisposable.OnFinalRelease(bool)"/> when the refcount
- /// reaches zero. Objects that need to defer cleanup until they have been disposed *and* they have
- /// no more references can do so in <see cref="IDeferredDisposable.OnFinalRelease(bool)"/> when
- /// 'disposed' is true.
- /// </remarks>
- internal struct DeferredDisposableLifetime<T> where T : class, IDeferredDisposable
- {
- //
- // _count is positive until Dispose is called, after which it's (-1 - refcount).
- //
- private int _count;
-
- public bool AddRef(T obj)
- {
- while (true)
- {
- int oldCount = Volatile.Read(ref _count);
-
- // Have we been disposed?
- if (oldCount < 0)
- throw new ObjectDisposedException(typeof(T).ToString());
-
- int newCount = checked(oldCount + 1);
-
- if (Interlocked.CompareExchange(ref _count, newCount, oldCount) == oldCount)
- return true;
- }
- }
-
- public void Release(T obj)
- {
- while (true)
- {
- int oldCount = Volatile.Read(ref _count);
- if (oldCount > 0)
- {
- // We haven't been disposed. Decrement _count.
- int newCount = oldCount - 1;
- if (Interlocked.CompareExchange(ref _count, newCount, oldCount) == oldCount)
- {
- if (newCount == 0)
- obj.OnFinalRelease(disposed: false);
- return;
- }
- }
- else
- {
- Debug.Assert(oldCount != 0 && oldCount != -1);
-
- // We've been disposed. Increment _count.
- int newCount = oldCount + 1;
- if (Interlocked.CompareExchange(ref _count, newCount, oldCount) == oldCount)
- {
- if (newCount == -1)
- obj.OnFinalRelease(disposed: true);
- return;
- }
- }
- }
- }
-
- public void Dispose(T obj)
- {
- while (true)
- {
- int oldCount = Volatile.Read(ref _count);
- if (oldCount < 0)
- return; // already disposed
-
- int newCount = -1 - oldCount;
- if (Interlocked.CompareExchange(ref _count, newCount, oldCount) == oldCount)
- {
- if (newCount == -1)
- obj.OnFinalRelease(disposed: true);
- return;
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/HResults.cs b/mcs/class/Facades/System.Threading.Overlapped/HResults.cs
deleted file mode 100644
index ef9a772aaa1..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/HResults.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// HResults.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
-{
- internal static class HResults
- {
- internal const int E_HANDLE = unchecked((int)0x80070006);
- internal const int E_INVALIDARG = unchecked((int)0x80070057);
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/Makefile b/mcs/class/Facades/System.Threading.Overlapped/Makefile
index a8f8e1ad0dc..b1d02543c9b 100644
--- a/mcs/class/Facades/System.Threading.Overlapped/Makefile
+++ b/mcs/class/Facades/System.Threading.Overlapped/Makefile
@@ -12,7 +12,7 @@ LIBRARY = System.Threading.Overlapped.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
LIB_REFS = System
-LIB_MCS_FLAGS = $(SIGN_FLAGS) -unsafe /r:mscorlib
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Threading.Overlapped/SR.cs b/mcs/class/Facades/System.Threading.Overlapped/SR.cs
deleted file mode 100644
index a65446d4b50..00000000000
--- a/mcs/class/Facades/System.Threading.Overlapped/SR.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// strings taken from corefx
-
-class SR
-{
- public const string Argument_AlreadyBoundOrSyncHandle = "'handle' has already been bound to the thread pool, or was not opened for asynchronous I/O.";
- public const string Argument_InvalidHandle = "'handle' has been disposed or is an invalid handle.";
- public const string Argument_NativeOverlappedAlreadyFree = "'overlapped' has already been freed.";
- public const string Argument_NativeOverlappedWrongBoundHandle = "'overlapped' was not allocated by this ThreadPoolBoundHandle instance.";
- public const string Argument_PreAllocatedAlreadyAllocated = "'preAllocated' is already in use.";
- public const string InvalidOperation_NativeOverlappedReused = "NativeOverlapped cannot be reused for multiple operations.";
-} \ No newline at end of file
diff --git a/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped.dll.sources b/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped.dll.sources
index eb1041a8bbb..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped.dll.sources
+++ b/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped.dll.sources
@@ -1,9 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-ClrThreadPoolBoundHandle.cs
-ClrThreadPoolBoundHandleOverlapped.cs
-ClrThreadPoolPreAllocatedOverlapped.cs
-DeferredDisposableLifetime.cs
-SR.cs
-HResults.cs
diff --git a/mcs/class/Facades/System.Threading.Overlapped/TypeForwarders.cs b/mcs/class/Facades/System.Threading.Overlapped/TypeForwarders.cs
index dd272df5d99..127e5a1f080 100644
--- a/mcs/class/Facades/System.Threading.Overlapped/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Threading.Overlapped/TypeForwarders.cs
@@ -22,3 +22,6 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.IOCompletionCallback))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.NativeOverlapped))]
+
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.PreAllocatedOverlapped))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ThreadPoolBoundHandle))]
diff --git a/mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs b/mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs
index a4915b94613..1b3e7a3a46b 100644
--- a/mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs
@@ -47,5 +47,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.IXmlSerializable))]
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDateTimeSerializationMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSchemaProviderAttribute))]
diff --git a/mcs/class/Facades/System.Xml.XPath.XDocument/Makefile b/mcs/class/Facades/System.Xml.XPath.XDocument/Makefile
index 2ec8348e646..a75dedf37fb 100644
--- a/mcs/class/Facades/System.Xml.XPath.XDocument/Makefile
+++ b/mcs/class/Facades/System.Xml.XPath.XDocument/Makefile
@@ -12,7 +12,7 @@ LIBRARY = System.Xml.XPath.XDocument.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
LIB_REFS = System
-LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml.dll /r:System.Xml.Linq.dll
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml.Linq.dll
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument.dll.sources b/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument.dll.sources
index dc18bbbbcbe..8e33d4ddeae 100644
--- a/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument.dll.sources
+++ b/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument.dll.sources
@@ -1,3 +1,3 @@
TypeForwarders.cs
AssemblyInfo.cs
-XDocumentExtensions.cs
+
diff --git a/mcs/class/Facades/System.Xml.XPath.XDocument/TypeForwarders.cs b/mcs/class/Facades/System.Xml.XPath.XDocument/TypeForwarders.cs
index 0fec9f720b4..a9ce64258f8 100644
--- a/mcs/class/Facades/System.Xml.XPath.XDocument/TypeForwarders.cs
+++ b/mcs/class/Facades/System.Xml.XPath.XDocument/TypeForwarders.cs
@@ -22,3 +22,4 @@
[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XPath.Extensions))]
+//Missing: [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XPath.XDocumentExtensions))]
diff --git a/mcs/class/Facades/System.Xml.XPath.XDocument/XDocumentExtensions.cs b/mcs/class/Facades/System.Xml.XPath.XDocument/XDocumentExtensions.cs
deleted file mode 100644
index d254f73fe4a..00000000000
--- a/mcs/class/Facades/System.Xml.XPath.XDocument/XDocumentExtensions.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Xml.Linq;
-
-namespace System.Xml.XPath
-{
- public static class XDocumentExtensions
- {
- private class XDocumentNavigable : IXPathNavigable
- {
- private XNode _node;
- public XDocumentNavigable(XNode n)
- {
- _node = n;
- }
- public XPathNavigator CreateNavigator()
- {
- return _node.CreateNavigator();
- }
- }
- public static IXPathNavigable ToXPathNavigable(this XNode node)
- {
- return new XDocumentNavigable(node);
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/Facades/subdirs.make b/mcs/class/Facades/subdirs.make
index e7d21881798..0e18045fc84 100644
--- a/mcs/class/Facades/subdirs.make
+++ b/mcs/class/Facades/subdirs.make
@@ -3,13 +3,13 @@
# Caution while renaming SUBDIRS variables as those are used outside mono repository.
# ie: macccore/builds/Makefile
-common_SUBDIRS = System.Collections.Concurrent System.Collections System.ComponentModel.Annotations System.ComponentModel.EventBasedAsync System.ComponentModel \
+monotouch_PARALLEL_SUBDIRS = System.Collections.Concurrent System.Collections System.ComponentModel.Annotations System.ComponentModel.EventBasedAsync System.ComponentModel \
System.Diagnostics.Contracts System.Diagnostics.Debug System.Diagnostics.Tracing System.Diagnostics.Tools System.Dynamic.Runtime System.Globalization System.IO System.Linq.Expressions \
System.Linq.Parallel System.Linq.Queryable System.Linq System.Net.NetworkInformation System.Net.Primitives System.Net.Requests System.ObjectModel \
System.Reflection.Extensions System.Reflection.Primitives System.Reflection System.Resources.ResourceManager System.Runtime.Extensions \
System.Runtime.InteropServices System.Runtime.InteropServices.WindowsRuntime System.Runtime.Numerics System.Runtime.Serialization.Json \
-System.Runtime System.Security.Principal System.ServiceModel.Http \
-System.ServiceModel.Security System.Text.Encoding.Extensions System.Text.Encoding System.Text.RegularExpressions System.Threading.Tasks.Parallel \
+System.Runtime.Serialization.Primitives System.Runtime.Serialization.Xml System.Runtime System.Security.Principal System.ServiceModel.Http \
+System.ServiceModel.Primitives System.ServiceModel.Security System.Text.Encoding.Extensions System.Text.Encoding System.Text.RegularExpressions System.Threading.Tasks.Parallel \
System.Threading.Tasks System.Threading.Timer System.Threading System.Xml.ReaderWriter System.Xml.XDocument System.Xml.XmlSerializer \
System.Runtime.Handles System.ServiceModel.Duplex System.ServiceModel.NetTcp \
Microsoft.Win32.Primitives Microsoft.Win32.Registry System.AppContext System.Collections.NonGeneric System.Collections.Specialized System.ComponentModel.Primitives \
@@ -22,45 +22,24 @@ System.Net.Utilities System.Net.WebHeaderCollection System.Net.WebSockets System
System.Security.AccessControl System.Security.Claims System.Security.Cryptography.DeriveBytes System.Security.Cryptography.Encoding System.Security.Cryptography.Encryption \
System.Security.Cryptography.Encryption.Aes System.Security.Cryptography.Encryption.ECDiffieHellman System.Security.Cryptography.Encryption.ECDsa System.Security.Cryptography.Hashing \
System.Security.Cryptography.Hashing.Algorithms System.Security.Cryptography.RSA System.Security.Cryptography.RandomNumberGenerator \
-System.Security.Principal.Windows System.Threading.Thread System.Threading.ThreadPool \
+System.Security.Cryptography.X509Certificates System.Security.Principal.Windows System.Threading.Thread System.Threading.ThreadPool \
System.Xml.XPath System.Xml.XmlDocument System.Xml.Xsl.Primitives Microsoft.Win32.Registry.AccessControl System.Diagnostics.StackTrace System.Globalization.Extensions \
System.IO.FileSystem.AccessControl System.Private.CoreLib.InteropServices System.Private.CoreLib.Threading System.Reflection.TypeExtensions \
-System.Security.SecureString System.Threading.AccessControl System.Threading.Overlapped System.Xml.XPath.XDocument System.IO.Compression \
-System.Security.Cryptography.Algorithms System.Security.Cryptography.Primitives System.Text.Encoding.CodePages System.IO.FileSystem.Watcher \
-System.Security.Cryptography.ProtectedData System.ServiceProcess.ServiceController System.IO.Pipes
-
-# common_SUBDIRS dependencies
-common_DEPS_SUBDIRS = System.Security.Cryptography.X509Certificates System.ServiceModel.Primitives System.Runtime.Serialization.Primitives System.Runtime.Serialization.Xml \
-System.Drawing.Primitives
+System.Security.SecureString System.Threading.AccessControl System.Threading.Overlapped System.Xml.XPath.XDocument
reflection_PARALLEL_SUBDIRS = System.Reflection.Emit.ILGeneration System.Reflection.Emit.Lightweight System.Reflection.Emit
-monotouch_SUBDIRS = $(common_DEPS_SUBDIRS)
-monotouch_PARALLEL_SUBDIRS = $(common_SUBDIRS) $(mobile_only_SUBDIRS)
-
-mobile_static_SUBDIRS = $(monotouch_SUBDIRS)
mobile_static_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
-net_4_x_SUBDIRS = $(common_DEPS_SUBDIRS)
-net_4_x_PARALLEL_SUBDIRS = $(common_SUBDIRS) $(reflection_PARALLEL_SUBDIRS) System.Diagnostics.PerformanceCounter \
-System.Net.Http.WebRequestHandler
+net_4_x_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS) System.Diagnostics.PerformanceCounter \
+System.IO.FileSystem.Watcher System.IO.Pipes System.Security.Cryptography.ProtectedData System.ServiceProcess.ServiceController System.Net.Http.WebRequestHandler
-monodroid_SUBDIRS = $(monotouch_SUBDIRS)
monodroid_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
-xammac_SUBDIRS = $(monotouch_SUBDIRS)
-xammac_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
-
-xammac_net_4_5_SUBDIRS = $(net_4_x_SUBDIRS)
-xammac_net_4_5_PARALLEL_SUBDIRS = $(net_4_x_PARALLEL_SUBDIRS)
+xammac_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
+xammac_net_4_5_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
-monotouch_watch_SUBDIRS = $(monotouch_SUBDIRS)
monotouch_watch_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
-
-monotouch_tv_SUBDIRS = $(monotouch_SUBDIRS)
monotouch_tv_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_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.OpenSsl
-
PROFILE_PARALLEL_SUBDIRS = $(net_4_x_PARALLEL_SUBDIRS)
diff --git a/mcs/class/Makefile b/mcs/class/Makefile
index b27d05116fb..60b19a023af 100644
--- a/mcs/class/Makefile
+++ b/mcs/class/Makefile
@@ -22,7 +22,6 @@ mobile_common_dirs := \
corlib \
System \
System.Core \
- System.Security \
System.XML \
Mono.Security \
System \
@@ -38,7 +37,6 @@ mobile_common_dirs := \
Mono.Data.Tds \
System.Transactions \
System.Numerics \
- System.Numerics.Vectors \
System.Data \
Mono.Cairo \
Mono.Data.Sqlite \
@@ -56,12 +54,7 @@ mobile_common_dirs := \
Microsoft.CSharp \
Mono.Security.Providers.DotNet \
Mono.Security.Providers.NewSystemSource \
- Mono.Security.Providers.NewTls \
- System.Runtime.InteropServices.RuntimeInformation \
- System.Reflection.DispatchProxy \
- System.Xml.XPath.XmlDocument \
- System.Reflection.Context \
- System.Net.Http.WinHttpHandler
+ Mono.Security.Providers.NewTls
mobile_static_dirs := \
$(mobile_common_dirs) \
@@ -100,7 +93,6 @@ xammac_4_5_dirs := \
System \
Mono.Posix \
System.Core \
- System.Security \
System.XML \
Mono.Security \
System \
@@ -138,14 +130,10 @@ xammac_4_5_dirs := \
Mono.CompilerServices.SymbolWriter \
System.Data.Linq \
System.Net.Http \
- System.Net.Http.WebRequest \
Mono.Security.Providers.DotNet \
Mono.Security.Providers.OldTls \
Mono.Security.Providers.NewSystemSource \
Mono.Security.Providers.NewTls \
- System.Runtime.InteropServices.RuntimeInformation \
- System.Reflection.Context \
- System.Net.Http.WinHttpHandler \
$(pcl_facade_dirs)
net_4_x_dirs := \
@@ -232,8 +220,7 @@ net_4_x_dirs := \
System.Web.Http.SelfHost \
System.Web.Http.WebHost \
Mono.Security.Providers.NewSystemSource \
- Mono.Security.Providers.NewTls \
- System.Runtime.InteropServices.RuntimeInformation
+ Mono.Security.Providers.NewTls
# These are the subdirs which depends on libs in net_4_x_dirs
# or have proper dependencies between each other
@@ -283,7 +270,6 @@ net_4_x_parallel_dirs := \
Microsoft.VisualC \
WebMatrix.Data \
monodoc \
- System.Reflection.Context \
$(pcl_facade_dirs)
xbuild_2_0_dirs := \
diff --git a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptHandle.cs b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptHandle.cs
deleted file mode 100644
index 873ce5782aa..00000000000
--- a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptHandle.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// SafeNCryptHandle.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.
-//
-
-using System;
-
-namespace Microsoft.Win32.SafeHandles
-{
- public abstract class SafeNCryptHandle : System.Runtime.InteropServices.SafeHandle
- {
- protected SafeNCryptHandle ()
- : base (IntPtr.Zero, true)
- {
- }
-
- public override bool IsInvalid { get { throw new NotImplementedException (); } }
-
- protected override bool ReleaseHandle ()
- {
- return false;
- }
-
- protected abstract bool ReleaseNativeHandle();
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptKeyHandle.cs b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptKeyHandle.cs
deleted file mode 100644
index 3dcbfae8d6d..00000000000
--- a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptKeyHandle.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// SafeNCryptKeyHandle.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 Microsoft.Win32.SafeHandles
-{
- public sealed class SafeNCryptKeyHandle : SafeNCryptHandle
- {
- public SafeNCryptKeyHandle ()
- {
- }
-
- protected override bool ReleaseNativeHandle ()
- {
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptProviderHandle.cs b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptProviderHandle.cs
deleted file mode 100644
index 4a2d17ab828..00000000000
--- a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptProviderHandle.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// SafeNCryptProviderHandle.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 Microsoft.Win32.SafeHandles
-{
- public sealed class SafeNCryptProviderHandle : SafeNCryptHandle
- {
- public SafeNCryptProviderHandle ()
- {
- }
-
- protected override bool ReleaseNativeHandle ()
- {
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptSecretHandle.cs b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptSecretHandle.cs
deleted file mode 100644
index 8943e38e48d..00000000000
--- a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafeNCryptSecretHandle.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// SafeNCryptSecretHandle.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 Microsoft.Win32.SafeHandles
-{
- public sealed class SafeNCryptSecretHandle : SafeNCryptHandle
- {
- public SafeNCryptSecretHandle ()
- {
- }
-
- protected override bool ReleaseNativeHandle ()
- {
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeClientStream.cs b/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeClientStream.cs
index 23bf26f7482..2c195034d83 100644
--- a/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeClientStream.cs
+++ b/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeClientStream.cs
@@ -63,7 +63,7 @@ namespace System.IO.Pipes
{
}
- public AnonymousPipeClientStream (PipeDirection direction, SafePipeHandle safePipeHandle)
+ public AnonymousPipeClientStream (PipeDirection direction,SafePipeHandle safePipeHandle)
: base (direction, DefaultBufferSize)
{
/*
@@ -73,11 +73,7 @@ namespace System.IO.Pipes
impl = new UnixAnonymousPipeClient (this, safePipeHandle);
*/
-#if MOBILE
- throw new NotImplementedException ();
-#else
InitializeHandle (safePipeHandle, false, false);
-#endif
IsConnected = true;
}
diff --git a/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeServerStream.cs b/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeServerStream.cs
index 97455f30cda..01e4b1dbf49 100644
--- a/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeServerStream.cs
+++ b/mcs/class/System.Core/System.IO.Pipes/AnonymousPipeServerStream.cs
@@ -59,18 +59,10 @@ namespace System.IO.Pipes
}
public AnonymousPipeServerStream (PipeDirection direction, HandleInheritability inheritability, int bufferSize)
-#if MOBILE
- : base (direction, bufferSize)
- {
- throw new NotImplementedException ();
- }
-#else
: this (direction, inheritability, bufferSize, null)
{
}
-#endif
-#if !MOBILE
public AnonymousPipeServerStream (PipeDirection direction, HandleInheritability inheritability, int bufferSize, PipeSecurity pipeSecurity)
: base (direction, bufferSize)
{
@@ -85,7 +77,6 @@ namespace System.IO.Pipes
InitializeHandle (impl.Handle, false, false);
IsConnected = true;
}
-#endif
[MonoTODO]
public AnonymousPipeServerStream (PipeDirection direction, SafePipeHandle serverSafePipeHandle, SafePipeHandle clientSafePipeHandle)
@@ -99,9 +90,6 @@ namespace System.IO.Pipes
if (direction == PipeDirection.InOut)
throw new NotSupportedException ("Anonymous pipe direction can only be either in or out.");
-#if MOBILE
- throw new NotImplementedException ();
-#else
if (IsWindows)
impl = new Win32AnonymousPipeServer (this, serverSafePipeHandle, clientSafePipeHandle);
else
@@ -111,12 +99,6 @@ namespace System.IO.Pipes
IsConnected = true;
ClientSafePipeHandle = clientSafePipeHandle;
-#endif
- }
-
- ~AnonymousPipeServerStream ()
- {
- // To be compatible with .net
}
IAnonymousPipeServer impl;
diff --git a/mcs/class/System.Core/System.IO.Pipes/NamedPipeClientStream.cs b/mcs/class/System.Core/System.IO.Pipes/NamedPipeClientStream.cs
index 181ab1ccbf0..357f7387d23 100644
--- a/mcs/class/System.Core/System.IO.Pipes/NamedPipeClientStream.cs
+++ b/mcs/class/System.Core/System.IO.Pipes/NamedPipeClientStream.cs
@@ -72,33 +72,21 @@ namespace System.IO.Pipes
}
public NamedPipeClientStream (string serverName, string pipeName, PipeDirection direction, PipeOptions options, TokenImpersonationLevel impersonationLevel, HandleInheritability inheritability)
-#if MOBILE
- : base (direction, DefaultBufferSize)
- {
- throw new NotImplementedException ();
- }
-#else
: this (serverName, pipeName, ToAccessRights (direction), options, impersonationLevel, inheritability)
{
}
-#endif
public NamedPipeClientStream (PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle)
: base (direction, DefaultBufferSize)
{
-#if MOBILE
- throw new NotImplementedException ();
-#else
if (IsWindows)
impl = new Win32NamedPipeClient (this, safePipeHandle);
else
impl = new UnixNamedPipeClient (this, safePipeHandle);
IsConnected = isConnected;
InitializeHandle (safePipeHandle, true, isAsync);
-#endif
}
-#if !MOBILE
public NamedPipeClientStream (string serverName, string pipeName, PipeAccessRights desiredAccessRights, PipeOptions options, TokenImpersonationLevel impersonationLevel, HandleInheritability inheritability)
: base (ToDirection (desiredAccessRights), DefaultBufferSize)
{
@@ -111,30 +99,21 @@ namespace System.IO.Pipes
else
impl = new UnixNamedPipeClient (this, serverName, pipeName, desiredAccessRights, options, inheritability);
}
-#endif
INamedPipeClient impl;
public void Connect ()
{
-#if MOBILE
- throw new NotImplementedException ();
-#else
impl.Connect ();
InitializeHandle (impl.Handle, false, impl.IsAsync);
IsConnected = true;
-#endif
}
public void Connect (int timeout)
{
-#if MOBILE
- throw new NotImplementedException ();
-#else
impl.Connect (timeout);
InitializeHandle (impl.Handle, false, impl.IsAsync);
IsConnected = true;
-#endif
}
public int NumberOfServerInstances {
diff --git a/mcs/class/System.Core/System.IO.Pipes/NamedPipeServerStream.cs b/mcs/class/System.Core/System.IO.Pipes/NamedPipeServerStream.cs
index 2723109bd98..b29deaf3301 100644
--- a/mcs/class/System.Core/System.IO.Pipes/NamedPipeServerStream.cs
+++ b/mcs/class/System.Core/System.IO.Pipes/NamedPipeServerStream.cs
@@ -70,18 +70,10 @@ namespace System.IO.Pipes
}
public NamedPipeServerStream (string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize)
-#if MOBILE
- : base (direction, inBufferSize)
- {
- throw new NotImplementedException ();
- }
-#else
: this (pipeName, direction, maxNumberOfServerInstances, transmissionMode, options, inBufferSize, outBufferSize, null)
{
}
-#endif
-#if !MOBILE
public NamedPipeServerStream (string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize, PipeSecurity pipeSecurity)
: this (pipeName, direction, maxNumberOfServerInstances, transmissionMode, options, inBufferSize, outBufferSize, pipeSecurity, HandleInheritability.None)
{
@@ -109,26 +101,16 @@ namespace System.IO.Pipes
InitializeHandle (impl.Handle, false, (options & PipeOptions.Asynchronous) != PipeOptions.None);
}
-#endif
public NamedPipeServerStream (PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle)
: base (direction, DefaultBufferSize)
{
-#if MOBILE
- throw new NotImplementedException ();
-#else
if (IsWindows)
impl = new Win32NamedPipeServer (this, safePipeHandle);
else
impl = new UnixNamedPipeServer (this, safePipeHandle);
IsConnected = isConnected;
InitializeHandle (safePipeHandle, true, isAsync);
-#endif
- }
-
- ~NamedPipeServerStream ()
- {
- // To be compatible with .net
}
INamedPipeServer impl;
@@ -138,14 +120,12 @@ namespace System.IO.Pipes
impl.Disconnect ();
}
-#if !MOBILE
[MonoTODO]
[SecurityPermission (SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlPrincipal)]
public void RunAsClient (PipeStreamImpersonationWorker impersonationWorker)
{
throw new NotImplementedException ();
}
-#endif
public void WaitForConnection ()
{
@@ -160,7 +140,6 @@ namespace System.IO.Pipes
throw new NotImplementedException ();
}
-#if !MOBILE
// async operations
Action wait_connect_delegate;
@@ -177,7 +156,6 @@ namespace System.IO.Pipes
{
wait_connect_delegate.EndInvoke (asyncResult);
}
-#endif
}
}
diff --git a/mcs/class/System.Core/System.IO.Pipes/PipeStream.cs b/mcs/class/System.Core/System.IO.Pipes/PipeStream.cs
index ed030e7608b..fd4a57a6930 100644
--- a/mcs/class/System.Core/System.IO.Pipes/PipeStream.cs
+++ b/mcs/class/System.Core/System.IO.Pipes/PipeStream.cs
@@ -46,18 +46,15 @@ namespace System.IO.Pipes
// FIXME: not precise.
internal const int DefaultBufferSize = 0x400;
-#if !MOBILE
internal static bool IsWindows {
get { return Win32Marshal.IsWindows; }
}
-#endif
internal Exception ThrowACLException ()
{
return new NotImplementedException ("ACL is not supported in Mono");
}
-#if !MOBILE
internal static PipeAccessRights ToAccessRights (PipeDirection direction)
{
switch (direction) {
@@ -88,7 +85,6 @@ namespace System.IO.Pipes
throw new ArgumentOutOfRangeException ();
}
}
-#endif
protected PipeStream (PipeDirection direction, int bufferSize)
: this (direction, PipeTransmissionMode.Byte, bufferSize)
@@ -144,9 +140,7 @@ namespace System.IO.Pipes
set { stream = value; }
}
-#if !MOBILE
protected bool IsHandleExposed { get; private set; }
-#endif
[MonoTODO]
public bool IsMessageComplete { get; private set; }
@@ -182,19 +176,7 @@ namespace System.IO.Pipes
}
// initialize/dispose/state check
-#if MOBILE
- internal static void CheckPipePropertyOperations ()
- {
- }
- static void CheckReadOperations ()
- {
- }
-
- static void CheckWriteOperations ()
- {
- }
-#else
[MonoTODO]
protected internal virtual void CheckPipePropertyOperations ()
{
@@ -224,7 +206,6 @@ namespace System.IO.Pipes
this.IsHandleExposed = isExposed;
this.IsAsync = isAsync;
}
-#endif
protected override void Dispose (bool disposing)
{
@@ -253,7 +234,6 @@ namespace System.IO.Pipes
throw new NotSupportedException ();
}
-#if !MOBILE
public PipeSecurity GetAccessControl ()
{
return new PipeSecurity (SafePipeHandle,
@@ -275,7 +255,6 @@ namespace System.IO.Pipes
public void WaitForPipeDrain ()
{
}
-#endif
[MonoTODO]
public override int Read ([In] byte [] buffer, int offset, int count)
@@ -319,7 +298,6 @@ namespace System.IO.Pipes
// async
-#if !MOBILE
Func<byte [],int,int,int> read_delegate;
[HostProtection (SecurityAction.LinkDemand, ExternalThreading = true)]
@@ -349,7 +327,6 @@ namespace System.IO.Pipes
{
write_delegate.EndInvoke (asyncResult);
}
-#endif
}
}
diff --git a/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/ECDsaCertificateExtensions.cs b/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/ECDsaCertificateExtensions.cs
deleted file mode 100644
index aa5da449d7d..00000000000
--- a/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/ECDsaCertificateExtensions.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ECDsaCertificateExtensions.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.Security.Cryptography.X509Certificates
-{
- public static class ECDsaCertificateExtensions
- {
- [MonoTODO]
- public static ECDsa GetECDsaPrivateKey (this X509Certificate2 certificate)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static ECDsa GetECDsaPublicKey (this X509Certificate2 certificate)
- {
- throw new NotImplementedException ();
- }
- }
-}
diff --git a/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/RSACertificateExtensions.cs b/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/RSACertificateExtensions.cs
deleted file mode 100644
index 0e322e4b109..00000000000
--- a/mcs/class/System.Core/System.Security.Cryptography.X509Certificates/RSACertificateExtensions.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// RsaCertificateExtensions.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.Security.Cryptography.X509Certificates
-{
- public static class RSACertificateExtensions
- {
- [MonoTODO]
- public static RSA GetRSAPrivateKey(this X509Certificate2 certificate)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static RSA GetRSAPublicKey(this X509Certificate2 certificate)
- {
- throw new NotImplementedException ();
- }
- }
-}
diff --git a/mcs/class/System.Core/System.Security.Cryptography/AesCng.cs b/mcs/class/System.Core/System.Security.Cryptography/AesCng.cs
deleted file mode 100644
index 64377b7bf09..00000000000
--- a/mcs/class/System.Core/System.Security.Cryptography/AesCng.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-//
-// AesCng.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.Security.Cryptography
-{
- public sealed class AesCng : Aes
- {
- public AesCng ()
- {
- throw new NotImplementedException ();
- }
-
- public AesCng (string keyName)
- {
- throw new NotImplementedException ();
- }
-
- public AesCng (string keyName, CngProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public AesCng (string keyName, CngProvider provider, CngKeyOpenOptions openOptions)
- {
- throw new NotImplementedException ();
- }
-
- public override Byte[] Key {
- get {
- throw new NotImplementedException ();
- } set {
- throw new NotImplementedException ();
- }
- }
-
- public override int KeySize {
- get {
- throw new NotImplementedException ();
- }
-
- set {
- throw new NotImplementedException ();
- }
- }
- public override ICryptoTransform CreateDecryptor ()
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateDecryptor (Byte[] rgbKey, Byte[] rgbIV)
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateEncryptor ()
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateEncryptor (Byte[] rgbKey, Byte[] rgbIV)
- {
- return default(System.Security.Cryptography.ICryptoTransform);
- }
-
- protected override void Dispose (bool disposing) {
- throw new NotImplementedException ();
- }
-
- public override void GenerateIV ()
- {
- throw new NotImplementedException ();
- }
-
- public override void GenerateKey ()
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/System.Security.Cryptography/TripleDESCng.cs b/mcs/class/System.Core/System.Security.Cryptography/TripleDESCng.cs
deleted file mode 100644
index 48f93772b69..00000000000
--- a/mcs/class/System.Core/System.Security.Cryptography/TripleDESCng.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-//
-// TripleDESCng.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.Security.Cryptography
-{
- public sealed class TripleDESCng : TripleDES
- {
- public TripleDESCng ()
- {
- throw new NotImplementedException ();
- }
-
- public TripleDESCng (string keyName)
- {
- throw new NotImplementedException ();
- }
-
- public TripleDESCng (string keyName, CngProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public TripleDESCng (string keyName, CngProvider provider, CngKeyOpenOptions openOptions)
- {
- throw new NotImplementedException ();
- }
-
- public override Byte[] Key {
- get {
- throw new NotImplementedException ();
- } set {
- throw new NotImplementedException ();
- }
- }
-
- public override int KeySize {
- get {
- throw new NotImplementedException ();
- }
-
- set {
- throw new NotImplementedException ();
- }
- }
- public override ICryptoTransform CreateDecryptor ()
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateDecryptor (Byte[] rgbKey, Byte[] rgbIV)
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateEncryptor ()
- {
- throw new NotImplementedException ();
- }
-
- public override ICryptoTransform CreateEncryptor (Byte[] rgbKey, Byte[] rgbIV)
- {
- return default(System.Security.Cryptography.ICryptoTransform);
- }
-
- protected override void Dispose (bool disposing) {
- throw new NotImplementedException ();
- }
-
- public override void GenerateIV ()
- {
- throw new NotImplementedException ();
- }
-
- public override void GenerateKey ()
- {
- throw new NotImplementedException ();
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Core/common_System.Core.dll.sources b/mcs/class/System.Core/common_System.Core.dll.sources
index 808d7108c9e..455930f26f8 100644
--- a/mcs/class/System.Core/common_System.Core.dll.sources
+++ b/mcs/class/System.Core/common_System.Core.dll.sources
@@ -6,25 +6,6 @@ System.IO.MemoryMappedFiles/MemoryMappedFile.cs
System.IO.MemoryMappedFiles/MemoryMappedView.cs
Microsoft.Win32.SafeHandles/SafeMemoryMappedFileHandle.cs
Microsoft.Win32.SafeHandles/SafeMemoryMappedViewHandle.cs
-System.Security.Cryptography/AesCng.cs
-System.Security.Cryptography/TripleDESCng.cs
-System.Security.Cryptography.X509Certificates/ECDsaCertificateExtensions.cs
-System.Security.Cryptography.X509Certificates/RSACertificateExtensions.cs
-Microsoft.Win32.SafeHandles/SafeNCryptHandle.cs
-Microsoft.Win32.SafeHandles/SafeNCryptKeyHandle.cs
-Microsoft.Win32.SafeHandles/SafeNCryptProviderHandle.cs
-Microsoft.Win32.SafeHandles/SafeNCryptSecretHandle.cs
-Microsoft.Win32.SafeHandles/SafePipeHandle.cs
-
-System.IO.Pipes/AnonymousPipeClientStream.cs
-System.IO.Pipes/AnonymousPipeServerStream.cs
-System.IO.Pipes/NamedPipeClientStream.cs
-System.IO.Pipes/NamedPipeServerStream.cs
-System.IO.Pipes/PipeDirection.cs
-System.IO.Pipes/PipeInterfaces.cs
-System.IO.Pipes/PipeOptions.cs
-System.IO.Pipes/PipeStream.cs
-System.IO.Pipes/PipeTransmissionMode.cs
ReferenceSources/SR.cs
ReferenceSources/Error.cs
@@ -203,20 +184,8 @@ ReferenceSources/Strings.cs
../../../external/referencesource/System.Core/System/Runtime/CompilerServices/ExecutionScope.cs
../../../external/referencesource/System.Core/System/Security/Cryptography/Aes.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/BCryptNative.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngAlgorithm.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngAlgorithmGroup.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngKey.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngKeyBlobFormat.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngKeyCreationParameters.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngProperty.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngProvider.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/CngUIPolicy.cs
../../../external/referencesource/System.Core/System/Security/Cryptography/ECDiffieHellmanPublicKey.cs
../../../external/referencesource/System.Core/System/Security/Cryptography/ECDsa.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/ECDsaCng.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/NCryptNative.cs
-../../../external/referencesource/System.Core/System/Security/Cryptography/RsaCng.cs
../../../external/referencesource/System.Core/System/threading/ReaderWriterLockSlim/ReaderWriterLockSlim.cs
diff --git a/mcs/class/System.Core/mobile_static_System.Core.dll.sources b/mcs/class/System.Core/mobile_static_System.Core.dll.sources
index 8b8fef0e40e..7d32d44a88b 100644
--- a/mcs/class/System.Core/mobile_static_System.Core.dll.sources
+++ b/mcs/class/System.Core/mobile_static_System.Core.dll.sources
@@ -1,17 +1,2 @@
#include common_System.Core.dll.sources
#include interpreter_System.Core.dll.sources
-
-System.Security.Cryptography/AesCryptoServiceProvider.cs
-System.Security.Cryptography/AesTransform.cs
-System.Security.Cryptography/MD5Cng.cs
-System.Security.Cryptography/SHA1Cng.cs
-System.Security.Cryptography/SHA256Cng.cs
-System.Security.Cryptography/SHA256CryptoServiceProvider.cs
-System.Security.Cryptography/SHA384Cng.cs
-System.Security.Cryptography/SHA384CryptoServiceProvider.cs
-System.Security.Cryptography/SHA512Cng.cs
-System.Security.Cryptography/SHA512CryptoServiceProvider.cs
-
-../referencesource/System.Core/System/Security/Cryptography/AesManaged.cs
-../referencesource/System.Core/System/Security/Cryptography/ECDiffieHellman.cs
-../referencesource/System.Core/System/Security/Cryptography/ECKeyXmlFormat.cs
diff --git a/mcs/class/System.Core/net_4_x_System.Core.dll.sources b/mcs/class/System.Core/net_4_x_System.Core.dll.sources
index 967d58bea1e..4d2ae3dd7ee 100644
--- a/mcs/class/System.Core/net_4_x_System.Core.dll.sources
+++ b/mcs/class/System.Core/net_4_x_System.Core.dll.sources
@@ -1,16 +1,29 @@
#include common_System.Core.dll.sources
#include dynamic_System.Core.dll.sources
+Microsoft.Win32.SafeHandles/SafePipeHandle.cs
+
+System.IO.Pipes/AnonymousPipeClientStream.cs
+System.IO.Pipes/AnonymousPipeServerStream.cs
+System.IO.Pipes/NamedPipeClientStream.cs
+System.IO.Pipes/NamedPipeServerStream.cs
System.IO.Pipes/PipeAccessRights.cs
System.IO.Pipes/PipeAccessRule.cs
System.IO.Pipes/PipeAuditRule.cs
+System.IO.Pipes/PipeDirection.cs
+System.IO.Pipes/PipeInterfaces.cs
+System.IO.Pipes/PipeOptions.cs
System.IO.Pipes/PipeSecurity.cs
+System.IO.Pipes/PipeStream.cs
System.IO.Pipes/PipeStreamImpersonationWorker.cs
+System.IO.Pipes/PipeTransmissionMode.cs
System.IO.Pipes/PipeUnix.cs
System.IO.Pipes/PipeWin32.cs
System.Security.Cryptography/AesCryptoServiceProvider.cs
System.Security.Cryptography/AesTransform.cs
+System.Security.Cryptography/CngAlgorithm.cs
+System.Security.Cryptography/CngAlgorithmGroup.cs
System.Security.Cryptography/MD5Cng.cs
System.Security.Cryptography/SHA1Cng.cs
System.Security.Cryptography/SHA256Cng.cs
diff --git a/mcs/class/System.Data/Microsoft.SqlServer.Server/SqlDataRecord.cs b/mcs/class/System.Data/Microsoft.SqlServer.Server/SqlDataRecord.cs
index 04a93d20c2d..b928fc4086a 100644
--- a/mcs/class/System.Data/Microsoft.SqlServer.Server/SqlDataRecord.cs
+++ b/mcs/class/System.Data/Microsoft.SqlServer.Server/SqlDataRecord.cs
@@ -35,87 +35,87 @@ namespace Microsoft.SqlServer.Server
{
public sealed class SqlDataRecord : IDataRecord
{
- public bool GetBoolean (int ordinal)
+ public bool GetBoolean (int i)
{
throw new NotImplementedException ();
}
- public byte GetByte (int ordinal)
+ public byte GetByte (int i)
{
throw new NotImplementedException ();
}
- public long GetBytes (int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length)
+ public long GetBytes (int i, long fieldOffset, byte[] buffer, int bufferoffset, int length)
{
throw new NotImplementedException ();
}
- public char GetChar (int ordinal)
+ public char GetChar (int i)
{
throw new NotImplementedException ();
}
- public long GetChars (int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length)
+ public long GetChars (int i, long fieldoffset, char[] buffer, int bufferoffset, int length)
{
throw new NotImplementedException ();
}
- public IDataReader GetData (int ordinal)
+ public IDataReader GetData (int i)
{
throw new NotImplementedException ();
}
- public string GetDataTypeName (int ordinal)
+ public string GetDataTypeName (int i)
{
throw new NotImplementedException ();
}
- public DateTime GetDateTime (int ordinal)
+ public DateTime GetDateTime (int i)
{
throw new NotImplementedException ();
}
- public decimal GetDecimal (int ordinal)
+ public decimal GetDecimal (int i)
{
throw new NotImplementedException ();
}
- public double GetDouble (int ordinal)
+ public double GetDouble (int i)
{
throw new NotImplementedException ();
}
- public System.Type GetFieldType (int ordinal)
+ public System.Type GetFieldType (int i)
{
throw new NotImplementedException ();
}
- public float GetFloat (int ordinal)
+ public float GetFloat (int i)
{
throw new NotImplementedException ();
}
- public Guid GetGuid (int ordinal)
+ public Guid GetGuid (int i)
{
throw new NotImplementedException ();
}
- public short GetInt16 (int ordinal)
+ public short GetInt16 (int i)
{
throw new NotImplementedException ();
}
- public int GetInt32 (int ordinal)
+ public int GetInt32 (int i)
{
throw new NotImplementedException ();
}
- public long GetInt64 (int ordinal)
+ public long GetInt64 (int i)
{
throw new NotImplementedException ();
}
- public string GetName (int ordinal)
+ public string GetName (int i)
{
throw new NotImplementedException ();
}
@@ -125,12 +125,12 @@ namespace Microsoft.SqlServer.Server
throw new NotImplementedException ();
}
- public string GetString (int ordinal)
+ public string GetString (int i)
{
throw new NotImplementedException ();
}
- public object GetValue (int ordinal)
+ public object GetValue (int i)
{
throw new NotImplementedException ();
}
@@ -140,7 +140,7 @@ namespace Microsoft.SqlServer.Server
throw new NotImplementedException ();
}
- public bool IsDBNull (int ordinal)
+ public bool IsDBNull (int i)
{
throw new NotImplementedException ();
}
@@ -151,13 +151,13 @@ namespace Microsoft.SqlServer.Server
}
}
- public object this [string name] {
+ public object this [string index] {
get {
throw new NotImplementedException ();
}
}
- public object this [int ordinal] {
+ public object this [int index] {
get {
throw new NotImplementedException ();
}
diff --git a/mcs/class/System.Drawing/Makefile b/mcs/class/System.Drawing/Makefile
index 0794558d1e4..8827cb4f826 100644
--- a/mcs/class/System.Drawing/Makefile
+++ b/mcs/class/System.Drawing/Makefile
@@ -5,7 +5,7 @@ SUBDIRS =
LIBRARY = System.Drawing.dll
LIB_REFS = System
-LIB_MCS_FLAGS = /unsafe /r:$(corlib) -d:FEATURE_TYPECONVERTER \
+LIB_MCS_FLAGS = /unsafe /r:$(corlib) \
-resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico \
-resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico \
-resource:Assembly/Question.ico,Question.ico -resource:Assembly/Shield.ico,Shield.ico
diff --git a/mcs/class/System.Drawing/System.Drawing/Point.cs b/mcs/class/System.Drawing/System.Drawing/Point.cs
index 53f9568067a..88a8390b564 100644
--- a/mcs/class/System.Drawing/System.Drawing/Point.cs
+++ b/mcs/class/System.Drawing/System.Drawing/Point.cs
@@ -40,7 +40,7 @@ namespace System.Drawing
{
[Serializable]
[ComVisible (true)]
-#if !MONOTOUCH && !MONOMAC && FEATURE_TYPECONVERTER
+#if !MONOTOUCH && !MONOMAC
[TypeConverter (typeof (PointConverter))]
#endif
public struct Point
diff --git a/mcs/class/System.Drawing/System.Drawing/Rectangle.cs b/mcs/class/System.Drawing/System.Drawing/Rectangle.cs
index 0d1194675b2..c2ffbc80e5e 100644
--- a/mcs/class/System.Drawing/System.Drawing/Rectangle.cs
+++ b/mcs/class/System.Drawing/System.Drawing/Rectangle.cs
@@ -39,7 +39,7 @@ namespace System.Drawing
{
[Serializable]
[ComVisible (true)]
-#if !MONOTOUCH && !MONOMAC && FEATURE_TYPECONVERTER
+#if !MONOTOUCH && !MONOMAC
[TypeConverter (typeof (RectangleConverter))]
#endif
public struct Rectangle
diff --git a/mcs/class/System.Drawing/System.Drawing/Size.cs b/mcs/class/System.Drawing/System.Drawing/Size.cs
index 3c657dc29f2..be8fda0ea8e 100644
--- a/mcs/class/System.Drawing/System.Drawing/Size.cs
+++ b/mcs/class/System.Drawing/System.Drawing/Size.cs
@@ -40,7 +40,7 @@ namespace System.Drawing
{
[Serializable]
[ComVisible (true)]
-#if !MONOTOUCH && !MONOMAC && FEATURE_TYPECONVERTER
+#if !MONOTOUCH && !MONOMAC
[TypeConverter (typeof (SizeConverter))]
#endif
public struct Size
diff --git a/mcs/class/System.Drawing/System.Drawing/SizeF.cs b/mcs/class/System.Drawing/System.Drawing/SizeF.cs
index 922ab4e35e2..38714d1c996 100644
--- a/mcs/class/System.Drawing/System.Drawing/SizeF.cs
+++ b/mcs/class/System.Drawing/System.Drawing/SizeF.cs
@@ -40,7 +40,7 @@ namespace System.Drawing
{
[Serializable]
[ComVisible (true)]
-#if !MONOTOUCH && !MONOMAC && FEATURE_TYPECONVERTER
+#if !MONOTOUCH && !MONOMAC
[TypeConverter (typeof (SizeFConverter))]
#endif
public struct SizeF
diff --git a/mcs/class/System.Net.Http.WinHttpHandler/Assembly/AssemblyInfo.cs b/mcs/class/System.Net.Http.WinHttpHandler/Assembly/AssemblyInfo.cs
deleted file mode 100644
index d477aee4490..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/Assembly/AssemblyInfo.cs
+++ /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.Net.Http.WinHttpHandler.dll")]
-[assembly: AssemblyDescription ("System.Net.Http.WinHttpHandler.dll")]
-[assembly: AssemblyDefaultAlias ("System.Net.Http.WinHttpHandler.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.Net.Http.WinHttpHandler/Makefile b/mcs/class/System.Net.Http.WinHttpHandler/Makefile
deleted file mode 100644
index 55b07ffdd63..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-thisdir = class/System.Net.Http.WinHttpHandler
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = System.Net.Http.WinHttpHandler.dll
-LIB_REFS = System System.Net.Http
-LIB_MCS_FLAGS =
-
-NO_TEST = yes
-
-include ../../build/library.make
diff --git a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http.WinHttpHandler.dll.sources b/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http.WinHttpHandler.dll.sources
deleted file mode 100644
index 97feb39e8ae..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http.WinHttpHandler.dll.sources
+++ /dev/null
@@ -1,8 +0,0 @@
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-
-System.Net.Http/CookieUsePolicy.cs
-System.Net.Http/WindowsProxyUsePolicy.cs
-System.Net.Http/WinHttpHandler.cs
diff --git a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/CookieUsePolicy.cs b/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/CookieUsePolicy.cs
deleted file mode 100644
index f27cb2ca49f..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/CookieUsePolicy.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// CookieUsePolicy.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.Net.Http
-{
- public enum CookieUsePolicy
- {
- IgnoreCookies = 0,
- UseInternalCookieStoreOnly = 1,
- UseSpecifiedCookieContainer = 2,
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WinHttpHandler.cs b/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WinHttpHandler.cs
deleted file mode 100644
index e2db5f66fac..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WinHttpHandler.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// WinHttpHandler.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.Collections.Generic;
-using System.Threading.Tasks;
-using System.Net.Security;
-using System.Security.Authentication;
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.Net.Http
-{
- public class WinHttpHandler : HttpMessageHandler
- {
- public WinHttpHandler() { throw new PlatformNotSupportedException (); }
-
- public DecompressionMethods AutomaticDecompression { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public bool AutomaticRedirection { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public bool CheckCertificateRevocationList { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public ClientCertificateOption ClientCertificateOption { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public X509Certificate2Collection ClientCertificates { get { throw new PlatformNotSupportedException (); } }
-
- public CookieContainer CookieContainer { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public CookieUsePolicy CookieUsePolicy { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public ICredentials DefaultProxyCredentials { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public int MaxAutomaticRedirections { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public int MaxConnectionsPerServer { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public int MaxResponseDrainSize { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public int MaxResponseHeadersLength { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public bool PreAuthenticate { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public IDictionary<string, object> Properties { get { throw new PlatformNotSupportedException (); } }
-
- public IWebProxy Proxy { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public TimeSpan ReceiveDataTimeout { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public TimeSpan ReceiveHeadersTimeout { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public TimeSpan SendTimeout { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateValidationCallback { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public ICredentials ServerCredentials { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public SslProtocols SslProtocols { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- public WindowsProxyUsePolicy WindowsProxyUsePolicy { get { throw new PlatformNotSupportedException (); } set { throw new PlatformNotSupportedException (); } }
-
- protected override void Dispose (bool disposing) { throw new PlatformNotSupportedException (); }
-
- protected override Task<HttpResponseMessage> SendAsync (HttpRequestMessage request, Threading.CancellationToken cancellationToken) { throw new PlatformNotSupportedException (); }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WindowsProxyUsePolicy.cs b/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WindowsProxyUsePolicy.cs
deleted file mode 100644
index 48de6bb82c2..00000000000
--- a/mcs/class/System.Net.Http.WinHttpHandler/System.Net.Http/WindowsProxyUsePolicy.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// WindowsProxyUsePolicy.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.Net.Http
-{
- public enum WindowsProxyUsePolicy
- {
- DoNotUseProxy = 0,
- UseCustomProxy = 3,
- UseWinHttpProxy = 1,
- UseWinInetProxy = 2,
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.Numerics.Vectors/Assembly/TypeForwarders.cs b/mcs/class/System.Numerics.Vectors/Assembly/TypeForwarders.cs
deleted file mode 100644
index b2929d84ecf..00000000000
--- a/mcs/class/System.Numerics.Vectors/Assembly/TypeForwarders.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// TypeForwarders.cs
-//
-// Authors:
-// Marek Safar <marek.safar@gmail.com>
-//
-// Copyright (C) 2011 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.Numerics;
-using System.Runtime.CompilerServices;
-
-[assembly: TypeForwardedTo(typeof(Matrix3x2))]
-[assembly: TypeForwardedTo(typeof(Matrix4x4))]
-[assembly: TypeForwardedTo(typeof(Plane))]
-[assembly: TypeForwardedTo(typeof(Quaternion))]
-[assembly: TypeForwardedTo(typeof(Vector2))]
-[assembly: TypeForwardedTo(typeof(Vector3))]
-[assembly: TypeForwardedTo(typeof(Vector4))]
diff --git a/mcs/class/System.Numerics.Vectors/Makefile b/mcs/class/System.Numerics.Vectors/Makefile
index 42fb194dbfb..f5ff0937ead 100644
--- a/mcs/class/System.Numerics.Vectors/Makefile
+++ b/mcs/class/System.Numerics.Vectors/Makefile
@@ -3,8 +3,8 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Numerics.Vectors.dll
-LIB_REFS = System System.Numerics
-LIB_MCS_FLAGS = -unsafe
+LIB_REFS = System
+LIB_MCS_FLAGS =
EXTRA_DISTFILES =
diff --git a/mcs/class/System.Numerics.Vectors/SR.cs b/mcs/class/System.Numerics.Vectors/SR.cs
deleted file mode 100644
index 72e9cfb0ac1..00000000000
--- a/mcs/class/System.Numerics.Vectors/SR.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// generated from Strings.resx in corefx
-
-partial class SR
-{
- public const string Arg_ArgumentOutOfRangeException="Index was out of bounds:";
- public const string Arg_ElementsInSourceIsGreaterThanDestination="Number of elements in source vector is greater than the destination array";
- public const string Arg_MultiDimArrayNotSupported="Only one-dimensional arrays are supported";
- public const string Arg_NullArgumentNullRef="The method was called with a null array argument.";
- public const string Arg_RegisterLengthOfRangeException="length must be less than";
- public const string Arg_TypeNotSupported="Specified type is not supported";
- public const string Reflection_MethodNotSupported="Vector<T>.Count cannot be called via reflection when intrinsics are enabled.";
-
- public static string Format (string message, object data)
- {
- return string.Format (message, data);
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors.dll.sources b/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors.dll.sources
index 01bdfc1724e..45b755ee19b 100644
--- a/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors.dll.sources
+++ b/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors.dll.sources
@@ -1,11 +1,3 @@
../../build/common/Consts.cs
../../build/common/SR.cs
Assembly/AssemblyInfo.cs
-Assembly/TypeForwarders.cs
-SR.cs
-System.Numerics/ConstantHelper.cs
-System.Numerics/HashCodeHelper.cs
-System.Numerics/JitIntrinsicAttribute.cs
-System.Numerics/Register.cs
-System.Numerics/Vector_Operations.cs
-System.Numerics/Vector.cs
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/ConstantHelper.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/ConstantHelper.cs
deleted file mode 100644
index ea32ed3803f..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/ConstantHelper.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Runtime.CompilerServices;
-
-namespace System.Numerics
-{
- internal class ConstantHelper
- {
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Byte GetByteWithAllBitsSet()
- {
- Byte value = 0;
- unsafe
- {
- unchecked
- {
- *((Byte*)&value) = (Byte)0xff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static SByte GetSByteWithAllBitsSet()
- {
- SByte value = 0;
- unsafe
- {
- unchecked
- {
- *((SByte*)&value) = (SByte)0xff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static UInt16 GetUInt16WithAllBitsSet()
- {
- UInt16 value = 0;
- unsafe
- {
- unchecked
- {
- *((UInt16*)&value) = (UInt16)0xffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Int16 GetInt16WithAllBitsSet()
- {
- Int16 value = 0;
- unsafe
- {
- unchecked
- {
- *((Int16*)&value) = (Int16)0xffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static UInt32 GetUInt32WithAllBitsSet()
- {
- UInt32 value = 0;
- unsafe
- {
- unchecked
- {
- *((UInt32*)&value) = (UInt32)0xffffffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Int32 GetInt32WithAllBitsSet()
- {
- Int32 value = 0;
- unsafe
- {
- unchecked
- {
- *((Int32*)&value) = (Int32)0xffffffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static UInt64 GetUInt64WithAllBitsSet()
- {
- UInt64 value = 0;
- unsafe
- {
- unchecked
- {
- *((UInt64*)&value) = (UInt64)0xffffffffffffffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Int64 GetInt64WithAllBitsSet()
- {
- Int64 value = 0;
- unsafe
- {
- unchecked
- {
- *((Int64*)&value) = (Int64)0xffffffffffffffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Single GetSingleWithAllBitsSet()
- {
- Single value = 0;
- unsafe
- {
- unchecked
- {
- *((Int32*)&value) = (Int32)0xffffffff;
- }
- }
- return value;
- }
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Double GetDoubleWithAllBitsSet()
- {
- Double value = 0;
- unsafe
- {
- unchecked
- {
- *((Int64*)&value) = (Int64)0xffffffffffffffff;
- }
- }
- return value;
- }
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/HashCodeHelper.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/HashCodeHelper.cs
deleted file mode 100644
index 1467e2f68f8..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/HashCodeHelper.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Numerics
-{
- internal static class HashCodeHelper
- {
- /// <summary>
- /// Combines two hash codes, useful for combining hash codes of individual vector elements
- /// </summary>
- internal static int CombineHashCodes(int h1, int h2)
- {
- return (((h1 << 5) + h1) ^ h2);
- }
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/JitIntrinsicAttribute.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/JitIntrinsicAttribute.cs
deleted file mode 100644
index 741041222f8..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/JitIntrinsicAttribute.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Numerics
-{
- /// <summary>
- /// An attribute that can be attached to JIT Intrinsic methods/properties
- /// </summary>
- [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Property)]
- internal class JitIntrinsicAttribute : Attribute
- {
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/Register.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/Register.cs
deleted file mode 100644
index a27e922b9d8..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/Register.cs
+++ /dev/null
@@ -1,172 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Runtime.InteropServices;
-
-namespace System.Numerics
-{
- /// <summary>
- /// A structure describing the layout of an SSE2-sized register.
- /// Contains overlapping fields representing the set of valid numeric types.
- /// Allows the generic Vector'T struct to contain an explicit field layout.
- /// </summary>
- [StructLayout(LayoutKind.Explicit)]
- internal struct Register
- {
- #region Internal Storage Fields
- // Internal System.Byte Fields
- [FieldOffset(0)]
- internal Byte byte_0;
- [FieldOffset(1)]
- internal Byte byte_1;
- [FieldOffset(2)]
- internal Byte byte_2;
- [FieldOffset(3)]
- internal Byte byte_3;
- [FieldOffset(4)]
- internal Byte byte_4;
- [FieldOffset(5)]
- internal Byte byte_5;
- [FieldOffset(6)]
- internal Byte byte_6;
- [FieldOffset(7)]
- internal Byte byte_7;
- [FieldOffset(8)]
- internal Byte byte_8;
- [FieldOffset(9)]
- internal Byte byte_9;
- [FieldOffset(10)]
- internal Byte byte_10;
- [FieldOffset(11)]
- internal Byte byte_11;
- [FieldOffset(12)]
- internal Byte byte_12;
- [FieldOffset(13)]
- internal Byte byte_13;
- [FieldOffset(14)]
- internal Byte byte_14;
- [FieldOffset(15)]
- internal Byte byte_15;
-
- // Internal System.SByte Fields
- [FieldOffset(0)]
- internal SByte sbyte_0;
- [FieldOffset(1)]
- internal SByte sbyte_1;
- [FieldOffset(2)]
- internal SByte sbyte_2;
- [FieldOffset(3)]
- internal SByte sbyte_3;
- [FieldOffset(4)]
- internal SByte sbyte_4;
- [FieldOffset(5)]
- internal SByte sbyte_5;
- [FieldOffset(6)]
- internal SByte sbyte_6;
- [FieldOffset(7)]
- internal SByte sbyte_7;
- [FieldOffset(8)]
- internal SByte sbyte_8;
- [FieldOffset(9)]
- internal SByte sbyte_9;
- [FieldOffset(10)]
- internal SByte sbyte_10;
- [FieldOffset(11)]
- internal SByte sbyte_11;
- [FieldOffset(12)]
- internal SByte sbyte_12;
- [FieldOffset(13)]
- internal SByte sbyte_13;
- [FieldOffset(14)]
- internal SByte sbyte_14;
- [FieldOffset(15)]
- internal SByte sbyte_15;
-
- // Internal System.UInt16 Fields
- [FieldOffset(0)]
- internal UInt16 uint16_0;
- [FieldOffset(2)]
- internal UInt16 uint16_1;
- [FieldOffset(4)]
- internal UInt16 uint16_2;
- [FieldOffset(6)]
- internal UInt16 uint16_3;
- [FieldOffset(8)]
- internal UInt16 uint16_4;
- [FieldOffset(10)]
- internal UInt16 uint16_5;
- [FieldOffset(12)]
- internal UInt16 uint16_6;
- [FieldOffset(14)]
- internal UInt16 uint16_7;
-
- // Internal System.Int16 Fields
- [FieldOffset(0)]
- internal Int16 int16_0;
- [FieldOffset(2)]
- internal Int16 int16_1;
- [FieldOffset(4)]
- internal Int16 int16_2;
- [FieldOffset(6)]
- internal Int16 int16_3;
- [FieldOffset(8)]
- internal Int16 int16_4;
- [FieldOffset(10)]
- internal Int16 int16_5;
- [FieldOffset(12)]
- internal Int16 int16_6;
- [FieldOffset(14)]
- internal Int16 int16_7;
-
- // Internal System.UInt32 Fields
- [FieldOffset(0)]
- internal UInt32 uint32_0;
- [FieldOffset(4)]
- internal UInt32 uint32_1;
- [FieldOffset(8)]
- internal UInt32 uint32_2;
- [FieldOffset(12)]
- internal UInt32 uint32_3;
-
- // Internal System.Int32 Fields
- [FieldOffset(0)]
- internal Int32 int32_0;
- [FieldOffset(4)]
- internal Int32 int32_1;
- [FieldOffset(8)]
- internal Int32 int32_2;
- [FieldOffset(12)]
- internal Int32 int32_3;
-
- // Internal System.UInt64 Fields
- [FieldOffset(0)]
- internal UInt64 uint64_0;
- [FieldOffset(8)]
- internal UInt64 uint64_1;
-
- // Internal System.Int64 Fields
- [FieldOffset(0)]
- internal Int64 int64_0;
- [FieldOffset(8)]
- internal Int64 int64_1;
-
- // Internal System.Single Fields
- [FieldOffset(0)]
- internal Single single_0;
- [FieldOffset(4)]
- internal Single single_1;
- [FieldOffset(8)]
- internal Single single_2;
- [FieldOffset(12)]
- internal Single single_3;
-
- // Internal System.Double Fields
- [FieldOffset(0)]
- internal Double double_0;
- [FieldOffset(8)]
- internal Double double_1;
-
- #endregion Internal Storage Fields
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/Vector.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/Vector.cs
deleted file mode 100644
index 13785ed5cfe..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/Vector.cs
+++ /dev/null
@@ -1,5002 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics.Contracts;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Text;
-
-namespace System.Numerics
-{
- /* Note: The following patterns are used throughout the code here and are described here
- *
- * PATTERN:
- * if (typeof(T) == typeof(Int32)) { ... }
- * else if (typeof(T) == typeof(Single)) { ... }
- * EXPLANATION:
- * At runtime, each instantiation of Vector<T> will be type-specific, and each of these typeof blocks will be eliminated,
- * as typeof(T) is a (JIT) compile-time constant for each instantiation. This design was chosen to eliminate any overhead from
- * delegates and other patterns.
- *
- * PATTERN:
- * if (Vector.IsHardwareAccelerated) { ... }
- * else { ... }
- * EXPLANATION
- * This pattern solves two problems:
- * 1. Allows us to unroll loops when we know the size (when no hardware acceleration is present)
- * 2. Allows reflection to work:
- * - If a method is called via reflection, it will not be "intrinsified", which would cause issues if we did
- * not provide an implementation for that case (i.e. if it only included a case which assumed 16-byte registers)
- * (NOTE: It is assumed that Vector.IsHardwareAccelerated will be a compile-time constant, eliminating these checks
- * from the JIT'd code.)
- *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
- /// <summary>
- /// A structure that represents a single Vector. The count of this Vector is fixed but CPU register dependent.
- /// This struct only supports numerical types. This type is intended to be used as a building block for vectorizing
- /// large algorithms. This type is immutable, individual elements cannot be modified.
- /// </summary>
- public struct Vector<T> : IEquatable<Vector<T>>, IFormattable where T : struct
- {
- #region Fields
- private Register register;
- #endregion Fields
-
- #region Static Members
- /// <summary>
- /// Returns the number of elements stored in the vector. This value is hardware dependent.
- /// </summary>
- [JitIntrinsic]
- public static int Count
- {
- get
- {
- return s_count;
- }
- }
- private static readonly int s_count = InitializeCount();
-
- /// <summary>
- /// Returns a vector containing all zeroes.
- /// </summary>
- [JitIntrinsic]
- public static Vector<T> Zero { get { return zero; } }
- private static readonly Vector<T> zero = new Vector<T>(GetZeroValue());
-
- /// <summary>
- /// Returns a vector containing all ones.
- /// </summary>
- [JitIntrinsic]
- public static Vector<T> One { get { return one; } }
- private static readonly Vector<T> one = new Vector<T>(GetOneValue());
-
- internal static Vector<T> AllOnes { get { return allOnes; } }
- private static readonly Vector<T> allOnes = new Vector<T>(GetAllBitsSetValue());
- #endregion Static Members
-
- #region Static Initialization
- private struct VectorSizeHelper
- {
- internal Vector<T> _placeholder;
- internal byte _byte;
- }
-
- // Calculates the size of this struct in bytes, by computing the offset of a field in a structure
- private static unsafe int InitializeCount()
- {
- VectorSizeHelper vsh;
- byte* vectorBase = &vsh._placeholder.register.byte_0;
- byte* byteBase = &vsh._byte;
- int vectorSizeInBytes = (int)(byteBase - vectorBase);
-
- int typeSizeInBytes = -1;
- if (typeof(T) == typeof(Byte))
- {
- typeSizeInBytes = sizeof(Byte);
- }
- else if (typeof(T) == typeof(SByte))
- {
- typeSizeInBytes = sizeof(SByte);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- typeSizeInBytes = sizeof(UInt16);
- }
- else if (typeof(T) == typeof(Int16))
- {
- typeSizeInBytes = sizeof(Int16);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- typeSizeInBytes = sizeof(UInt32);
- }
- else if (typeof(T) == typeof(Int32))
- {
- typeSizeInBytes = sizeof(Int32);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- typeSizeInBytes = sizeof(UInt64);
- }
- else if (typeof(T) == typeof(Int64))
- {
- typeSizeInBytes = sizeof(Int64);
- }
- else if (typeof(T) == typeof(Single))
- {
- typeSizeInBytes = sizeof(Single);
- }
- else if (typeof(T) == typeof(Double))
- {
- typeSizeInBytes = sizeof(Double);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
-
- return vectorSizeInBytes / typeSizeInBytes;
- }
- #endregion Static Initialization
-
- #region Constructors
- /// <summary>
- /// Constructs a vector whose components are all <code>value</code>
- /// </summary>
- [JitIntrinsic]
- public unsafe Vector(T value)
- : this()
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- fixed (Byte* basePtr = &this.register.byte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Byte)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- fixed (SByte* basePtr = &this.register.sbyte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (SByte)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- fixed (UInt16* basePtr = &this.register.uint16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt16)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- fixed (Int16* basePtr = &this.register.int16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int16)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- fixed (UInt32* basePtr = &this.register.uint32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt32)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- fixed (Int32* basePtr = &this.register.int32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int32)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- fixed (UInt64* basePtr = &this.register.uint64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt64)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- fixed (Int64* basePtr = &this.register.int64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int64)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- fixed (Single* basePtr = &this.register.single_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Single)(object)value;
- }
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- fixed (Double* basePtr = &this.register.double_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Double)(object)value;
- }
- }
- }
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- register.byte_0 = (Byte)(object)value;
- register.byte_1 = (Byte)(object)value;
- register.byte_2 = (Byte)(object)value;
- register.byte_3 = (Byte)(object)value;
- register.byte_4 = (Byte)(object)value;
- register.byte_5 = (Byte)(object)value;
- register.byte_6 = (Byte)(object)value;
- register.byte_7 = (Byte)(object)value;
- register.byte_8 = (Byte)(object)value;
- register.byte_9 = (Byte)(object)value;
- register.byte_10 = (Byte)(object)value;
- register.byte_11 = (Byte)(object)value;
- register.byte_12 = (Byte)(object)value;
- register.byte_13 = (Byte)(object)value;
- register.byte_14 = (Byte)(object)value;
- register.byte_15 = (Byte)(object)value;
- }
- else if (typeof(T) == typeof(SByte))
- {
- register.sbyte_0 = (SByte)(object)value;
- register.sbyte_1 = (SByte)(object)value;
- register.sbyte_2 = (SByte)(object)value;
- register.sbyte_3 = (SByte)(object)value;
- register.sbyte_4 = (SByte)(object)value;
- register.sbyte_5 = (SByte)(object)value;
- register.sbyte_6 = (SByte)(object)value;
- register.sbyte_7 = (SByte)(object)value;
- register.sbyte_8 = (SByte)(object)value;
- register.sbyte_9 = (SByte)(object)value;
- register.sbyte_10 = (SByte)(object)value;
- register.sbyte_11 = (SByte)(object)value;
- register.sbyte_12 = (SByte)(object)value;
- register.sbyte_13 = (SByte)(object)value;
- register.sbyte_14 = (SByte)(object)value;
- register.sbyte_15 = (SByte)(object)value;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- register.uint16_0 = (UInt16)(object)value;
- register.uint16_1 = (UInt16)(object)value;
- register.uint16_2 = (UInt16)(object)value;
- register.uint16_3 = (UInt16)(object)value;
- register.uint16_4 = (UInt16)(object)value;
- register.uint16_5 = (UInt16)(object)value;
- register.uint16_6 = (UInt16)(object)value;
- register.uint16_7 = (UInt16)(object)value;
- }
- else if (typeof(T) == typeof(Int16))
- {
- register.int16_0 = (Int16)(object)value;
- register.int16_1 = (Int16)(object)value;
- register.int16_2 = (Int16)(object)value;
- register.int16_3 = (Int16)(object)value;
- register.int16_4 = (Int16)(object)value;
- register.int16_5 = (Int16)(object)value;
- register.int16_6 = (Int16)(object)value;
- register.int16_7 = (Int16)(object)value;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- register.uint32_0 = (UInt32)(object)value;
- register.uint32_1 = (UInt32)(object)value;
- register.uint32_2 = (UInt32)(object)value;
- register.uint32_3 = (UInt32)(object)value;
- }
- else if (typeof(T) == typeof(Int32))
- {
- register.int32_0 = (Int32)(object)value;
- register.int32_1 = (Int32)(object)value;
- register.int32_2 = (Int32)(object)value;
- register.int32_3 = (Int32)(object)value;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- register.uint64_0 = (UInt64)(object)value;
- register.uint64_1 = (UInt64)(object)value;
- }
- else if (typeof(T) == typeof(Int64))
- {
- register.int64_0 = (Int64)(object)value;
- register.int64_1 = (Int64)(object)value;
- }
- else if (typeof(T) == typeof(Single))
- {
- register.single_0 = (Single)(object)value;
- register.single_1 = (Single)(object)value;
- register.single_2 = (Single)(object)value;
- register.single_3 = (Single)(object)value;
- }
- else if (typeof(T) == typeof(Double))
- {
- register.double_0 = (Double)(object)value;
- register.double_1 = (Double)(object)value;
- }
- }
- }
-
- /// <summary>
- /// Constructs a vector from the given array. The size of the given array must be at least Vector'T.Count.
- /// </summary>
- [JitIntrinsic]
- public unsafe Vector(T[] values) : this(values, 0) { }
-
- /// <summary>
- /// Constructs a vector from the given array, starting from the given index.
- /// The array must contain at least Vector'T.Count from the given index.
- /// </summary>
- public unsafe Vector(T[] values, int index)
- : this()
- {
- if (values == null)
- {
- // Match the JIT's exception type here. For perf, a NullReference is thrown instead of an ArgumentNull.
- throw new NullReferenceException(SR.Arg_NullArgumentNullRef);
- }
- if (index < 0 || (values.Length - index) < Count)
- {
- throw new IndexOutOfRangeException();
- }
-
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- fixed (Byte* basePtr = &this.register.byte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Byte)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- fixed (SByte* basePtr = &this.register.sbyte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (SByte)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- fixed (UInt16* basePtr = &this.register.uint16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt16)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- fixed (Int16* basePtr = &this.register.int16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int16)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- fixed (UInt32* basePtr = &this.register.uint32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt32)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- fixed (Int32* basePtr = &this.register.int32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int32)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- fixed (UInt64* basePtr = &this.register.uint64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (UInt64)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- fixed (Int64* basePtr = &this.register.int64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Int64)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- fixed (Single* basePtr = &this.register.single_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Single)(object)values[g + index];
- }
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- fixed (Double* basePtr = &this.register.double_0)
- {
- for (int g = 0; g < Count; g++)
- {
- *(basePtr + g) = (Double)(object)values[g + index];
- }
- }
- }
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- fixed (Byte* basePtr = &this.register.byte_0)
- {
- *(basePtr + 0) = (Byte)(object)values[0 + index];
- *(basePtr + 1) = (Byte)(object)values[1 + index];
- *(basePtr + 2) = (Byte)(object)values[2 + index];
- *(basePtr + 3) = (Byte)(object)values[3 + index];
- *(basePtr + 4) = (Byte)(object)values[4 + index];
- *(basePtr + 5) = (Byte)(object)values[5 + index];
- *(basePtr + 6) = (Byte)(object)values[6 + index];
- *(basePtr + 7) = (Byte)(object)values[7 + index];
- *(basePtr + 8) = (Byte)(object)values[8 + index];
- *(basePtr + 9) = (Byte)(object)values[9 + index];
- *(basePtr + 10) = (Byte)(object)values[10 + index];
- *(basePtr + 11) = (Byte)(object)values[11 + index];
- *(basePtr + 12) = (Byte)(object)values[12 + index];
- *(basePtr + 13) = (Byte)(object)values[13 + index];
- *(basePtr + 14) = (Byte)(object)values[14 + index];
- *(basePtr + 15) = (Byte)(object)values[15 + index];
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- fixed (SByte* basePtr = &this.register.sbyte_0)
- {
- *(basePtr + 0) = (SByte)(object)values[0 + index];
- *(basePtr + 1) = (SByte)(object)values[1 + index];
- *(basePtr + 2) = (SByte)(object)values[2 + index];
- *(basePtr + 3) = (SByte)(object)values[3 + index];
- *(basePtr + 4) = (SByte)(object)values[4 + index];
- *(basePtr + 5) = (SByte)(object)values[5 + index];
- *(basePtr + 6) = (SByte)(object)values[6 + index];
- *(basePtr + 7) = (SByte)(object)values[7 + index];
- *(basePtr + 8) = (SByte)(object)values[8 + index];
- *(basePtr + 9) = (SByte)(object)values[9 + index];
- *(basePtr + 10) = (SByte)(object)values[10 + index];
- *(basePtr + 11) = (SByte)(object)values[11 + index];
- *(basePtr + 12) = (SByte)(object)values[12 + index];
- *(basePtr + 13) = (SByte)(object)values[13 + index];
- *(basePtr + 14) = (SByte)(object)values[14 + index];
- *(basePtr + 15) = (SByte)(object)values[15 + index];
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- fixed (UInt16* basePtr = &this.register.uint16_0)
- {
- *(basePtr + 0) = (UInt16)(object)values[0 + index];
- *(basePtr + 1) = (UInt16)(object)values[1 + index];
- *(basePtr + 2) = (UInt16)(object)values[2 + index];
- *(basePtr + 3) = (UInt16)(object)values[3 + index];
- *(basePtr + 4) = (UInt16)(object)values[4 + index];
- *(basePtr + 5) = (UInt16)(object)values[5 + index];
- *(basePtr + 6) = (UInt16)(object)values[6 + index];
- *(basePtr + 7) = (UInt16)(object)values[7 + index];
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- fixed (Int16* basePtr = &this.register.int16_0)
- {
- *(basePtr + 0) = (Int16)(object)values[0 + index];
- *(basePtr + 1) = (Int16)(object)values[1 + index];
- *(basePtr + 2) = (Int16)(object)values[2 + index];
- *(basePtr + 3) = (Int16)(object)values[3 + index];
- *(basePtr + 4) = (Int16)(object)values[4 + index];
- *(basePtr + 5) = (Int16)(object)values[5 + index];
- *(basePtr + 6) = (Int16)(object)values[6 + index];
- *(basePtr + 7) = (Int16)(object)values[7 + index];
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- fixed (UInt32* basePtr = &this.register.uint32_0)
- {
- *(basePtr + 0) = (UInt32)(object)values[0 + index];
- *(basePtr + 1) = (UInt32)(object)values[1 + index];
- *(basePtr + 2) = (UInt32)(object)values[2 + index];
- *(basePtr + 3) = (UInt32)(object)values[3 + index];
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- fixed (Int32* basePtr = &this.register.int32_0)
- {
- *(basePtr + 0) = (Int32)(object)values[0 + index];
- *(basePtr + 1) = (Int32)(object)values[1 + index];
- *(basePtr + 2) = (Int32)(object)values[2 + index];
- *(basePtr + 3) = (Int32)(object)values[3 + index];
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- fixed (UInt64* basePtr = &this.register.uint64_0)
- {
- *(basePtr + 0) = (UInt64)(object)values[0 + index];
- *(basePtr + 1) = (UInt64)(object)values[1 + index];
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- fixed (Int64* basePtr = &this.register.int64_0)
- {
- *(basePtr + 0) = (Int64)(object)values[0 + index];
- *(basePtr + 1) = (Int64)(object)values[1 + index];
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- fixed (Single* basePtr = &this.register.single_0)
- {
- *(basePtr + 0) = (Single)(object)values[0 + index];
- *(basePtr + 1) = (Single)(object)values[1 + index];
- *(basePtr + 2) = (Single)(object)values[2 + index];
- *(basePtr + 3) = (Single)(object)values[3 + index];
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- fixed (Double* basePtr = &this.register.double_0)
- {
- *(basePtr + 0) = (Double)(object)values[0 + index];
- *(basePtr + 1) = (Double)(object)values[1 + index];
- }
- }
- }
- }
-
-#pragma warning disable 3001 // void* is not a CLS-Compliant argument type
- private unsafe Vector(void* dataPointer) : this(dataPointer, 0) { }
-#pragma warning restore 3001 // void* is not a CLS-Compliant argument type
-
-#pragma warning disable 3001 // void* is not a CLS-Compliant argument type
- // Implemented with offset if this API ever becomes public; an offset of 0 is used internally.
- private unsafe Vector(void* dataPointer, int offset)
- : this()
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* castedPtr = (Byte*)dataPointer;
- castedPtr += offset;
- fixed (Byte* registerBase = &this.register.byte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* castedPtr = (SByte*)dataPointer;
- castedPtr += offset;
- fixed (SByte* registerBase = &this.register.sbyte_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* castedPtr = (UInt16*)dataPointer;
- castedPtr += offset;
- fixed (UInt16* registerBase = &this.register.uint16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* castedPtr = (Int16*)dataPointer;
- castedPtr += offset;
- fixed (Int16* registerBase = &this.register.int16_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* castedPtr = (UInt32*)dataPointer;
- castedPtr += offset;
- fixed (UInt32* registerBase = &this.register.uint32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* castedPtr = (Int32*)dataPointer;
- castedPtr += offset;
- fixed (Int32* registerBase = &this.register.int32_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* castedPtr = (UInt64*)dataPointer;
- castedPtr += offset;
- fixed (UInt64* registerBase = &this.register.uint64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* castedPtr = (Int64*)dataPointer;
- castedPtr += offset;
- fixed (Int64* registerBase = &this.register.int64_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* castedPtr = (Single*)dataPointer;
- castedPtr += offset;
- fixed (Single* registerBase = &this.register.single_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* castedPtr = (Double*)dataPointer;
- castedPtr += offset;
- fixed (Double* registerBase = &this.register.double_0)
- {
- for (int g = 0; g < Count; g++)
- {
- registerBase[g] = castedPtr[g];
- }
- }
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-#pragma warning restore 3001 // void* is not a CLS-Compliant argument type
-
- private Vector(ref Register existingRegister)
- {
- this.register = existingRegister;
- }
- #endregion Constructors
-
- #region Public Instance Methods
- /// <summary>
- /// Copies the vector to the given destination array. The destination array must be at least size Vector'T.Count.
- /// </summary>
- /// <param name="destination">The destination array which the values are copied into</param>
- /// <exception cref="ArgumentNullException">If the destination array is null</exception>
- /// <exception cref="ArgumentException">If number of elements in source vector is greater than those available in destination array</exception>
- [JitIntrinsic]
- public unsafe void CopyTo(T[] destination)
- {
- CopyTo(destination, 0);
- }
-
- /// <summary>
- /// Copies the vector to the given destination array. The destination array must be at least size Vector'T.Count.
- /// </summary>
- /// <param name="destination">The destination array which the values are copied into</param>
- /// <param name="startIndex">The index to start copying to</param>
- /// <exception cref="ArgumentNullException">If the destination array is null</exception>
- /// <exception cref="ArgumentOutOfRangeException">If index is greater than end of the array or index is less than zero</exception>
- /// <exception cref="ArgumentException">If number of elements in source vector is greater than those available in destination array</exception>
- [JitIntrinsic]
- public unsafe void CopyTo(T[] destination, int startIndex)
- {
- if (destination == null)
- {
- // Match the JIT's exception type here. For perf, a NullReference is thrown instead of an ArgumentNull.
- throw new NullReferenceException(SR.Arg_NullArgumentNullRef);
- }
- if (startIndex < 0 || startIndex >= destination.Length)
- {
- throw new ArgumentOutOfRangeException(nameof(startIndex), SR.Format(SR.Arg_ArgumentOutOfRangeException, startIndex));
- }
- if ((destination.Length - startIndex) < Count)
- {
- throw new ArgumentException(SR.Format(SR.Arg_ElementsInSourceIsGreaterThanDestination, startIndex));
- }
-
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte[] byteArray = (Byte[])(object)destination;
- fixed (Byte* destinationBase = byteArray)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Byte)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte[] sbyteArray = (SByte[])(object)destination;
- fixed (SByte* destinationBase = sbyteArray)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (SByte)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16[] uint16Array = (UInt16[])(object)destination;
- fixed (UInt16* destinationBase = uint16Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (UInt16)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16[] int16Array = (Int16[])(object)destination;
- fixed (Int16* destinationBase = int16Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Int16)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32[] uint32Array = (UInt32[])(object)destination;
- fixed (UInt32* destinationBase = uint32Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (UInt32)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32[] int32Array = (Int32[])(object)destination;
- fixed (Int32* destinationBase = int32Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Int32)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64[] uint64Array = (UInt64[])(object)destination;
- fixed (UInt64* destinationBase = uint64Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (UInt64)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64[] int64Array = (Int64[])(object)destination;
- fixed (Int64* destinationBase = int64Array)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Int64)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- Single[] singleArray = (Single[])(object)destination;
- fixed (Single* destinationBase = singleArray)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Single)(object)this[g];
- }
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- Double[] doubleArray = (Double[])(object)destination;
- fixed (Double* destinationBase = doubleArray)
- {
- for (int g = 0; g < Count; g++)
- {
- destinationBase[startIndex + g] = (Double)(object)this[g];
- }
- }
- }
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte[] byteArray = (Byte[])(object)destination;
- fixed (Byte* destinationBase = byteArray)
- {
- destinationBase[startIndex + 0] = this.register.byte_0;
- destinationBase[startIndex + 1] = this.register.byte_1;
- destinationBase[startIndex + 2] = this.register.byte_2;
- destinationBase[startIndex + 3] = this.register.byte_3;
- destinationBase[startIndex + 4] = this.register.byte_4;
- destinationBase[startIndex + 5] = this.register.byte_5;
- destinationBase[startIndex + 6] = this.register.byte_6;
- destinationBase[startIndex + 7] = this.register.byte_7;
- destinationBase[startIndex + 8] = this.register.byte_8;
- destinationBase[startIndex + 9] = this.register.byte_9;
- destinationBase[startIndex + 10] = this.register.byte_10;
- destinationBase[startIndex + 11] = this.register.byte_11;
- destinationBase[startIndex + 12] = this.register.byte_12;
- destinationBase[startIndex + 13] = this.register.byte_13;
- destinationBase[startIndex + 14] = this.register.byte_14;
- destinationBase[startIndex + 15] = this.register.byte_15;
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte[] sbyteArray = (SByte[])(object)destination;
- fixed (SByte* destinationBase = sbyteArray)
- {
- destinationBase[startIndex + 0] = this.register.sbyte_0;
- destinationBase[startIndex + 1] = this.register.sbyte_1;
- destinationBase[startIndex + 2] = this.register.sbyte_2;
- destinationBase[startIndex + 3] = this.register.sbyte_3;
- destinationBase[startIndex + 4] = this.register.sbyte_4;
- destinationBase[startIndex + 5] = this.register.sbyte_5;
- destinationBase[startIndex + 6] = this.register.sbyte_6;
- destinationBase[startIndex + 7] = this.register.sbyte_7;
- destinationBase[startIndex + 8] = this.register.sbyte_8;
- destinationBase[startIndex + 9] = this.register.sbyte_9;
- destinationBase[startIndex + 10] = this.register.sbyte_10;
- destinationBase[startIndex + 11] = this.register.sbyte_11;
- destinationBase[startIndex + 12] = this.register.sbyte_12;
- destinationBase[startIndex + 13] = this.register.sbyte_13;
- destinationBase[startIndex + 14] = this.register.sbyte_14;
- destinationBase[startIndex + 15] = this.register.sbyte_15;
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16[] uint16Array = (UInt16[])(object)destination;
- fixed (UInt16* destinationBase = uint16Array)
- {
- destinationBase[startIndex + 0] = this.register.uint16_0;
- destinationBase[startIndex + 1] = this.register.uint16_1;
- destinationBase[startIndex + 2] = this.register.uint16_2;
- destinationBase[startIndex + 3] = this.register.uint16_3;
- destinationBase[startIndex + 4] = this.register.uint16_4;
- destinationBase[startIndex + 5] = this.register.uint16_5;
- destinationBase[startIndex + 6] = this.register.uint16_6;
- destinationBase[startIndex + 7] = this.register.uint16_7;
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16[] int16Array = (Int16[])(object)destination;
- fixed (Int16* destinationBase = int16Array)
- {
- destinationBase[startIndex + 0] = this.register.int16_0;
- destinationBase[startIndex + 1] = this.register.int16_1;
- destinationBase[startIndex + 2] = this.register.int16_2;
- destinationBase[startIndex + 3] = this.register.int16_3;
- destinationBase[startIndex + 4] = this.register.int16_4;
- destinationBase[startIndex + 5] = this.register.int16_5;
- destinationBase[startIndex + 6] = this.register.int16_6;
- destinationBase[startIndex + 7] = this.register.int16_7;
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32[] uint32Array = (UInt32[])(object)destination;
- fixed (UInt32* destinationBase = uint32Array)
- {
- destinationBase[startIndex + 0] = this.register.uint32_0;
- destinationBase[startIndex + 1] = this.register.uint32_1;
- destinationBase[startIndex + 2] = this.register.uint32_2;
- destinationBase[startIndex + 3] = this.register.uint32_3;
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32[] int32Array = (Int32[])(object)destination;
- fixed (Int32* destinationBase = int32Array)
- {
- destinationBase[startIndex + 0] = this.register.int32_0;
- destinationBase[startIndex + 1] = this.register.int32_1;
- destinationBase[startIndex + 2] = this.register.int32_2;
- destinationBase[startIndex + 3] = this.register.int32_3;
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64[] uint64Array = (UInt64[])(object)destination;
- fixed (UInt64* destinationBase = uint64Array)
- {
- destinationBase[startIndex + 0] = this.register.uint64_0;
- destinationBase[startIndex + 1] = this.register.uint64_1;
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64[] int64Array = (Int64[])(object)destination;
- fixed (Int64* destinationBase = int64Array)
- {
- destinationBase[startIndex + 0] = this.register.int64_0;
- destinationBase[startIndex + 1] = this.register.int64_1;
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- Single[] singleArray = (Single[])(object)destination;
- fixed (Single* destinationBase = singleArray)
- {
- destinationBase[startIndex + 0] = this.register.single_0;
- destinationBase[startIndex + 1] = this.register.single_1;
- destinationBase[startIndex + 2] = this.register.single_2;
- destinationBase[startIndex + 3] = this.register.single_3;
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- Double[] doubleArray = (Double[])(object)destination;
- fixed (Double* destinationBase = doubleArray)
- {
- destinationBase[startIndex + 0] = this.register.double_0;
- destinationBase[startIndex + 1] = this.register.double_1;
- }
- }
- }
- }
-
- /// <summary>
- /// Returns the element at the given index.
- /// </summary>
- [JitIntrinsic]
- public unsafe T this[int index]
- {
- get
- {
- if (index >= Count || index < 0)
- {
- throw new IndexOutOfRangeException(SR.Format(SR.Arg_ArgumentOutOfRangeException, index));
- }
- if (typeof(T) == typeof(Byte))
- {
- fixed (Byte* basePtr = &this.register.byte_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(SByte))
- {
- fixed (SByte* basePtr = &this.register.sbyte_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(UInt16))
- {
- fixed (UInt16* basePtr = &this.register.uint16_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(Int16))
- {
- fixed (Int16* basePtr = &this.register.int16_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(UInt32))
- {
- fixed (UInt32* basePtr = &this.register.uint32_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(Int32))
- {
- fixed (Int32* basePtr = &this.register.int32_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(UInt64))
- {
- fixed (UInt64* basePtr = &this.register.uint64_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(Int64))
- {
- fixed (Int64* basePtr = &this.register.int64_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(Single))
- {
- fixed (Single* basePtr = &this.register.single_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else if (typeof(T) == typeof(Double))
- {
- fixed (Double* basePtr = &this.register.double_0)
- {
- return (T)(object)*(basePtr + index);
- }
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- /// <summary>
- /// Returns a boolean indicating whether the given Object is equal to this vector instance.
- /// </summary>
- /// <param name="obj">The Object to compare against.</param>
- /// <returns>True if the Object is equal to this vector; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public override bool Equals(object obj)
- {
- if (!(obj is Vector<T>))
- {
- return false;
- }
- return Equals((Vector<T>)obj);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether the given vector is equal to this vector instance.
- /// </summary>
- /// <param name="other">The vector to compare this instance to.</param>
- /// <returns>True if the other vector is equal to this instance; False otherwise.</returns>
- [JitIntrinsic]
- public bool Equals(Vector<T> other)
- {
- if (Vector.IsHardwareAccelerated)
- {
- for (int g = 0; g < Count; g++)
- {
- if (!ScalarEquals(this[g], other[g]))
- {
- return false;
- }
- }
- return true;
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- return
- this.register.byte_0 == other.register.byte_0
- && this.register.byte_1 == other.register.byte_1
- && this.register.byte_2 == other.register.byte_2
- && this.register.byte_3 == other.register.byte_3
- && this.register.byte_4 == other.register.byte_4
- && this.register.byte_5 == other.register.byte_5
- && this.register.byte_6 == other.register.byte_6
- && this.register.byte_7 == other.register.byte_7
- && this.register.byte_8 == other.register.byte_8
- && this.register.byte_9 == other.register.byte_9
- && this.register.byte_10 == other.register.byte_10
- && this.register.byte_11 == other.register.byte_11
- && this.register.byte_12 == other.register.byte_12
- && this.register.byte_13 == other.register.byte_13
- && this.register.byte_14 == other.register.byte_14
- && this.register.byte_15 == other.register.byte_15;
- }
- else if (typeof(T) == typeof(SByte))
- {
- return
- this.register.sbyte_0 == other.register.sbyte_0
- && this.register.sbyte_1 == other.register.sbyte_1
- && this.register.sbyte_2 == other.register.sbyte_2
- && this.register.sbyte_3 == other.register.sbyte_3
- && this.register.sbyte_4 == other.register.sbyte_4
- && this.register.sbyte_5 == other.register.sbyte_5
- && this.register.sbyte_6 == other.register.sbyte_6
- && this.register.sbyte_7 == other.register.sbyte_7
- && this.register.sbyte_8 == other.register.sbyte_8
- && this.register.sbyte_9 == other.register.sbyte_9
- && this.register.sbyte_10 == other.register.sbyte_10
- && this.register.sbyte_11 == other.register.sbyte_11
- && this.register.sbyte_12 == other.register.sbyte_12
- && this.register.sbyte_13 == other.register.sbyte_13
- && this.register.sbyte_14 == other.register.sbyte_14
- && this.register.sbyte_15 == other.register.sbyte_15;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return
- this.register.uint16_0 == other.register.uint16_0
- && this.register.uint16_1 == other.register.uint16_1
- && this.register.uint16_2 == other.register.uint16_2
- && this.register.uint16_3 == other.register.uint16_3
- && this.register.uint16_4 == other.register.uint16_4
- && this.register.uint16_5 == other.register.uint16_5
- && this.register.uint16_6 == other.register.uint16_6
- && this.register.uint16_7 == other.register.uint16_7;
- }
- else if (typeof(T) == typeof(Int16))
- {
- return
- this.register.int16_0 == other.register.int16_0
- && this.register.int16_1 == other.register.int16_1
- && this.register.int16_2 == other.register.int16_2
- && this.register.int16_3 == other.register.int16_3
- && this.register.int16_4 == other.register.int16_4
- && this.register.int16_5 == other.register.int16_5
- && this.register.int16_6 == other.register.int16_6
- && this.register.int16_7 == other.register.int16_7;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return
- this.register.uint32_0 == other.register.uint32_0
- && this.register.uint32_1 == other.register.uint32_1
- && this.register.uint32_2 == other.register.uint32_2
- && this.register.uint32_3 == other.register.uint32_3;
- }
- else if (typeof(T) == typeof(Int32))
- {
- return
- this.register.int32_0 == other.register.int32_0
- && this.register.int32_1 == other.register.int32_1
- && this.register.int32_2 == other.register.int32_2
- && this.register.int32_3 == other.register.int32_3;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return
- this.register.uint64_0 == other.register.uint64_0
- && this.register.uint64_1 == other.register.uint64_1;
- }
- else if (typeof(T) == typeof(Int64))
- {
- return
- this.register.int64_0 == other.register.int64_0
- && this.register.int64_1 == other.register.int64_1;
- }
- else if (typeof(T) == typeof(Single))
- {
- return
- this.register.single_0 == other.register.single_0
- && this.register.single_1 == other.register.single_1
- && this.register.single_2 == other.register.single_2
- && this.register.single_3 == other.register.single_3;
- }
- else if (typeof(T) == typeof(Double))
- {
- return
- this.register.double_0 == other.register.double_0
- && this.register.double_1 == other.register.double_1;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- /// <summary>
- /// Returns the hash code for this instance.
- /// </summary>
- /// <returns>The hash code.</returns>
- public override int GetHashCode()
- {
- int hash = 0;
-
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Byte)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(SByte))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((SByte)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((UInt16)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(Int16))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Int16)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((UInt32)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(Int32))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Int32)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((UInt64)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(Int64))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Int64)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(Single))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Single)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else if (typeof(T) == typeof(Double))
- {
- for (int g = 0; g < Count; g++)
- {
- hash = HashCodeHelper.CombineHashCodes(hash, ((Double)(object)this[g]).GetHashCode());
- }
- return hash;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_3.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_4.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_5.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_6.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_7.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_8.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_9.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_10.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_11.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_12.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_13.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_14.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.byte_15.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(SByte))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_3.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_4.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_5.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_6.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_7.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_8.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_9.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_10.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_11.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_12.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_13.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_14.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.sbyte_15.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_3.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_4.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_5.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_6.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint16_7.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(Int16))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_3.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_4.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_5.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_6.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int16_7.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint32_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint32_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint32_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint32_3.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(Int32))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int32_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int32_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int32_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int32_3.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint64_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.uint64_1.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(Int64))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int64_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.int64_1.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(Single))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.single_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.single_1.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.single_2.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.single_3.GetHashCode());
- return hash;
- }
- else if (typeof(T) == typeof(Double))
- {
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.double_0.GetHashCode());
- hash = HashCodeHelper.CombineHashCodes(hash, this.register.double_1.GetHashCode());
- return hash;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- /// <summary>
- /// Returns a String representing this vector.
- /// </summary>
- /// <returns>The string representation.</returns>
- public override string ToString()
- {
- return ToString("G", CultureInfo.CurrentCulture);
- }
-
- /// <summary>
- /// Returns a String representing this vector, using the specified format string to format individual elements.
- /// </summary>
- /// <param name="format">The format of individual elements.</param>
- /// <returns>The string representation.</returns>
- public string ToString(string format)
- {
- return ToString(format, CultureInfo.CurrentCulture);
- }
-
- /// <summary>
- /// Returns a String representing this vector, using the specified format string to format individual elements
- /// and the given IFormatProvider.
- /// </summary>
- /// <param name="format">The format of individual elements.</param>
- /// <param name="formatProvider">The format provider to use when formatting elements.</param>
- /// <returns>The string representation.</returns>
- public string ToString(string format, IFormatProvider formatProvider)
- {
- StringBuilder sb = new StringBuilder();
- string separator = NumberFormatInfo.GetInstance(formatProvider).NumberGroupSeparator;
- sb.Append('<');
- for (int g = 0; g < Count - 1; g++)
- {
- sb.Append(((IFormattable)this[g]).ToString(format, formatProvider));
- sb.Append(separator);
- sb.Append(' ');
- }
- // Append last element w/out separator
- sb.Append(((IFormattable)this[Count - 1]).ToString(format, formatProvider));
- sb.Append('>');
- return sb.ToString();
- }
- #endregion Public Instance Methods
-
- #region Arithmetic Operators
- /// <summary>
- /// Adds two vectors together.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The summed vector.</returns>
- public static unsafe Vector<T> operator +(Vector<T> left, Vector<T> right)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Byte)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt16)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt32)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt64)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)(object)ScalarAdd(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> sum = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- sum.register.byte_0 = (Byte)(left.register.byte_0 + right.register.byte_0);
- sum.register.byte_1 = (Byte)(left.register.byte_1 + right.register.byte_1);
- sum.register.byte_2 = (Byte)(left.register.byte_2 + right.register.byte_2);
- sum.register.byte_3 = (Byte)(left.register.byte_3 + right.register.byte_3);
- sum.register.byte_4 = (Byte)(left.register.byte_4 + right.register.byte_4);
- sum.register.byte_5 = (Byte)(left.register.byte_5 + right.register.byte_5);
- sum.register.byte_6 = (Byte)(left.register.byte_6 + right.register.byte_6);
- sum.register.byte_7 = (Byte)(left.register.byte_7 + right.register.byte_7);
- sum.register.byte_8 = (Byte)(left.register.byte_8 + right.register.byte_8);
- sum.register.byte_9 = (Byte)(left.register.byte_9 + right.register.byte_9);
- sum.register.byte_10 = (Byte)(left.register.byte_10 + right.register.byte_10);
- sum.register.byte_11 = (Byte)(left.register.byte_11 + right.register.byte_11);
- sum.register.byte_12 = (Byte)(left.register.byte_12 + right.register.byte_12);
- sum.register.byte_13 = (Byte)(left.register.byte_13 + right.register.byte_13);
- sum.register.byte_14 = (Byte)(left.register.byte_14 + right.register.byte_14);
- sum.register.byte_15 = (Byte)(left.register.byte_15 + right.register.byte_15);
- }
- else if (typeof(T) == typeof(SByte))
- {
- sum.register.sbyte_0 = (SByte)(left.register.sbyte_0 + right.register.sbyte_0);
- sum.register.sbyte_1 = (SByte)(left.register.sbyte_1 + right.register.sbyte_1);
- sum.register.sbyte_2 = (SByte)(left.register.sbyte_2 + right.register.sbyte_2);
- sum.register.sbyte_3 = (SByte)(left.register.sbyte_3 + right.register.sbyte_3);
- sum.register.sbyte_4 = (SByte)(left.register.sbyte_4 + right.register.sbyte_4);
- sum.register.sbyte_5 = (SByte)(left.register.sbyte_5 + right.register.sbyte_5);
- sum.register.sbyte_6 = (SByte)(left.register.sbyte_6 + right.register.sbyte_6);
- sum.register.sbyte_7 = (SByte)(left.register.sbyte_7 + right.register.sbyte_7);
- sum.register.sbyte_8 = (SByte)(left.register.sbyte_8 + right.register.sbyte_8);
- sum.register.sbyte_9 = (SByte)(left.register.sbyte_9 + right.register.sbyte_9);
- sum.register.sbyte_10 = (SByte)(left.register.sbyte_10 + right.register.sbyte_10);
- sum.register.sbyte_11 = (SByte)(left.register.sbyte_11 + right.register.sbyte_11);
- sum.register.sbyte_12 = (SByte)(left.register.sbyte_12 + right.register.sbyte_12);
- sum.register.sbyte_13 = (SByte)(left.register.sbyte_13 + right.register.sbyte_13);
- sum.register.sbyte_14 = (SByte)(left.register.sbyte_14 + right.register.sbyte_14);
- sum.register.sbyte_15 = (SByte)(left.register.sbyte_15 + right.register.sbyte_15);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- sum.register.uint16_0 = (UInt16)(left.register.uint16_0 + right.register.uint16_0);
- sum.register.uint16_1 = (UInt16)(left.register.uint16_1 + right.register.uint16_1);
- sum.register.uint16_2 = (UInt16)(left.register.uint16_2 + right.register.uint16_2);
- sum.register.uint16_3 = (UInt16)(left.register.uint16_3 + right.register.uint16_3);
- sum.register.uint16_4 = (UInt16)(left.register.uint16_4 + right.register.uint16_4);
- sum.register.uint16_5 = (UInt16)(left.register.uint16_5 + right.register.uint16_5);
- sum.register.uint16_6 = (UInt16)(left.register.uint16_6 + right.register.uint16_6);
- sum.register.uint16_7 = (UInt16)(left.register.uint16_7 + right.register.uint16_7);
- }
- else if (typeof(T) == typeof(Int16))
- {
- sum.register.int16_0 = (Int16)(left.register.int16_0 + right.register.int16_0);
- sum.register.int16_1 = (Int16)(left.register.int16_1 + right.register.int16_1);
- sum.register.int16_2 = (Int16)(left.register.int16_2 + right.register.int16_2);
- sum.register.int16_3 = (Int16)(left.register.int16_3 + right.register.int16_3);
- sum.register.int16_4 = (Int16)(left.register.int16_4 + right.register.int16_4);
- sum.register.int16_5 = (Int16)(left.register.int16_5 + right.register.int16_5);
- sum.register.int16_6 = (Int16)(left.register.int16_6 + right.register.int16_6);
- sum.register.int16_7 = (Int16)(left.register.int16_7 + right.register.int16_7);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- sum.register.uint32_0 = (UInt32)(left.register.uint32_0 + right.register.uint32_0);
- sum.register.uint32_1 = (UInt32)(left.register.uint32_1 + right.register.uint32_1);
- sum.register.uint32_2 = (UInt32)(left.register.uint32_2 + right.register.uint32_2);
- sum.register.uint32_3 = (UInt32)(left.register.uint32_3 + right.register.uint32_3);
- }
- else if (typeof(T) == typeof(Int32))
- {
- sum.register.int32_0 = (Int32)(left.register.int32_0 + right.register.int32_0);
- sum.register.int32_1 = (Int32)(left.register.int32_1 + right.register.int32_1);
- sum.register.int32_2 = (Int32)(left.register.int32_2 + right.register.int32_2);
- sum.register.int32_3 = (Int32)(left.register.int32_3 + right.register.int32_3);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- sum.register.uint64_0 = (UInt64)(left.register.uint64_0 + right.register.uint64_0);
- sum.register.uint64_1 = (UInt64)(left.register.uint64_1 + right.register.uint64_1);
- }
- else if (typeof(T) == typeof(Int64))
- {
- sum.register.int64_0 = (Int64)(left.register.int64_0 + right.register.int64_0);
- sum.register.int64_1 = (Int64)(left.register.int64_1 + right.register.int64_1);
- }
- else if (typeof(T) == typeof(Single))
- {
- sum.register.single_0 = (Single)(left.register.single_0 + right.register.single_0);
- sum.register.single_1 = (Single)(left.register.single_1 + right.register.single_1);
- sum.register.single_2 = (Single)(left.register.single_2 + right.register.single_2);
- sum.register.single_3 = (Single)(left.register.single_3 + right.register.single_3);
- }
- else if (typeof(T) == typeof(Double))
- {
- sum.register.double_0 = (Double)(left.register.double_0 + right.register.double_0);
- sum.register.double_1 = (Double)(left.register.double_1 + right.register.double_1);
- }
- return sum;
- }
- }
- }
-
- /// <summary>
- /// Subtracts the second vector from the first.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The difference vector.</returns>
- public static unsafe Vector<T> operator -(Vector<T> left, Vector<T> right)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Byte)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt16)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt32)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt64)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)(object)ScalarSubtract(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> difference = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- difference.register.byte_0 = (Byte)(left.register.byte_0 - right.register.byte_0);
- difference.register.byte_1 = (Byte)(left.register.byte_1 - right.register.byte_1);
- difference.register.byte_2 = (Byte)(left.register.byte_2 - right.register.byte_2);
- difference.register.byte_3 = (Byte)(left.register.byte_3 - right.register.byte_3);
- difference.register.byte_4 = (Byte)(left.register.byte_4 - right.register.byte_4);
- difference.register.byte_5 = (Byte)(left.register.byte_5 - right.register.byte_5);
- difference.register.byte_6 = (Byte)(left.register.byte_6 - right.register.byte_6);
- difference.register.byte_7 = (Byte)(left.register.byte_7 - right.register.byte_7);
- difference.register.byte_8 = (Byte)(left.register.byte_8 - right.register.byte_8);
- difference.register.byte_9 = (Byte)(left.register.byte_9 - right.register.byte_9);
- difference.register.byte_10 = (Byte)(left.register.byte_10 - right.register.byte_10);
- difference.register.byte_11 = (Byte)(left.register.byte_11 - right.register.byte_11);
- difference.register.byte_12 = (Byte)(left.register.byte_12 - right.register.byte_12);
- difference.register.byte_13 = (Byte)(left.register.byte_13 - right.register.byte_13);
- difference.register.byte_14 = (Byte)(left.register.byte_14 - right.register.byte_14);
- difference.register.byte_15 = (Byte)(left.register.byte_15 - right.register.byte_15);
- }
- else if (typeof(T) == typeof(SByte))
- {
- difference.register.sbyte_0 = (SByte)(left.register.sbyte_0 - right.register.sbyte_0);
- difference.register.sbyte_1 = (SByte)(left.register.sbyte_1 - right.register.sbyte_1);
- difference.register.sbyte_2 = (SByte)(left.register.sbyte_2 - right.register.sbyte_2);
- difference.register.sbyte_3 = (SByte)(left.register.sbyte_3 - right.register.sbyte_3);
- difference.register.sbyte_4 = (SByte)(left.register.sbyte_4 - right.register.sbyte_4);
- difference.register.sbyte_5 = (SByte)(left.register.sbyte_5 - right.register.sbyte_5);
- difference.register.sbyte_6 = (SByte)(left.register.sbyte_6 - right.register.sbyte_6);
- difference.register.sbyte_7 = (SByte)(left.register.sbyte_7 - right.register.sbyte_7);
- difference.register.sbyte_8 = (SByte)(left.register.sbyte_8 - right.register.sbyte_8);
- difference.register.sbyte_9 = (SByte)(left.register.sbyte_9 - right.register.sbyte_9);
- difference.register.sbyte_10 = (SByte)(left.register.sbyte_10 - right.register.sbyte_10);
- difference.register.sbyte_11 = (SByte)(left.register.sbyte_11 - right.register.sbyte_11);
- difference.register.sbyte_12 = (SByte)(left.register.sbyte_12 - right.register.sbyte_12);
- difference.register.sbyte_13 = (SByte)(left.register.sbyte_13 - right.register.sbyte_13);
- difference.register.sbyte_14 = (SByte)(left.register.sbyte_14 - right.register.sbyte_14);
- difference.register.sbyte_15 = (SByte)(left.register.sbyte_15 - right.register.sbyte_15);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- difference.register.uint16_0 = (UInt16)(left.register.uint16_0 - right.register.uint16_0);
- difference.register.uint16_1 = (UInt16)(left.register.uint16_1 - right.register.uint16_1);
- difference.register.uint16_2 = (UInt16)(left.register.uint16_2 - right.register.uint16_2);
- difference.register.uint16_3 = (UInt16)(left.register.uint16_3 - right.register.uint16_3);
- difference.register.uint16_4 = (UInt16)(left.register.uint16_4 - right.register.uint16_4);
- difference.register.uint16_5 = (UInt16)(left.register.uint16_5 - right.register.uint16_5);
- difference.register.uint16_6 = (UInt16)(left.register.uint16_6 - right.register.uint16_6);
- difference.register.uint16_7 = (UInt16)(left.register.uint16_7 - right.register.uint16_7);
- }
- else if (typeof(T) == typeof(Int16))
- {
- difference.register.int16_0 = (Int16)(left.register.int16_0 - right.register.int16_0);
- difference.register.int16_1 = (Int16)(left.register.int16_1 - right.register.int16_1);
- difference.register.int16_2 = (Int16)(left.register.int16_2 - right.register.int16_2);
- difference.register.int16_3 = (Int16)(left.register.int16_3 - right.register.int16_3);
- difference.register.int16_4 = (Int16)(left.register.int16_4 - right.register.int16_4);
- difference.register.int16_5 = (Int16)(left.register.int16_5 - right.register.int16_5);
- difference.register.int16_6 = (Int16)(left.register.int16_6 - right.register.int16_6);
- difference.register.int16_7 = (Int16)(left.register.int16_7 - right.register.int16_7);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- difference.register.uint32_0 = (UInt32)(left.register.uint32_0 - right.register.uint32_0);
- difference.register.uint32_1 = (UInt32)(left.register.uint32_1 - right.register.uint32_1);
- difference.register.uint32_2 = (UInt32)(left.register.uint32_2 - right.register.uint32_2);
- difference.register.uint32_3 = (UInt32)(left.register.uint32_3 - right.register.uint32_3);
- }
- else if (typeof(T) == typeof(Int32))
- {
- difference.register.int32_0 = (Int32)(left.register.int32_0 - right.register.int32_0);
- difference.register.int32_1 = (Int32)(left.register.int32_1 - right.register.int32_1);
- difference.register.int32_2 = (Int32)(left.register.int32_2 - right.register.int32_2);
- difference.register.int32_3 = (Int32)(left.register.int32_3 - right.register.int32_3);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- difference.register.uint64_0 = (UInt64)(left.register.uint64_0 - right.register.uint64_0);
- difference.register.uint64_1 = (UInt64)(left.register.uint64_1 - right.register.uint64_1);
- }
- else if (typeof(T) == typeof(Int64))
- {
- difference.register.int64_0 = (Int64)(left.register.int64_0 - right.register.int64_0);
- difference.register.int64_1 = (Int64)(left.register.int64_1 - right.register.int64_1);
- }
- else if (typeof(T) == typeof(Single))
- {
- difference.register.single_0 = (Single)(left.register.single_0 - right.register.single_0);
- difference.register.single_1 = (Single)(left.register.single_1 - right.register.single_1);
- difference.register.single_2 = (Single)(left.register.single_2 - right.register.single_2);
- difference.register.single_3 = (Single)(left.register.single_3 - right.register.single_3);
- }
- else if (typeof(T) == typeof(Double))
- {
- difference.register.double_0 = (Double)(left.register.double_0 - right.register.double_0);
- difference.register.double_1 = (Double)(left.register.double_1 - right.register.double_1);
- }
- return difference;
- }
- }
- }
-
- // This method is intrinsic only for certain types. It cannot access fields directly unless we are sure the context is unaccelerated.
- /// <summary>
- /// Multiplies two vectors together.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The product vector.</returns>
- public static unsafe Vector<T> operator *(Vector<T> left, Vector<T> right)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Byte)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt16)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt32)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt64)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)(object)ScalarMultiply(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> product = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- product.register.byte_0 = (Byte)(left.register.byte_0 * right.register.byte_0);
- product.register.byte_1 = (Byte)(left.register.byte_1 * right.register.byte_1);
- product.register.byte_2 = (Byte)(left.register.byte_2 * right.register.byte_2);
- product.register.byte_3 = (Byte)(left.register.byte_3 * right.register.byte_3);
- product.register.byte_4 = (Byte)(left.register.byte_4 * right.register.byte_4);
- product.register.byte_5 = (Byte)(left.register.byte_5 * right.register.byte_5);
- product.register.byte_6 = (Byte)(left.register.byte_6 * right.register.byte_6);
- product.register.byte_7 = (Byte)(left.register.byte_7 * right.register.byte_7);
- product.register.byte_8 = (Byte)(left.register.byte_8 * right.register.byte_8);
- product.register.byte_9 = (Byte)(left.register.byte_9 * right.register.byte_9);
- product.register.byte_10 = (Byte)(left.register.byte_10 * right.register.byte_10);
- product.register.byte_11 = (Byte)(left.register.byte_11 * right.register.byte_11);
- product.register.byte_12 = (Byte)(left.register.byte_12 * right.register.byte_12);
- product.register.byte_13 = (Byte)(left.register.byte_13 * right.register.byte_13);
- product.register.byte_14 = (Byte)(left.register.byte_14 * right.register.byte_14);
- product.register.byte_15 = (Byte)(left.register.byte_15 * right.register.byte_15);
- }
- else if (typeof(T) == typeof(SByte))
- {
- product.register.sbyte_0 = (SByte)(left.register.sbyte_0 * right.register.sbyte_0);
- product.register.sbyte_1 = (SByte)(left.register.sbyte_1 * right.register.sbyte_1);
- product.register.sbyte_2 = (SByte)(left.register.sbyte_2 * right.register.sbyte_2);
- product.register.sbyte_3 = (SByte)(left.register.sbyte_3 * right.register.sbyte_3);
- product.register.sbyte_4 = (SByte)(left.register.sbyte_4 * right.register.sbyte_4);
- product.register.sbyte_5 = (SByte)(left.register.sbyte_5 * right.register.sbyte_5);
- product.register.sbyte_6 = (SByte)(left.register.sbyte_6 * right.register.sbyte_6);
- product.register.sbyte_7 = (SByte)(left.register.sbyte_7 * right.register.sbyte_7);
- product.register.sbyte_8 = (SByte)(left.register.sbyte_8 * right.register.sbyte_8);
- product.register.sbyte_9 = (SByte)(left.register.sbyte_9 * right.register.sbyte_9);
- product.register.sbyte_10 = (SByte)(left.register.sbyte_10 * right.register.sbyte_10);
- product.register.sbyte_11 = (SByte)(left.register.sbyte_11 * right.register.sbyte_11);
- product.register.sbyte_12 = (SByte)(left.register.sbyte_12 * right.register.sbyte_12);
- product.register.sbyte_13 = (SByte)(left.register.sbyte_13 * right.register.sbyte_13);
- product.register.sbyte_14 = (SByte)(left.register.sbyte_14 * right.register.sbyte_14);
- product.register.sbyte_15 = (SByte)(left.register.sbyte_15 * right.register.sbyte_15);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- product.register.uint16_0 = (UInt16)(left.register.uint16_0 * right.register.uint16_0);
- product.register.uint16_1 = (UInt16)(left.register.uint16_1 * right.register.uint16_1);
- product.register.uint16_2 = (UInt16)(left.register.uint16_2 * right.register.uint16_2);
- product.register.uint16_3 = (UInt16)(left.register.uint16_3 * right.register.uint16_3);
- product.register.uint16_4 = (UInt16)(left.register.uint16_4 * right.register.uint16_4);
- product.register.uint16_5 = (UInt16)(left.register.uint16_5 * right.register.uint16_5);
- product.register.uint16_6 = (UInt16)(left.register.uint16_6 * right.register.uint16_6);
- product.register.uint16_7 = (UInt16)(left.register.uint16_7 * right.register.uint16_7);
- }
- else if (typeof(T) == typeof(Int16))
- {
- product.register.int16_0 = (Int16)(left.register.int16_0 * right.register.int16_0);
- product.register.int16_1 = (Int16)(left.register.int16_1 * right.register.int16_1);
- product.register.int16_2 = (Int16)(left.register.int16_2 * right.register.int16_2);
- product.register.int16_3 = (Int16)(left.register.int16_3 * right.register.int16_3);
- product.register.int16_4 = (Int16)(left.register.int16_4 * right.register.int16_4);
- product.register.int16_5 = (Int16)(left.register.int16_5 * right.register.int16_5);
- product.register.int16_6 = (Int16)(left.register.int16_6 * right.register.int16_6);
- product.register.int16_7 = (Int16)(left.register.int16_7 * right.register.int16_7);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- product.register.uint32_0 = (UInt32)(left.register.uint32_0 * right.register.uint32_0);
- product.register.uint32_1 = (UInt32)(left.register.uint32_1 * right.register.uint32_1);
- product.register.uint32_2 = (UInt32)(left.register.uint32_2 * right.register.uint32_2);
- product.register.uint32_3 = (UInt32)(left.register.uint32_3 * right.register.uint32_3);
- }
- else if (typeof(T) == typeof(Int32))
- {
- product.register.int32_0 = (Int32)(left.register.int32_0 * right.register.int32_0);
- product.register.int32_1 = (Int32)(left.register.int32_1 * right.register.int32_1);
- product.register.int32_2 = (Int32)(left.register.int32_2 * right.register.int32_2);
- product.register.int32_3 = (Int32)(left.register.int32_3 * right.register.int32_3);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- product.register.uint64_0 = (UInt64)(left.register.uint64_0 * right.register.uint64_0);
- product.register.uint64_1 = (UInt64)(left.register.uint64_1 * right.register.uint64_1);
- }
- else if (typeof(T) == typeof(Int64))
- {
- product.register.int64_0 = (Int64)(left.register.int64_0 * right.register.int64_0);
- product.register.int64_1 = (Int64)(left.register.int64_1 * right.register.int64_1);
- }
- else if (typeof(T) == typeof(Single))
- {
- product.register.single_0 = (Single)(left.register.single_0 * right.register.single_0);
- product.register.single_1 = (Single)(left.register.single_1 * right.register.single_1);
- product.register.single_2 = (Single)(left.register.single_2 * right.register.single_2);
- product.register.single_3 = (Single)(left.register.single_3 * right.register.single_3);
- }
- else if (typeof(T) == typeof(Double))
- {
- product.register.double_0 = (Double)(left.register.double_0 * right.register.double_0);
- product.register.double_1 = (Double)(left.register.double_1 * right.register.double_1);
- }
- return product;
- }
- }
- }
-
- // This method is intrinsic only for certain types. It cannot access fields directly unless we are sure the context is unaccelerated.
- /// <summary>
- /// Multiplies a vector by the given scalar.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <param name="factor">The scalar value.</param>
- /// <returns>The scaled vector.</returns>
- public static Vector<T> operator *(Vector<T> value, T factor)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- return new Vector<T>(factor) * value;
- }
- else
- {
- Vector<T> product = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- product.register.byte_0 = (Byte)(value.register.byte_0 * (Byte)(object)factor);
- product.register.byte_1 = (Byte)(value.register.byte_1 * (Byte)(object)factor);
- product.register.byte_2 = (Byte)(value.register.byte_2 * (Byte)(object)factor);
- product.register.byte_3 = (Byte)(value.register.byte_3 * (Byte)(object)factor);
- product.register.byte_4 = (Byte)(value.register.byte_4 * (Byte)(object)factor);
- product.register.byte_5 = (Byte)(value.register.byte_5 * (Byte)(object)factor);
- product.register.byte_6 = (Byte)(value.register.byte_6 * (Byte)(object)factor);
- product.register.byte_7 = (Byte)(value.register.byte_7 * (Byte)(object)factor);
- product.register.byte_8 = (Byte)(value.register.byte_8 * (Byte)(object)factor);
- product.register.byte_9 = (Byte)(value.register.byte_9 * (Byte)(object)factor);
- product.register.byte_10 = (Byte)(value.register.byte_10 * (Byte)(object)factor);
- product.register.byte_11 = (Byte)(value.register.byte_11 * (Byte)(object)factor);
- product.register.byte_12 = (Byte)(value.register.byte_12 * (Byte)(object)factor);
- product.register.byte_13 = (Byte)(value.register.byte_13 * (Byte)(object)factor);
- product.register.byte_14 = (Byte)(value.register.byte_14 * (Byte)(object)factor);
- product.register.byte_15 = (Byte)(value.register.byte_15 * (Byte)(object)factor);
- }
- else if (typeof(T) == typeof(SByte))
- {
- product.register.sbyte_0 = (SByte)(value.register.sbyte_0 * (SByte)(object)factor);
- product.register.sbyte_1 = (SByte)(value.register.sbyte_1 * (SByte)(object)factor);
- product.register.sbyte_2 = (SByte)(value.register.sbyte_2 * (SByte)(object)factor);
- product.register.sbyte_3 = (SByte)(value.register.sbyte_3 * (SByte)(object)factor);
- product.register.sbyte_4 = (SByte)(value.register.sbyte_4 * (SByte)(object)factor);
- product.register.sbyte_5 = (SByte)(value.register.sbyte_5 * (SByte)(object)factor);
- product.register.sbyte_6 = (SByte)(value.register.sbyte_6 * (SByte)(object)factor);
- product.register.sbyte_7 = (SByte)(value.register.sbyte_7 * (SByte)(object)factor);
- product.register.sbyte_8 = (SByte)(value.register.sbyte_8 * (SByte)(object)factor);
- product.register.sbyte_9 = (SByte)(value.register.sbyte_9 * (SByte)(object)factor);
- product.register.sbyte_10 = (SByte)(value.register.sbyte_10 * (SByte)(object)factor);
- product.register.sbyte_11 = (SByte)(value.register.sbyte_11 * (SByte)(object)factor);
- product.register.sbyte_12 = (SByte)(value.register.sbyte_12 * (SByte)(object)factor);
- product.register.sbyte_13 = (SByte)(value.register.sbyte_13 * (SByte)(object)factor);
- product.register.sbyte_14 = (SByte)(value.register.sbyte_14 * (SByte)(object)factor);
- product.register.sbyte_15 = (SByte)(value.register.sbyte_15 * (SByte)(object)factor);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- product.register.uint16_0 = (UInt16)(value.register.uint16_0 * (UInt16)(object)factor);
- product.register.uint16_1 = (UInt16)(value.register.uint16_1 * (UInt16)(object)factor);
- product.register.uint16_2 = (UInt16)(value.register.uint16_2 * (UInt16)(object)factor);
- product.register.uint16_3 = (UInt16)(value.register.uint16_3 * (UInt16)(object)factor);
- product.register.uint16_4 = (UInt16)(value.register.uint16_4 * (UInt16)(object)factor);
- product.register.uint16_5 = (UInt16)(value.register.uint16_5 * (UInt16)(object)factor);
- product.register.uint16_6 = (UInt16)(value.register.uint16_6 * (UInt16)(object)factor);
- product.register.uint16_7 = (UInt16)(value.register.uint16_7 * (UInt16)(object)factor);
- }
- else if (typeof(T) == typeof(Int16))
- {
- product.register.int16_0 = (Int16)(value.register.int16_0 * (Int16)(object)factor);
- product.register.int16_1 = (Int16)(value.register.int16_1 * (Int16)(object)factor);
- product.register.int16_2 = (Int16)(value.register.int16_2 * (Int16)(object)factor);
- product.register.int16_3 = (Int16)(value.register.int16_3 * (Int16)(object)factor);
- product.register.int16_4 = (Int16)(value.register.int16_4 * (Int16)(object)factor);
- product.register.int16_5 = (Int16)(value.register.int16_5 * (Int16)(object)factor);
- product.register.int16_6 = (Int16)(value.register.int16_6 * (Int16)(object)factor);
- product.register.int16_7 = (Int16)(value.register.int16_7 * (Int16)(object)factor);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- product.register.uint32_0 = (UInt32)(value.register.uint32_0 * (UInt32)(object)factor);
- product.register.uint32_1 = (UInt32)(value.register.uint32_1 * (UInt32)(object)factor);
- product.register.uint32_2 = (UInt32)(value.register.uint32_2 * (UInt32)(object)factor);
- product.register.uint32_3 = (UInt32)(value.register.uint32_3 * (UInt32)(object)factor);
- }
- else if (typeof(T) == typeof(Int32))
- {
- product.register.int32_0 = (Int32)(value.register.int32_0 * (Int32)(object)factor);
- product.register.int32_1 = (Int32)(value.register.int32_1 * (Int32)(object)factor);
- product.register.int32_2 = (Int32)(value.register.int32_2 * (Int32)(object)factor);
- product.register.int32_3 = (Int32)(value.register.int32_3 * (Int32)(object)factor);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- product.register.uint64_0 = (UInt64)(value.register.uint64_0 * (UInt64)(object)factor);
- product.register.uint64_1 = (UInt64)(value.register.uint64_1 * (UInt64)(object)factor);
- }
- else if (typeof(T) == typeof(Int64))
- {
- product.register.int64_0 = (Int64)(value.register.int64_0 * (Int64)(object)factor);
- product.register.int64_1 = (Int64)(value.register.int64_1 * (Int64)(object)factor);
- }
- else if (typeof(T) == typeof(Single))
- {
- product.register.single_0 = (Single)(value.register.single_0 * (Single)(object)factor);
- product.register.single_1 = (Single)(value.register.single_1 * (Single)(object)factor);
- product.register.single_2 = (Single)(value.register.single_2 * (Single)(object)factor);
- product.register.single_3 = (Single)(value.register.single_3 * (Single)(object)factor);
- }
- else if (typeof(T) == typeof(Double))
- {
- product.register.double_0 = (Double)(value.register.double_0 * (Double)(object)factor);
- product.register.double_1 = (Double)(value.register.double_1 * (Double)(object)factor);
- }
- return product;
- }
- }
- }
-
- // This method is intrinsic only for certain types. It cannot access fields directly unless we are sure the context is unaccelerated.
- /// <summary>
- /// Multiplies a vector by the given scalar.
- /// </summary>
- /// <param name="factor">The scalar value.</param>
- /// <param name="value">The source vector.</param>
- /// <returns>The scaled vector.</returns>
- public static Vector<T> operator *(T factor, Vector<T> value)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- return new Vector<T>(factor) * value;
- }
- else
- {
- Vector<T> product = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- product.register.byte_0 = (Byte)(value.register.byte_0 * (Byte)(object)factor);
- product.register.byte_1 = (Byte)(value.register.byte_1 * (Byte)(object)factor);
- product.register.byte_2 = (Byte)(value.register.byte_2 * (Byte)(object)factor);
- product.register.byte_3 = (Byte)(value.register.byte_3 * (Byte)(object)factor);
- product.register.byte_4 = (Byte)(value.register.byte_4 * (Byte)(object)factor);
- product.register.byte_5 = (Byte)(value.register.byte_5 * (Byte)(object)factor);
- product.register.byte_6 = (Byte)(value.register.byte_6 * (Byte)(object)factor);
- product.register.byte_7 = (Byte)(value.register.byte_7 * (Byte)(object)factor);
- product.register.byte_8 = (Byte)(value.register.byte_8 * (Byte)(object)factor);
- product.register.byte_9 = (Byte)(value.register.byte_9 * (Byte)(object)factor);
- product.register.byte_10 = (Byte)(value.register.byte_10 * (Byte)(object)factor);
- product.register.byte_11 = (Byte)(value.register.byte_11 * (Byte)(object)factor);
- product.register.byte_12 = (Byte)(value.register.byte_12 * (Byte)(object)factor);
- product.register.byte_13 = (Byte)(value.register.byte_13 * (Byte)(object)factor);
- product.register.byte_14 = (Byte)(value.register.byte_14 * (Byte)(object)factor);
- product.register.byte_15 = (Byte)(value.register.byte_15 * (Byte)(object)factor);
- }
- else if (typeof(T) == typeof(SByte))
- {
- product.register.sbyte_0 = (SByte)(value.register.sbyte_0 * (SByte)(object)factor);
- product.register.sbyte_1 = (SByte)(value.register.sbyte_1 * (SByte)(object)factor);
- product.register.sbyte_2 = (SByte)(value.register.sbyte_2 * (SByte)(object)factor);
- product.register.sbyte_3 = (SByte)(value.register.sbyte_3 * (SByte)(object)factor);
- product.register.sbyte_4 = (SByte)(value.register.sbyte_4 * (SByte)(object)factor);
- product.register.sbyte_5 = (SByte)(value.register.sbyte_5 * (SByte)(object)factor);
- product.register.sbyte_6 = (SByte)(value.register.sbyte_6 * (SByte)(object)factor);
- product.register.sbyte_7 = (SByte)(value.register.sbyte_7 * (SByte)(object)factor);
- product.register.sbyte_8 = (SByte)(value.register.sbyte_8 * (SByte)(object)factor);
- product.register.sbyte_9 = (SByte)(value.register.sbyte_9 * (SByte)(object)factor);
- product.register.sbyte_10 = (SByte)(value.register.sbyte_10 * (SByte)(object)factor);
- product.register.sbyte_11 = (SByte)(value.register.sbyte_11 * (SByte)(object)factor);
- product.register.sbyte_12 = (SByte)(value.register.sbyte_12 * (SByte)(object)factor);
- product.register.sbyte_13 = (SByte)(value.register.sbyte_13 * (SByte)(object)factor);
- product.register.sbyte_14 = (SByte)(value.register.sbyte_14 * (SByte)(object)factor);
- product.register.sbyte_15 = (SByte)(value.register.sbyte_15 * (SByte)(object)factor);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- product.register.uint16_0 = (UInt16)(value.register.uint16_0 * (UInt16)(object)factor);
- product.register.uint16_1 = (UInt16)(value.register.uint16_1 * (UInt16)(object)factor);
- product.register.uint16_2 = (UInt16)(value.register.uint16_2 * (UInt16)(object)factor);
- product.register.uint16_3 = (UInt16)(value.register.uint16_3 * (UInt16)(object)factor);
- product.register.uint16_4 = (UInt16)(value.register.uint16_4 * (UInt16)(object)factor);
- product.register.uint16_5 = (UInt16)(value.register.uint16_5 * (UInt16)(object)factor);
- product.register.uint16_6 = (UInt16)(value.register.uint16_6 * (UInt16)(object)factor);
- product.register.uint16_7 = (UInt16)(value.register.uint16_7 * (UInt16)(object)factor);
- }
- else if (typeof(T) == typeof(Int16))
- {
- product.register.int16_0 = (Int16)(value.register.int16_0 * (Int16)(object)factor);
- product.register.int16_1 = (Int16)(value.register.int16_1 * (Int16)(object)factor);
- product.register.int16_2 = (Int16)(value.register.int16_2 * (Int16)(object)factor);
- product.register.int16_3 = (Int16)(value.register.int16_3 * (Int16)(object)factor);
- product.register.int16_4 = (Int16)(value.register.int16_4 * (Int16)(object)factor);
- product.register.int16_5 = (Int16)(value.register.int16_5 * (Int16)(object)factor);
- product.register.int16_6 = (Int16)(value.register.int16_6 * (Int16)(object)factor);
- product.register.int16_7 = (Int16)(value.register.int16_7 * (Int16)(object)factor);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- product.register.uint32_0 = (UInt32)(value.register.uint32_0 * (UInt32)(object)factor);
- product.register.uint32_1 = (UInt32)(value.register.uint32_1 * (UInt32)(object)factor);
- product.register.uint32_2 = (UInt32)(value.register.uint32_2 * (UInt32)(object)factor);
- product.register.uint32_3 = (UInt32)(value.register.uint32_3 * (UInt32)(object)factor);
- }
- else if (typeof(T) == typeof(Int32))
- {
- product.register.int32_0 = (Int32)(value.register.int32_0 * (Int32)(object)factor);
- product.register.int32_1 = (Int32)(value.register.int32_1 * (Int32)(object)factor);
- product.register.int32_2 = (Int32)(value.register.int32_2 * (Int32)(object)factor);
- product.register.int32_3 = (Int32)(value.register.int32_3 * (Int32)(object)factor);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- product.register.uint64_0 = (UInt64)(value.register.uint64_0 * (UInt64)(object)factor);
- product.register.uint64_1 = (UInt64)(value.register.uint64_1 * (UInt64)(object)factor);
- }
- else if (typeof(T) == typeof(Int64))
- {
- product.register.int64_0 = (Int64)(value.register.int64_0 * (Int64)(object)factor);
- product.register.int64_1 = (Int64)(value.register.int64_1 * (Int64)(object)factor);
- }
- else if (typeof(T) == typeof(Single))
- {
- product.register.single_0 = (Single)(value.register.single_0 * (Single)(object)factor);
- product.register.single_1 = (Single)(value.register.single_1 * (Single)(object)factor);
- product.register.single_2 = (Single)(value.register.single_2 * (Single)(object)factor);
- product.register.single_3 = (Single)(value.register.single_3 * (Single)(object)factor);
- }
- else if (typeof(T) == typeof(Double))
- {
- product.register.double_0 = (Double)(value.register.double_0 * (Double)(object)factor);
- product.register.double_1 = (Double)(value.register.double_1 * (Double)(object)factor);
- }
- return product;
- }
- }
- }
-
- // This method is intrinsic only for certain types. It cannot access fields directly unless we are sure the context is unaccelerated.
- /// <summary>
- /// Divides the first vector by the second.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The vector resulting from the division.</returns>
- public static unsafe Vector<T> operator /(Vector<T> left, Vector<T> right)
- {
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Byte)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt16)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt32)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt64)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)(object)ScalarDivide(left[g], right[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> quotient = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- quotient.register.byte_0 = (Byte)(left.register.byte_0 / right.register.byte_0);
- quotient.register.byte_1 = (Byte)(left.register.byte_1 / right.register.byte_1);
- quotient.register.byte_2 = (Byte)(left.register.byte_2 / right.register.byte_2);
- quotient.register.byte_3 = (Byte)(left.register.byte_3 / right.register.byte_3);
- quotient.register.byte_4 = (Byte)(left.register.byte_4 / right.register.byte_4);
- quotient.register.byte_5 = (Byte)(left.register.byte_5 / right.register.byte_5);
- quotient.register.byte_6 = (Byte)(left.register.byte_6 / right.register.byte_6);
- quotient.register.byte_7 = (Byte)(left.register.byte_7 / right.register.byte_7);
- quotient.register.byte_8 = (Byte)(left.register.byte_8 / right.register.byte_8);
- quotient.register.byte_9 = (Byte)(left.register.byte_9 / right.register.byte_9);
- quotient.register.byte_10 = (Byte)(left.register.byte_10 / right.register.byte_10);
- quotient.register.byte_11 = (Byte)(left.register.byte_11 / right.register.byte_11);
- quotient.register.byte_12 = (Byte)(left.register.byte_12 / right.register.byte_12);
- quotient.register.byte_13 = (Byte)(left.register.byte_13 / right.register.byte_13);
- quotient.register.byte_14 = (Byte)(left.register.byte_14 / right.register.byte_14);
- quotient.register.byte_15 = (Byte)(left.register.byte_15 / right.register.byte_15);
- }
- else if (typeof(T) == typeof(SByte))
- {
- quotient.register.sbyte_0 = (SByte)(left.register.sbyte_0 / right.register.sbyte_0);
- quotient.register.sbyte_1 = (SByte)(left.register.sbyte_1 / right.register.sbyte_1);
- quotient.register.sbyte_2 = (SByte)(left.register.sbyte_2 / right.register.sbyte_2);
- quotient.register.sbyte_3 = (SByte)(left.register.sbyte_3 / right.register.sbyte_3);
- quotient.register.sbyte_4 = (SByte)(left.register.sbyte_4 / right.register.sbyte_4);
- quotient.register.sbyte_5 = (SByte)(left.register.sbyte_5 / right.register.sbyte_5);
- quotient.register.sbyte_6 = (SByte)(left.register.sbyte_6 / right.register.sbyte_6);
- quotient.register.sbyte_7 = (SByte)(left.register.sbyte_7 / right.register.sbyte_7);
- quotient.register.sbyte_8 = (SByte)(left.register.sbyte_8 / right.register.sbyte_8);
- quotient.register.sbyte_9 = (SByte)(left.register.sbyte_9 / right.register.sbyte_9);
- quotient.register.sbyte_10 = (SByte)(left.register.sbyte_10 / right.register.sbyte_10);
- quotient.register.sbyte_11 = (SByte)(left.register.sbyte_11 / right.register.sbyte_11);
- quotient.register.sbyte_12 = (SByte)(left.register.sbyte_12 / right.register.sbyte_12);
- quotient.register.sbyte_13 = (SByte)(left.register.sbyte_13 / right.register.sbyte_13);
- quotient.register.sbyte_14 = (SByte)(left.register.sbyte_14 / right.register.sbyte_14);
- quotient.register.sbyte_15 = (SByte)(left.register.sbyte_15 / right.register.sbyte_15);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- quotient.register.uint16_0 = (UInt16)(left.register.uint16_0 / right.register.uint16_0);
- quotient.register.uint16_1 = (UInt16)(left.register.uint16_1 / right.register.uint16_1);
- quotient.register.uint16_2 = (UInt16)(left.register.uint16_2 / right.register.uint16_2);
- quotient.register.uint16_3 = (UInt16)(left.register.uint16_3 / right.register.uint16_3);
- quotient.register.uint16_4 = (UInt16)(left.register.uint16_4 / right.register.uint16_4);
- quotient.register.uint16_5 = (UInt16)(left.register.uint16_5 / right.register.uint16_5);
- quotient.register.uint16_6 = (UInt16)(left.register.uint16_6 / right.register.uint16_6);
- quotient.register.uint16_7 = (UInt16)(left.register.uint16_7 / right.register.uint16_7);
- }
- else if (typeof(T) == typeof(Int16))
- {
- quotient.register.int16_0 = (Int16)(left.register.int16_0 / right.register.int16_0);
- quotient.register.int16_1 = (Int16)(left.register.int16_1 / right.register.int16_1);
- quotient.register.int16_2 = (Int16)(left.register.int16_2 / right.register.int16_2);
- quotient.register.int16_3 = (Int16)(left.register.int16_3 / right.register.int16_3);
- quotient.register.int16_4 = (Int16)(left.register.int16_4 / right.register.int16_4);
- quotient.register.int16_5 = (Int16)(left.register.int16_5 / right.register.int16_5);
- quotient.register.int16_6 = (Int16)(left.register.int16_6 / right.register.int16_6);
- quotient.register.int16_7 = (Int16)(left.register.int16_7 / right.register.int16_7);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- quotient.register.uint32_0 = (UInt32)(left.register.uint32_0 / right.register.uint32_0);
- quotient.register.uint32_1 = (UInt32)(left.register.uint32_1 / right.register.uint32_1);
- quotient.register.uint32_2 = (UInt32)(left.register.uint32_2 / right.register.uint32_2);
- quotient.register.uint32_3 = (UInt32)(left.register.uint32_3 / right.register.uint32_3);
- }
- else if (typeof(T) == typeof(Int32))
- {
- quotient.register.int32_0 = (Int32)(left.register.int32_0 / right.register.int32_0);
- quotient.register.int32_1 = (Int32)(left.register.int32_1 / right.register.int32_1);
- quotient.register.int32_2 = (Int32)(left.register.int32_2 / right.register.int32_2);
- quotient.register.int32_3 = (Int32)(left.register.int32_3 / right.register.int32_3);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- quotient.register.uint64_0 = (UInt64)(left.register.uint64_0 / right.register.uint64_0);
- quotient.register.uint64_1 = (UInt64)(left.register.uint64_1 / right.register.uint64_1);
- }
- else if (typeof(T) == typeof(Int64))
- {
- quotient.register.int64_0 = (Int64)(left.register.int64_0 / right.register.int64_0);
- quotient.register.int64_1 = (Int64)(left.register.int64_1 / right.register.int64_1);
- }
- else if (typeof(T) == typeof(Single))
- {
- quotient.register.single_0 = (Single)(left.register.single_0 / right.register.single_0);
- quotient.register.single_1 = (Single)(left.register.single_1 / right.register.single_1);
- quotient.register.single_2 = (Single)(left.register.single_2 / right.register.single_2);
- quotient.register.single_3 = (Single)(left.register.single_3 / right.register.single_3);
- }
- else if (typeof(T) == typeof(Double))
- {
- quotient.register.double_0 = (Double)(left.register.double_0 / right.register.double_0);
- quotient.register.double_1 = (Double)(left.register.double_1 / right.register.double_1);
- }
- return quotient;
- }
- }
- }
-
- /// <summary>
- /// Negates a given vector.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The negated vector.</returns>
- public static Vector<T> operator -(Vector<T> value)
- {
- return Zero - value;
- }
- #endregion Arithmetic Operators
-
- #region Bitwise Operators
- /// <summary>
- /// Returns a new vector by performing a bitwise-and operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [JitIntrinsic]
- public static unsafe Vector<T> operator &(Vector<T> left, Vector<T> right)
- {
- Vector<T> result = new Vector<T>();
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- Int64* resultBase = &result.register.int64_0;
- Int64* leftBase = &left.register.int64_0;
- Int64* rightBase = &right.register.int64_0;
- for (int g = 0; g < Vector<Int64>.Count; g++)
- {
- resultBase[g] = leftBase[g] & rightBase[g];
- }
- }
- else
- {
- result.register.int64_0 = left.register.int64_0 & right.register.int64_0;
- result.register.int64_1 = left.register.int64_1 & right.register.int64_1;
- }
- }
- return result;
- }
-
- /// <summary>
- /// Returns a new vector by performing a bitwise-or operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [JitIntrinsic]
- public static unsafe Vector<T> operator |(Vector<T> left, Vector<T> right)
- {
- Vector<T> result = new Vector<T>();
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- Int64* resultBase = &result.register.int64_0;
- Int64* leftBase = &left.register.int64_0;
- Int64* rightBase = &right.register.int64_0;
- for (int g = 0; g < Vector<Int64>.Count; g++)
- {
- resultBase[g] = leftBase[g] | rightBase[g];
- }
- }
- else
- {
- result.register.int64_0 = left.register.int64_0 | right.register.int64_0;
- result.register.int64_1 = left.register.int64_1 | right.register.int64_1;
- }
- }
- return result;
- }
-
- /// <summary>
- /// Returns a new vector by performing a bitwise-exclusive-or operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [JitIntrinsic]
- public static unsafe Vector<T> operator ^(Vector<T> left, Vector<T> right)
- {
- Vector<T> result = new Vector<T>();
- unchecked
- {
- if (Vector.IsHardwareAccelerated)
- {
- Int64* resultBase = &result.register.int64_0;
- Int64* leftBase = &left.register.int64_0;
- Int64* rightBase = &right.register.int64_0;
- for (int g = 0; g < Vector<Int64>.Count; g++)
- {
- resultBase[g] = leftBase[g] ^ rightBase[g];
- }
- }
- else
- {
- result.register.int64_0 = left.register.int64_0 ^ right.register.int64_0;
- result.register.int64_1 = left.register.int64_1 ^ right.register.int64_1;
- }
- }
- return result;
- }
-
- /// <summary>
- /// Returns a new vector whose elements are obtained by taking the one's complement of the given vector's elements.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The one's complement vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> operator ~(Vector<T> value)
- {
- return allOnes ^ value;
- }
- #endregion Bitwise Operators
-
- #region Logical Operators
- /// <summary>
- /// Returns a boolean indicating whether each pair of elements in the given vectors are equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The first vector to compare.</param>
- /// <returns>True if all elements are equal; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool operator ==(Vector<T> left, Vector<T> right)
- {
- return left.Equals(right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any single pair of elements in the given vectors are equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any element pairs are equal; False if no element pairs are equal.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool operator !=(Vector<T> left, Vector<T> right)
- {
- return !(left == right);
- }
- #endregion Logical Operators
-
- #region Conversions
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Byte>(Vector<T> value)
- {
- return new Vector<Byte>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [JitIntrinsic]
- public static explicit operator Vector<SByte>(Vector<T> value)
- {
- return new Vector<SByte>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [JitIntrinsic]
- public static explicit operator Vector<UInt16>(Vector<T> value)
- {
- return new Vector<UInt16>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Int16>(Vector<T> value)
- {
- return new Vector<Int16>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [JitIntrinsic]
- public static explicit operator Vector<UInt32>(Vector<T> value)
- {
- return new Vector<UInt32>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Int32>(Vector<T> value)
- {
- return new Vector<Int32>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [JitIntrinsic]
- public static explicit operator Vector<UInt64>(Vector<T> value)
- {
- return new Vector<UInt64>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Int64>(Vector<T> value)
- {
- return new Vector<Int64>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Single>(Vector<T> value)
- {
- return new Vector<Single>(ref value.register);
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of another type.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [JitIntrinsic]
- public static explicit operator Vector<Double>(Vector<T> value)
- {
- return new Vector<Double>(ref value.register);
- }
-
- #endregion Conversions
-
- #region Internal Comparison Methods
- [JitIntrinsic]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- internal static unsafe Vector<T> Equals(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarEquals(left[g], right[g]) ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Register register = new Register();
- if (typeof(T) == typeof(Byte))
- {
- register.byte_0 = left.register.byte_0 == right.register.byte_0 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_1 = left.register.byte_1 == right.register.byte_1 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_2 = left.register.byte_2 == right.register.byte_2 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_3 = left.register.byte_3 == right.register.byte_3 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_4 = left.register.byte_4 == right.register.byte_4 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_5 = left.register.byte_5 == right.register.byte_5 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_6 = left.register.byte_6 == right.register.byte_6 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_7 = left.register.byte_7 == right.register.byte_7 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_8 = left.register.byte_8 == right.register.byte_8 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_9 = left.register.byte_9 == right.register.byte_9 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_10 = left.register.byte_10 == right.register.byte_10 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_11 = left.register.byte_11 == right.register.byte_11 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_12 = left.register.byte_12 == right.register.byte_12 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_13 = left.register.byte_13 == right.register.byte_13 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_14 = left.register.byte_14 == right.register.byte_14 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_15 = left.register.byte_15 == right.register.byte_15 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(SByte))
- {
- register.sbyte_0 = left.register.sbyte_0 == right.register.sbyte_0 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_1 = left.register.sbyte_1 == right.register.sbyte_1 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_2 = left.register.sbyte_2 == right.register.sbyte_2 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_3 = left.register.sbyte_3 == right.register.sbyte_3 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_4 = left.register.sbyte_4 == right.register.sbyte_4 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_5 = left.register.sbyte_5 == right.register.sbyte_5 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_6 = left.register.sbyte_6 == right.register.sbyte_6 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_7 = left.register.sbyte_7 == right.register.sbyte_7 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_8 = left.register.sbyte_8 == right.register.sbyte_8 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_9 = left.register.sbyte_9 == right.register.sbyte_9 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_10 = left.register.sbyte_10 == right.register.sbyte_10 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_11 = left.register.sbyte_11 == right.register.sbyte_11 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_12 = left.register.sbyte_12 == right.register.sbyte_12 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_13 = left.register.sbyte_13 == right.register.sbyte_13 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_14 = left.register.sbyte_14 == right.register.sbyte_14 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_15 = left.register.sbyte_15 == right.register.sbyte_15 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- register.uint16_0 = left.register.uint16_0 == right.register.uint16_0 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_1 = left.register.uint16_1 == right.register.uint16_1 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_2 = left.register.uint16_2 == right.register.uint16_2 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_3 = left.register.uint16_3 == right.register.uint16_3 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_4 = left.register.uint16_4 == right.register.uint16_4 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_5 = left.register.uint16_5 == right.register.uint16_5 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_6 = left.register.uint16_6 == right.register.uint16_6 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_7 = left.register.uint16_7 == right.register.uint16_7 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int16))
- {
- register.int16_0 = left.register.int16_0 == right.register.int16_0 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_1 = left.register.int16_1 == right.register.int16_1 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_2 = left.register.int16_2 == right.register.int16_2 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_3 = left.register.int16_3 == right.register.int16_3 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_4 = left.register.int16_4 == right.register.int16_4 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_5 = left.register.int16_5 == right.register.int16_5 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_6 = left.register.int16_6 == right.register.int16_6 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_7 = left.register.int16_7 == right.register.int16_7 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- register.uint32_0 = left.register.uint32_0 == right.register.uint32_0 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_1 = left.register.uint32_1 == right.register.uint32_1 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_2 = left.register.uint32_2 == right.register.uint32_2 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_3 = left.register.uint32_3 == right.register.uint32_3 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int32))
- {
- register.int32_0 = left.register.int32_0 == right.register.int32_0 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_1 = left.register.int32_1 == right.register.int32_1 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_2 = left.register.int32_2 == right.register.int32_2 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_3 = left.register.int32_3 == right.register.int32_3 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- register.uint64_0 = left.register.uint64_0 == right.register.uint64_0 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- register.uint64_1 = left.register.uint64_1 == right.register.uint64_1 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int64))
- {
- register.int64_0 = left.register.int64_0 == right.register.int64_0 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- register.int64_1 = left.register.int64_1 == right.register.int64_1 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Single))
- {
- register.single_0 = left.register.single_0 == right.register.single_0 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_1 = left.register.single_1 == right.register.single_1 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_2 = left.register.single_2 == right.register.single_2 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_3 = left.register.single_3 == right.register.single_3 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Double))
- {
- register.double_0 = left.register.double_0 == right.register.double_0 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- register.double_1 = left.register.double_1 == right.register.double_1 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- return new Vector<T>(ref register);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- internal static unsafe Vector<T> LessThan(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Register register = new Register();
- if (typeof(T) == typeof(Byte))
- {
- register.byte_0 = left.register.byte_0 < right.register.byte_0 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_1 = left.register.byte_1 < right.register.byte_1 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_2 = left.register.byte_2 < right.register.byte_2 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_3 = left.register.byte_3 < right.register.byte_3 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_4 = left.register.byte_4 < right.register.byte_4 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_5 = left.register.byte_5 < right.register.byte_5 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_6 = left.register.byte_6 < right.register.byte_6 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_7 = left.register.byte_7 < right.register.byte_7 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_8 = left.register.byte_8 < right.register.byte_8 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_9 = left.register.byte_9 < right.register.byte_9 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_10 = left.register.byte_10 < right.register.byte_10 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_11 = left.register.byte_11 < right.register.byte_11 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_12 = left.register.byte_12 < right.register.byte_12 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_13 = left.register.byte_13 < right.register.byte_13 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_14 = left.register.byte_14 < right.register.byte_14 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_15 = left.register.byte_15 < right.register.byte_15 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(SByte))
- {
- register.sbyte_0 = left.register.sbyte_0 < right.register.sbyte_0 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_1 = left.register.sbyte_1 < right.register.sbyte_1 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_2 = left.register.sbyte_2 < right.register.sbyte_2 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_3 = left.register.sbyte_3 < right.register.sbyte_3 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_4 = left.register.sbyte_4 < right.register.sbyte_4 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_5 = left.register.sbyte_5 < right.register.sbyte_5 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_6 = left.register.sbyte_6 < right.register.sbyte_6 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_7 = left.register.sbyte_7 < right.register.sbyte_7 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_8 = left.register.sbyte_8 < right.register.sbyte_8 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_9 = left.register.sbyte_9 < right.register.sbyte_9 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_10 = left.register.sbyte_10 < right.register.sbyte_10 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_11 = left.register.sbyte_11 < right.register.sbyte_11 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_12 = left.register.sbyte_12 < right.register.sbyte_12 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_13 = left.register.sbyte_13 < right.register.sbyte_13 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_14 = left.register.sbyte_14 < right.register.sbyte_14 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_15 = left.register.sbyte_15 < right.register.sbyte_15 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- register.uint16_0 = left.register.uint16_0 < right.register.uint16_0 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_1 = left.register.uint16_1 < right.register.uint16_1 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_2 = left.register.uint16_2 < right.register.uint16_2 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_3 = left.register.uint16_3 < right.register.uint16_3 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_4 = left.register.uint16_4 < right.register.uint16_4 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_5 = left.register.uint16_5 < right.register.uint16_5 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_6 = left.register.uint16_6 < right.register.uint16_6 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_7 = left.register.uint16_7 < right.register.uint16_7 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int16))
- {
- register.int16_0 = left.register.int16_0 < right.register.int16_0 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_1 = left.register.int16_1 < right.register.int16_1 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_2 = left.register.int16_2 < right.register.int16_2 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_3 = left.register.int16_3 < right.register.int16_3 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_4 = left.register.int16_4 < right.register.int16_4 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_5 = left.register.int16_5 < right.register.int16_5 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_6 = left.register.int16_6 < right.register.int16_6 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_7 = left.register.int16_7 < right.register.int16_7 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- register.uint32_0 = left.register.uint32_0 < right.register.uint32_0 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_1 = left.register.uint32_1 < right.register.uint32_1 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_2 = left.register.uint32_2 < right.register.uint32_2 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_3 = left.register.uint32_3 < right.register.uint32_3 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int32))
- {
- register.int32_0 = left.register.int32_0 < right.register.int32_0 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_1 = left.register.int32_1 < right.register.int32_1 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_2 = left.register.int32_2 < right.register.int32_2 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_3 = left.register.int32_3 < right.register.int32_3 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- register.uint64_0 = left.register.uint64_0 < right.register.uint64_0 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- register.uint64_1 = left.register.uint64_1 < right.register.uint64_1 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int64))
- {
- register.int64_0 = left.register.int64_0 < right.register.int64_0 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- register.int64_1 = left.register.int64_1 < right.register.int64_1 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Single))
- {
- register.single_0 = left.register.single_0 < right.register.single_0 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_1 = left.register.single_1 < right.register.single_1 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_2 = left.register.single_2 < right.register.single_2 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_3 = left.register.single_3 < right.register.single_3 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Double))
- {
- register.double_0 = left.register.double_0 < right.register.double_0 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- register.double_1 = left.register.double_1 < right.register.double_1 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- return new Vector<T>(ref register);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- internal static unsafe Vector<T> GreaterThan(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Register register = new Register();
- if (typeof(T) == typeof(Byte))
- {
- register.byte_0 = left.register.byte_0 > right.register.byte_0 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_1 = left.register.byte_1 > right.register.byte_1 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_2 = left.register.byte_2 > right.register.byte_2 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_3 = left.register.byte_3 > right.register.byte_3 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_4 = left.register.byte_4 > right.register.byte_4 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_5 = left.register.byte_5 > right.register.byte_5 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_6 = left.register.byte_6 > right.register.byte_6 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_7 = left.register.byte_7 > right.register.byte_7 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_8 = left.register.byte_8 > right.register.byte_8 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_9 = left.register.byte_9 > right.register.byte_9 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_10 = left.register.byte_10 > right.register.byte_10 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_11 = left.register.byte_11 > right.register.byte_11 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_12 = left.register.byte_12 > right.register.byte_12 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_13 = left.register.byte_13 > right.register.byte_13 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_14 = left.register.byte_14 > right.register.byte_14 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- register.byte_15 = left.register.byte_15 > right.register.byte_15 ? ConstantHelper.GetByteWithAllBitsSet() : (Byte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(SByte))
- {
- register.sbyte_0 = left.register.sbyte_0 > right.register.sbyte_0 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_1 = left.register.sbyte_1 > right.register.sbyte_1 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_2 = left.register.sbyte_2 > right.register.sbyte_2 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_3 = left.register.sbyte_3 > right.register.sbyte_3 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_4 = left.register.sbyte_4 > right.register.sbyte_4 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_5 = left.register.sbyte_5 > right.register.sbyte_5 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_6 = left.register.sbyte_6 > right.register.sbyte_6 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_7 = left.register.sbyte_7 > right.register.sbyte_7 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_8 = left.register.sbyte_8 > right.register.sbyte_8 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_9 = left.register.sbyte_9 > right.register.sbyte_9 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_10 = left.register.sbyte_10 > right.register.sbyte_10 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_11 = left.register.sbyte_11 > right.register.sbyte_11 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_12 = left.register.sbyte_12 > right.register.sbyte_12 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_13 = left.register.sbyte_13 > right.register.sbyte_13 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_14 = left.register.sbyte_14 > right.register.sbyte_14 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- register.sbyte_15 = left.register.sbyte_15 > right.register.sbyte_15 ? ConstantHelper.GetSByteWithAllBitsSet() : (SByte)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- register.uint16_0 = left.register.uint16_0 > right.register.uint16_0 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_1 = left.register.uint16_1 > right.register.uint16_1 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_2 = left.register.uint16_2 > right.register.uint16_2 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_3 = left.register.uint16_3 > right.register.uint16_3 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_4 = left.register.uint16_4 > right.register.uint16_4 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_5 = left.register.uint16_5 > right.register.uint16_5 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_6 = left.register.uint16_6 > right.register.uint16_6 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- register.uint16_7 = left.register.uint16_7 > right.register.uint16_7 ? ConstantHelper.GetUInt16WithAllBitsSet() : (UInt16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int16))
- {
- register.int16_0 = left.register.int16_0 > right.register.int16_0 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_1 = left.register.int16_1 > right.register.int16_1 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_2 = left.register.int16_2 > right.register.int16_2 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_3 = left.register.int16_3 > right.register.int16_3 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_4 = left.register.int16_4 > right.register.int16_4 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_5 = left.register.int16_5 > right.register.int16_5 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_6 = left.register.int16_6 > right.register.int16_6 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- register.int16_7 = left.register.int16_7 > right.register.int16_7 ? ConstantHelper.GetInt16WithAllBitsSet() : (Int16)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- register.uint32_0 = left.register.uint32_0 > right.register.uint32_0 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_1 = left.register.uint32_1 > right.register.uint32_1 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_2 = left.register.uint32_2 > right.register.uint32_2 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- register.uint32_3 = left.register.uint32_3 > right.register.uint32_3 ? ConstantHelper.GetUInt32WithAllBitsSet() : (UInt32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int32))
- {
- register.int32_0 = left.register.int32_0 > right.register.int32_0 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_1 = left.register.int32_1 > right.register.int32_1 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_2 = left.register.int32_2 > right.register.int32_2 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- register.int32_3 = left.register.int32_3 > right.register.int32_3 ? ConstantHelper.GetInt32WithAllBitsSet() : (Int32)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- register.uint64_0 = left.register.uint64_0 > right.register.uint64_0 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- register.uint64_1 = left.register.uint64_1 > right.register.uint64_1 ? ConstantHelper.GetUInt64WithAllBitsSet() : (UInt64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Int64))
- {
- register.int64_0 = left.register.int64_0 > right.register.int64_0 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- register.int64_1 = left.register.int64_1 > right.register.int64_1 ? ConstantHelper.GetInt64WithAllBitsSet() : (Int64)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Single))
- {
- register.single_0 = left.register.single_0 > right.register.single_0 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_1 = left.register.single_1 > right.register.single_1 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_2 = left.register.single_2 > right.register.single_2 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- register.single_3 = left.register.single_3 > right.register.single_3 ? ConstantHelper.GetSingleWithAllBitsSet() : (Single)0;
- return new Vector<T>(ref register);
- }
- else if (typeof(T) == typeof(Double))
- {
- register.double_0 = left.register.double_0 > right.register.double_0 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- register.double_1 = left.register.double_1 > right.register.double_1 ? ConstantHelper.GetDoubleWithAllBitsSet() : (Double)0;
- return new Vector<T>(ref register);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- internal static Vector<T> GreaterThanOrEqual(Vector<T> left, Vector<T> right)
- {
- return Equals(left, right) | GreaterThan(left, right);
- }
-
- [JitIntrinsic]
- internal static Vector<T> LessThanOrEqual(Vector<T> left, Vector<T> right)
- {
- return Equals(left, right) | LessThan(left, right);
- }
-
- [JitIntrinsic]
- internal static Vector<T> ConditionalSelect(Vector<T> condition, Vector<T> left, Vector<T> right)
- {
- return (left & condition) | (Vector.AndNot(right, condition));
- }
- #endregion Comparison Methods
-
- #region Internal Math Methods
- [JitIntrinsic]
- internal static unsafe Vector<T> Abs(Vector<T> value)
- {
- if (typeof(T) == typeof(Byte))
- {
- return value;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return value;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return value;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return value;
- }
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)(object)(Math.Abs((SByte)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)(object)(Math.Abs((Int16)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)(object)(Math.Abs((Int32)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)(object)(Math.Abs((Int64)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)(object)(Math.Abs((Single)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)(object)(Math.Abs((Double)(object)value[g]));
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- if (typeof(T) == typeof(SByte))
- {
- value.register.sbyte_0 = (SByte)(Math.Abs(value.register.sbyte_0));
- value.register.sbyte_1 = (SByte)(Math.Abs(value.register.sbyte_1));
- value.register.sbyte_2 = (SByte)(Math.Abs(value.register.sbyte_2));
- value.register.sbyte_3 = (SByte)(Math.Abs(value.register.sbyte_3));
- value.register.sbyte_4 = (SByte)(Math.Abs(value.register.sbyte_4));
- value.register.sbyte_5 = (SByte)(Math.Abs(value.register.sbyte_5));
- value.register.sbyte_6 = (SByte)(Math.Abs(value.register.sbyte_6));
- value.register.sbyte_7 = (SByte)(Math.Abs(value.register.sbyte_7));
- value.register.sbyte_8 = (SByte)(Math.Abs(value.register.sbyte_8));
- value.register.sbyte_9 = (SByte)(Math.Abs(value.register.sbyte_9));
- value.register.sbyte_10 = (SByte)(Math.Abs(value.register.sbyte_10));
- value.register.sbyte_11 = (SByte)(Math.Abs(value.register.sbyte_11));
- value.register.sbyte_12 = (SByte)(Math.Abs(value.register.sbyte_12));
- value.register.sbyte_13 = (SByte)(Math.Abs(value.register.sbyte_13));
- value.register.sbyte_14 = (SByte)(Math.Abs(value.register.sbyte_14));
- value.register.sbyte_15 = (SByte)(Math.Abs(value.register.sbyte_15));
- return value;
- }
- else if (typeof(T) == typeof(Int16))
- {
- value.register.int16_0 = (Int16)(Math.Abs(value.register.int16_0));
- value.register.int16_1 = (Int16)(Math.Abs(value.register.int16_1));
- value.register.int16_2 = (Int16)(Math.Abs(value.register.int16_2));
- value.register.int16_3 = (Int16)(Math.Abs(value.register.int16_3));
- value.register.int16_4 = (Int16)(Math.Abs(value.register.int16_4));
- value.register.int16_5 = (Int16)(Math.Abs(value.register.int16_5));
- value.register.int16_6 = (Int16)(Math.Abs(value.register.int16_6));
- value.register.int16_7 = (Int16)(Math.Abs(value.register.int16_7));
- return value;
- }
- else if (typeof(T) == typeof(Int32))
- {
- value.register.int32_0 = (Int32)(Math.Abs(value.register.int32_0));
- value.register.int32_1 = (Int32)(Math.Abs(value.register.int32_1));
- value.register.int32_2 = (Int32)(Math.Abs(value.register.int32_2));
- value.register.int32_3 = (Int32)(Math.Abs(value.register.int32_3));
- return value;
- }
- else if (typeof(T) == typeof(Int64))
- {
- value.register.int64_0 = (Int64)(Math.Abs(value.register.int64_0));
- value.register.int64_1 = (Int64)(Math.Abs(value.register.int64_1));
- return value;
- }
- else if (typeof(T) == typeof(Single))
- {
- value.register.single_0 = (Single)(Math.Abs(value.register.single_0));
- value.register.single_1 = (Single)(Math.Abs(value.register.single_1));
- value.register.single_2 = (Single)(Math.Abs(value.register.single_2));
- value.register.single_3 = (Single)(Math.Abs(value.register.single_3));
- return value;
- }
- else if (typeof(T) == typeof(Double))
- {
- value.register.double_0 = (Double)(Math.Abs(value.register.double_0));
- value.register.double_1 = (Double)(Math.Abs(value.register.double_1));
- return value;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- internal static unsafe Vector<T> Min(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Byte)(object)left[g] : (Byte)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (SByte)(object)left[g] : (SByte)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (UInt16)(object)left[g] : (UInt16)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Int16)(object)left[g] : (Int16)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (UInt32)(object)left[g] : (UInt32)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Int32)(object)left[g] : (Int32)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (UInt64)(object)left[g] : (UInt64)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Int64)(object)left[g] : (Int64)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Single)(object)left[g] : (Single)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarLessThan(left[g], right[g]) ? (Double)(object)left[g] : (Double)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> vec = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- vec.register.byte_0 = left.register.byte_0 < right.register.byte_0 ? left.register.byte_0 : right.register.byte_0;
- vec.register.byte_1 = left.register.byte_1 < right.register.byte_1 ? left.register.byte_1 : right.register.byte_1;
- vec.register.byte_2 = left.register.byte_2 < right.register.byte_2 ? left.register.byte_2 : right.register.byte_2;
- vec.register.byte_3 = left.register.byte_3 < right.register.byte_3 ? left.register.byte_3 : right.register.byte_3;
- vec.register.byte_4 = left.register.byte_4 < right.register.byte_4 ? left.register.byte_4 : right.register.byte_4;
- vec.register.byte_5 = left.register.byte_5 < right.register.byte_5 ? left.register.byte_5 : right.register.byte_5;
- vec.register.byte_6 = left.register.byte_6 < right.register.byte_6 ? left.register.byte_6 : right.register.byte_6;
- vec.register.byte_7 = left.register.byte_7 < right.register.byte_7 ? left.register.byte_7 : right.register.byte_7;
- vec.register.byte_8 = left.register.byte_8 < right.register.byte_8 ? left.register.byte_8 : right.register.byte_8;
- vec.register.byte_9 = left.register.byte_9 < right.register.byte_9 ? left.register.byte_9 : right.register.byte_9;
- vec.register.byte_10 = left.register.byte_10 < right.register.byte_10 ? left.register.byte_10 : right.register.byte_10;
- vec.register.byte_11 = left.register.byte_11 < right.register.byte_11 ? left.register.byte_11 : right.register.byte_11;
- vec.register.byte_12 = left.register.byte_12 < right.register.byte_12 ? left.register.byte_12 : right.register.byte_12;
- vec.register.byte_13 = left.register.byte_13 < right.register.byte_13 ? left.register.byte_13 : right.register.byte_13;
- vec.register.byte_14 = left.register.byte_14 < right.register.byte_14 ? left.register.byte_14 : right.register.byte_14;
- vec.register.byte_15 = left.register.byte_15 < right.register.byte_15 ? left.register.byte_15 : right.register.byte_15;
- return vec;
- }
- else if (typeof(T) == typeof(SByte))
- {
- vec.register.sbyte_0 = left.register.sbyte_0 < right.register.sbyte_0 ? left.register.sbyte_0 : right.register.sbyte_0;
- vec.register.sbyte_1 = left.register.sbyte_1 < right.register.sbyte_1 ? left.register.sbyte_1 : right.register.sbyte_1;
- vec.register.sbyte_2 = left.register.sbyte_2 < right.register.sbyte_2 ? left.register.sbyte_2 : right.register.sbyte_2;
- vec.register.sbyte_3 = left.register.sbyte_3 < right.register.sbyte_3 ? left.register.sbyte_3 : right.register.sbyte_3;
- vec.register.sbyte_4 = left.register.sbyte_4 < right.register.sbyte_4 ? left.register.sbyte_4 : right.register.sbyte_4;
- vec.register.sbyte_5 = left.register.sbyte_5 < right.register.sbyte_5 ? left.register.sbyte_5 : right.register.sbyte_5;
- vec.register.sbyte_6 = left.register.sbyte_6 < right.register.sbyte_6 ? left.register.sbyte_6 : right.register.sbyte_6;
- vec.register.sbyte_7 = left.register.sbyte_7 < right.register.sbyte_7 ? left.register.sbyte_7 : right.register.sbyte_7;
- vec.register.sbyte_8 = left.register.sbyte_8 < right.register.sbyte_8 ? left.register.sbyte_8 : right.register.sbyte_8;
- vec.register.sbyte_9 = left.register.sbyte_9 < right.register.sbyte_9 ? left.register.sbyte_9 : right.register.sbyte_9;
- vec.register.sbyte_10 = left.register.sbyte_10 < right.register.sbyte_10 ? left.register.sbyte_10 : right.register.sbyte_10;
- vec.register.sbyte_11 = left.register.sbyte_11 < right.register.sbyte_11 ? left.register.sbyte_11 : right.register.sbyte_11;
- vec.register.sbyte_12 = left.register.sbyte_12 < right.register.sbyte_12 ? left.register.sbyte_12 : right.register.sbyte_12;
- vec.register.sbyte_13 = left.register.sbyte_13 < right.register.sbyte_13 ? left.register.sbyte_13 : right.register.sbyte_13;
- vec.register.sbyte_14 = left.register.sbyte_14 < right.register.sbyte_14 ? left.register.sbyte_14 : right.register.sbyte_14;
- vec.register.sbyte_15 = left.register.sbyte_15 < right.register.sbyte_15 ? left.register.sbyte_15 : right.register.sbyte_15;
- return vec;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- vec.register.uint16_0 = left.register.uint16_0 < right.register.uint16_0 ? left.register.uint16_0 : right.register.uint16_0;
- vec.register.uint16_1 = left.register.uint16_1 < right.register.uint16_1 ? left.register.uint16_1 : right.register.uint16_1;
- vec.register.uint16_2 = left.register.uint16_2 < right.register.uint16_2 ? left.register.uint16_2 : right.register.uint16_2;
- vec.register.uint16_3 = left.register.uint16_3 < right.register.uint16_3 ? left.register.uint16_3 : right.register.uint16_3;
- vec.register.uint16_4 = left.register.uint16_4 < right.register.uint16_4 ? left.register.uint16_4 : right.register.uint16_4;
- vec.register.uint16_5 = left.register.uint16_5 < right.register.uint16_5 ? left.register.uint16_5 : right.register.uint16_5;
- vec.register.uint16_6 = left.register.uint16_6 < right.register.uint16_6 ? left.register.uint16_6 : right.register.uint16_6;
- vec.register.uint16_7 = left.register.uint16_7 < right.register.uint16_7 ? left.register.uint16_7 : right.register.uint16_7;
- return vec;
- }
- else if (typeof(T) == typeof(Int16))
- {
- vec.register.int16_0 = left.register.int16_0 < right.register.int16_0 ? left.register.int16_0 : right.register.int16_0;
- vec.register.int16_1 = left.register.int16_1 < right.register.int16_1 ? left.register.int16_1 : right.register.int16_1;
- vec.register.int16_2 = left.register.int16_2 < right.register.int16_2 ? left.register.int16_2 : right.register.int16_2;
- vec.register.int16_3 = left.register.int16_3 < right.register.int16_3 ? left.register.int16_3 : right.register.int16_3;
- vec.register.int16_4 = left.register.int16_4 < right.register.int16_4 ? left.register.int16_4 : right.register.int16_4;
- vec.register.int16_5 = left.register.int16_5 < right.register.int16_5 ? left.register.int16_5 : right.register.int16_5;
- vec.register.int16_6 = left.register.int16_6 < right.register.int16_6 ? left.register.int16_6 : right.register.int16_6;
- vec.register.int16_7 = left.register.int16_7 < right.register.int16_7 ? left.register.int16_7 : right.register.int16_7;
- return vec;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- vec.register.uint32_0 = left.register.uint32_0 < right.register.uint32_0 ? left.register.uint32_0 : right.register.uint32_0;
- vec.register.uint32_1 = left.register.uint32_1 < right.register.uint32_1 ? left.register.uint32_1 : right.register.uint32_1;
- vec.register.uint32_2 = left.register.uint32_2 < right.register.uint32_2 ? left.register.uint32_2 : right.register.uint32_2;
- vec.register.uint32_3 = left.register.uint32_3 < right.register.uint32_3 ? left.register.uint32_3 : right.register.uint32_3;
- return vec;
- }
- else if (typeof(T) == typeof(Int32))
- {
- vec.register.int32_0 = left.register.int32_0 < right.register.int32_0 ? left.register.int32_0 : right.register.int32_0;
- vec.register.int32_1 = left.register.int32_1 < right.register.int32_1 ? left.register.int32_1 : right.register.int32_1;
- vec.register.int32_2 = left.register.int32_2 < right.register.int32_2 ? left.register.int32_2 : right.register.int32_2;
- vec.register.int32_3 = left.register.int32_3 < right.register.int32_3 ? left.register.int32_3 : right.register.int32_3;
- return vec;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- vec.register.uint64_0 = left.register.uint64_0 < right.register.uint64_0 ? left.register.uint64_0 : right.register.uint64_0;
- vec.register.uint64_1 = left.register.uint64_1 < right.register.uint64_1 ? left.register.uint64_1 : right.register.uint64_1;
- return vec;
- }
- else if (typeof(T) == typeof(Int64))
- {
- vec.register.int64_0 = left.register.int64_0 < right.register.int64_0 ? left.register.int64_0 : right.register.int64_0;
- vec.register.int64_1 = left.register.int64_1 < right.register.int64_1 ? left.register.int64_1 : right.register.int64_1;
- return vec;
- }
- else if (typeof(T) == typeof(Single))
- {
- vec.register.single_0 = left.register.single_0 < right.register.single_0 ? left.register.single_0 : right.register.single_0;
- vec.register.single_1 = left.register.single_1 < right.register.single_1 ? left.register.single_1 : right.register.single_1;
- vec.register.single_2 = left.register.single_2 < right.register.single_2 ? left.register.single_2 : right.register.single_2;
- vec.register.single_3 = left.register.single_3 < right.register.single_3 ? left.register.single_3 : right.register.single_3;
- return vec;
- }
- else if (typeof(T) == typeof(Double))
- {
- vec.register.double_0 = left.register.double_0 < right.register.double_0 ? left.register.double_0 : right.register.double_0;
- vec.register.double_1 = left.register.double_1 < right.register.double_1 ? left.register.double_1 : right.register.double_1;
- return vec;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- internal static unsafe Vector<T> Max(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Byte)(object)left[g] : (Byte)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (SByte)(object)left[g] : (SByte)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (UInt16)(object)left[g] : (UInt16)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Int16)(object)left[g] : (Int16)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (UInt32)(object)left[g] : (UInt32)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Int32)(object)left[g] : (Int32)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (UInt64)(object)left[g] : (UInt64)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Int64)(object)left[g] : (Int64)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Single)(object)left[g] : (Single)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = ScalarGreaterThan(left[g], right[g]) ? (Double)(object)left[g] : (Double)(object)right[g];
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- Vector<T> vec = new Vector<T>();
- if (typeof(T) == typeof(Byte))
- {
- vec.register.byte_0 = left.register.byte_0 > right.register.byte_0 ? left.register.byte_0 : right.register.byte_0;
- vec.register.byte_1 = left.register.byte_1 > right.register.byte_1 ? left.register.byte_1 : right.register.byte_1;
- vec.register.byte_2 = left.register.byte_2 > right.register.byte_2 ? left.register.byte_2 : right.register.byte_2;
- vec.register.byte_3 = left.register.byte_3 > right.register.byte_3 ? left.register.byte_3 : right.register.byte_3;
- vec.register.byte_4 = left.register.byte_4 > right.register.byte_4 ? left.register.byte_4 : right.register.byte_4;
- vec.register.byte_5 = left.register.byte_5 > right.register.byte_5 ? left.register.byte_5 : right.register.byte_5;
- vec.register.byte_6 = left.register.byte_6 > right.register.byte_6 ? left.register.byte_6 : right.register.byte_6;
- vec.register.byte_7 = left.register.byte_7 > right.register.byte_7 ? left.register.byte_7 : right.register.byte_7;
- vec.register.byte_8 = left.register.byte_8 > right.register.byte_8 ? left.register.byte_8 : right.register.byte_8;
- vec.register.byte_9 = left.register.byte_9 > right.register.byte_9 ? left.register.byte_9 : right.register.byte_9;
- vec.register.byte_10 = left.register.byte_10 > right.register.byte_10 ? left.register.byte_10 : right.register.byte_10;
- vec.register.byte_11 = left.register.byte_11 > right.register.byte_11 ? left.register.byte_11 : right.register.byte_11;
- vec.register.byte_12 = left.register.byte_12 > right.register.byte_12 ? left.register.byte_12 : right.register.byte_12;
- vec.register.byte_13 = left.register.byte_13 > right.register.byte_13 ? left.register.byte_13 : right.register.byte_13;
- vec.register.byte_14 = left.register.byte_14 > right.register.byte_14 ? left.register.byte_14 : right.register.byte_14;
- vec.register.byte_15 = left.register.byte_15 > right.register.byte_15 ? left.register.byte_15 : right.register.byte_15;
- return vec;
- }
- else if (typeof(T) == typeof(SByte))
- {
- vec.register.sbyte_0 = left.register.sbyte_0 > right.register.sbyte_0 ? left.register.sbyte_0 : right.register.sbyte_0;
- vec.register.sbyte_1 = left.register.sbyte_1 > right.register.sbyte_1 ? left.register.sbyte_1 : right.register.sbyte_1;
- vec.register.sbyte_2 = left.register.sbyte_2 > right.register.sbyte_2 ? left.register.sbyte_2 : right.register.sbyte_2;
- vec.register.sbyte_3 = left.register.sbyte_3 > right.register.sbyte_3 ? left.register.sbyte_3 : right.register.sbyte_3;
- vec.register.sbyte_4 = left.register.sbyte_4 > right.register.sbyte_4 ? left.register.sbyte_4 : right.register.sbyte_4;
- vec.register.sbyte_5 = left.register.sbyte_5 > right.register.sbyte_5 ? left.register.sbyte_5 : right.register.sbyte_5;
- vec.register.sbyte_6 = left.register.sbyte_6 > right.register.sbyte_6 ? left.register.sbyte_6 : right.register.sbyte_6;
- vec.register.sbyte_7 = left.register.sbyte_7 > right.register.sbyte_7 ? left.register.sbyte_7 : right.register.sbyte_7;
- vec.register.sbyte_8 = left.register.sbyte_8 > right.register.sbyte_8 ? left.register.sbyte_8 : right.register.sbyte_8;
- vec.register.sbyte_9 = left.register.sbyte_9 > right.register.sbyte_9 ? left.register.sbyte_9 : right.register.sbyte_9;
- vec.register.sbyte_10 = left.register.sbyte_10 > right.register.sbyte_10 ? left.register.sbyte_10 : right.register.sbyte_10;
- vec.register.sbyte_11 = left.register.sbyte_11 > right.register.sbyte_11 ? left.register.sbyte_11 : right.register.sbyte_11;
- vec.register.sbyte_12 = left.register.sbyte_12 > right.register.sbyte_12 ? left.register.sbyte_12 : right.register.sbyte_12;
- vec.register.sbyte_13 = left.register.sbyte_13 > right.register.sbyte_13 ? left.register.sbyte_13 : right.register.sbyte_13;
- vec.register.sbyte_14 = left.register.sbyte_14 > right.register.sbyte_14 ? left.register.sbyte_14 : right.register.sbyte_14;
- vec.register.sbyte_15 = left.register.sbyte_15 > right.register.sbyte_15 ? left.register.sbyte_15 : right.register.sbyte_15;
- return vec;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- vec.register.uint16_0 = left.register.uint16_0 > right.register.uint16_0 ? left.register.uint16_0 : right.register.uint16_0;
- vec.register.uint16_1 = left.register.uint16_1 > right.register.uint16_1 ? left.register.uint16_1 : right.register.uint16_1;
- vec.register.uint16_2 = left.register.uint16_2 > right.register.uint16_2 ? left.register.uint16_2 : right.register.uint16_2;
- vec.register.uint16_3 = left.register.uint16_3 > right.register.uint16_3 ? left.register.uint16_3 : right.register.uint16_3;
- vec.register.uint16_4 = left.register.uint16_4 > right.register.uint16_4 ? left.register.uint16_4 : right.register.uint16_4;
- vec.register.uint16_5 = left.register.uint16_5 > right.register.uint16_5 ? left.register.uint16_5 : right.register.uint16_5;
- vec.register.uint16_6 = left.register.uint16_6 > right.register.uint16_6 ? left.register.uint16_6 : right.register.uint16_6;
- vec.register.uint16_7 = left.register.uint16_7 > right.register.uint16_7 ? left.register.uint16_7 : right.register.uint16_7;
- return vec;
- }
- else if (typeof(T) == typeof(Int16))
- {
- vec.register.int16_0 = left.register.int16_0 > right.register.int16_0 ? left.register.int16_0 : right.register.int16_0;
- vec.register.int16_1 = left.register.int16_1 > right.register.int16_1 ? left.register.int16_1 : right.register.int16_1;
- vec.register.int16_2 = left.register.int16_2 > right.register.int16_2 ? left.register.int16_2 : right.register.int16_2;
- vec.register.int16_3 = left.register.int16_3 > right.register.int16_3 ? left.register.int16_3 : right.register.int16_3;
- vec.register.int16_4 = left.register.int16_4 > right.register.int16_4 ? left.register.int16_4 : right.register.int16_4;
- vec.register.int16_5 = left.register.int16_5 > right.register.int16_5 ? left.register.int16_5 : right.register.int16_5;
- vec.register.int16_6 = left.register.int16_6 > right.register.int16_6 ? left.register.int16_6 : right.register.int16_6;
- vec.register.int16_7 = left.register.int16_7 > right.register.int16_7 ? left.register.int16_7 : right.register.int16_7;
- return vec;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- vec.register.uint32_0 = left.register.uint32_0 > right.register.uint32_0 ? left.register.uint32_0 : right.register.uint32_0;
- vec.register.uint32_1 = left.register.uint32_1 > right.register.uint32_1 ? left.register.uint32_1 : right.register.uint32_1;
- vec.register.uint32_2 = left.register.uint32_2 > right.register.uint32_2 ? left.register.uint32_2 : right.register.uint32_2;
- vec.register.uint32_3 = left.register.uint32_3 > right.register.uint32_3 ? left.register.uint32_3 : right.register.uint32_3;
- return vec;
- }
- else if (typeof(T) == typeof(Int32))
- {
- vec.register.int32_0 = left.register.int32_0 > right.register.int32_0 ? left.register.int32_0 : right.register.int32_0;
- vec.register.int32_1 = left.register.int32_1 > right.register.int32_1 ? left.register.int32_1 : right.register.int32_1;
- vec.register.int32_2 = left.register.int32_2 > right.register.int32_2 ? left.register.int32_2 : right.register.int32_2;
- vec.register.int32_3 = left.register.int32_3 > right.register.int32_3 ? left.register.int32_3 : right.register.int32_3;
- return vec;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- vec.register.uint64_0 = left.register.uint64_0 > right.register.uint64_0 ? left.register.uint64_0 : right.register.uint64_0;
- vec.register.uint64_1 = left.register.uint64_1 > right.register.uint64_1 ? left.register.uint64_1 : right.register.uint64_1;
- return vec;
- }
- else if (typeof(T) == typeof(Int64))
- {
- vec.register.int64_0 = left.register.int64_0 > right.register.int64_0 ? left.register.int64_0 : right.register.int64_0;
- vec.register.int64_1 = left.register.int64_1 > right.register.int64_1 ? left.register.int64_1 : right.register.int64_1;
- return vec;
- }
- else if (typeof(T) == typeof(Single))
- {
- vec.register.single_0 = left.register.single_0 > right.register.single_0 ? left.register.single_0 : right.register.single_0;
- vec.register.single_1 = left.register.single_1 > right.register.single_1 ? left.register.single_1 : right.register.single_1;
- vec.register.single_2 = left.register.single_2 > right.register.single_2 ? left.register.single_2 : right.register.single_2;
- vec.register.single_3 = left.register.single_3 > right.register.single_3 ? left.register.single_3 : right.register.single_3;
- return vec;
- }
- else if (typeof(T) == typeof(Double))
- {
- vec.register.double_0 = left.register.double_0 > right.register.double_0 ? left.register.double_0 : right.register.double_0;
- vec.register.double_1 = left.register.double_1 > right.register.double_1 ? left.register.double_1 : right.register.double_1;
- return vec;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- internal static T DotProduct(Vector<T> left, Vector<T> right)
- {
- if (Vector.IsHardwareAccelerated)
- {
- T product = GetZeroValue();
- for (int g = 0; g < Count; g++)
- {
- product = ScalarAdd(product, ScalarMultiply(left[g], right[g]));
- }
- return product;
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte product = 0;
- product += (Byte)(left.register.byte_0 * right.register.byte_0);
- product += (Byte)(left.register.byte_1 * right.register.byte_1);
- product += (Byte)(left.register.byte_2 * right.register.byte_2);
- product += (Byte)(left.register.byte_3 * right.register.byte_3);
- product += (Byte)(left.register.byte_4 * right.register.byte_4);
- product += (Byte)(left.register.byte_5 * right.register.byte_5);
- product += (Byte)(left.register.byte_6 * right.register.byte_6);
- product += (Byte)(left.register.byte_7 * right.register.byte_7);
- product += (Byte)(left.register.byte_8 * right.register.byte_8);
- product += (Byte)(left.register.byte_9 * right.register.byte_9);
- product += (Byte)(left.register.byte_10 * right.register.byte_10);
- product += (Byte)(left.register.byte_11 * right.register.byte_11);
- product += (Byte)(left.register.byte_12 * right.register.byte_12);
- product += (Byte)(left.register.byte_13 * right.register.byte_13);
- product += (Byte)(left.register.byte_14 * right.register.byte_14);
- product += (Byte)(left.register.byte_15 * right.register.byte_15);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte product = 0;
- product += (SByte)(left.register.sbyte_0 * right.register.sbyte_0);
- product += (SByte)(left.register.sbyte_1 * right.register.sbyte_1);
- product += (SByte)(left.register.sbyte_2 * right.register.sbyte_2);
- product += (SByte)(left.register.sbyte_3 * right.register.sbyte_3);
- product += (SByte)(left.register.sbyte_4 * right.register.sbyte_4);
- product += (SByte)(left.register.sbyte_5 * right.register.sbyte_5);
- product += (SByte)(left.register.sbyte_6 * right.register.sbyte_6);
- product += (SByte)(left.register.sbyte_7 * right.register.sbyte_7);
- product += (SByte)(left.register.sbyte_8 * right.register.sbyte_8);
- product += (SByte)(left.register.sbyte_9 * right.register.sbyte_9);
- product += (SByte)(left.register.sbyte_10 * right.register.sbyte_10);
- product += (SByte)(left.register.sbyte_11 * right.register.sbyte_11);
- product += (SByte)(left.register.sbyte_12 * right.register.sbyte_12);
- product += (SByte)(left.register.sbyte_13 * right.register.sbyte_13);
- product += (SByte)(left.register.sbyte_14 * right.register.sbyte_14);
- product += (SByte)(left.register.sbyte_15 * right.register.sbyte_15);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16 product = 0;
- product += (UInt16)(left.register.uint16_0 * right.register.uint16_0);
- product += (UInt16)(left.register.uint16_1 * right.register.uint16_1);
- product += (UInt16)(left.register.uint16_2 * right.register.uint16_2);
- product += (UInt16)(left.register.uint16_3 * right.register.uint16_3);
- product += (UInt16)(left.register.uint16_4 * right.register.uint16_4);
- product += (UInt16)(left.register.uint16_5 * right.register.uint16_5);
- product += (UInt16)(left.register.uint16_6 * right.register.uint16_6);
- product += (UInt16)(left.register.uint16_7 * right.register.uint16_7);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16 product = 0;
- product += (Int16)(left.register.int16_0 * right.register.int16_0);
- product += (Int16)(left.register.int16_1 * right.register.int16_1);
- product += (Int16)(left.register.int16_2 * right.register.int16_2);
- product += (Int16)(left.register.int16_3 * right.register.int16_3);
- product += (Int16)(left.register.int16_4 * right.register.int16_4);
- product += (Int16)(left.register.int16_5 * right.register.int16_5);
- product += (Int16)(left.register.int16_6 * right.register.int16_6);
- product += (Int16)(left.register.int16_7 * right.register.int16_7);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32 product = 0;
- product += (UInt32)(left.register.uint32_0 * right.register.uint32_0);
- product += (UInt32)(left.register.uint32_1 * right.register.uint32_1);
- product += (UInt32)(left.register.uint32_2 * right.register.uint32_2);
- product += (UInt32)(left.register.uint32_3 * right.register.uint32_3);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32 product = 0;
- product += (Int32)(left.register.int32_0 * right.register.int32_0);
- product += (Int32)(left.register.int32_1 * right.register.int32_1);
- product += (Int32)(left.register.int32_2 * right.register.int32_2);
- product += (Int32)(left.register.int32_3 * right.register.int32_3);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64 product = 0;
- product += (UInt64)(left.register.uint64_0 * right.register.uint64_0);
- product += (UInt64)(left.register.uint64_1 * right.register.uint64_1);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64 product = 0;
- product += (Int64)(left.register.int64_0 * right.register.int64_0);
- product += (Int64)(left.register.int64_1 * right.register.int64_1);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(Single))
- {
- Single product = 0;
- product += (Single)(left.register.single_0 * right.register.single_0);
- product += (Single)(left.register.single_1 * right.register.single_1);
- product += (Single)(left.register.single_2 * right.register.single_2);
- product += (Single)(left.register.single_3 * right.register.single_3);
- return (T)(object)product;
- }
- else if (typeof(T) == typeof(Double))
- {
- Double product = 0;
- product += (Double)(left.register.double_0 * right.register.double_0);
- product += (Double)(left.register.double_1 * right.register.double_1);
- return (T)(object)product;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
-
- [JitIntrinsic]
- internal static unsafe Vector<T> SquareRoot(Vector<T> value)
- {
- if (Vector.IsHardwareAccelerated)
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte* dataPtr = stackalloc Byte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Byte)Math.Sqrt((Byte)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte* dataPtr = stackalloc SByte[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (SByte)Math.Sqrt((SByte)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16* dataPtr = stackalloc UInt16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt16)Math.Sqrt((UInt16)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16* dataPtr = stackalloc Int16[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int16)Math.Sqrt((Int16)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32* dataPtr = stackalloc UInt32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt32)Math.Sqrt((UInt32)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32* dataPtr = stackalloc Int32[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int32)Math.Sqrt((Int32)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64* dataPtr = stackalloc UInt64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (UInt64)Math.Sqrt((UInt64)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64* dataPtr = stackalloc Int64[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Int64)Math.Sqrt((Int64)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Single))
- {
- Single* dataPtr = stackalloc Single[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Single)Math.Sqrt((Single)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else if (typeof(T) == typeof(Double))
- {
- Double* dataPtr = stackalloc Double[Count];
- for (int g = 0; g < Count; g++)
- {
- dataPtr[g] = (Double)Math.Sqrt((Double)(object)value[g]);
- }
- return new Vector<T>(dataPtr);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- else
- {
- if (typeof(T) == typeof(Byte))
- {
- value.register.byte_0 = (Byte)Math.Sqrt(value.register.byte_0);
- value.register.byte_1 = (Byte)Math.Sqrt(value.register.byte_1);
- value.register.byte_2 = (Byte)Math.Sqrt(value.register.byte_2);
- value.register.byte_3 = (Byte)Math.Sqrt(value.register.byte_3);
- value.register.byte_4 = (Byte)Math.Sqrt(value.register.byte_4);
- value.register.byte_5 = (Byte)Math.Sqrt(value.register.byte_5);
- value.register.byte_6 = (Byte)Math.Sqrt(value.register.byte_6);
- value.register.byte_7 = (Byte)Math.Sqrt(value.register.byte_7);
- value.register.byte_8 = (Byte)Math.Sqrt(value.register.byte_8);
- value.register.byte_9 = (Byte)Math.Sqrt(value.register.byte_9);
- value.register.byte_10 = (Byte)Math.Sqrt(value.register.byte_10);
- value.register.byte_11 = (Byte)Math.Sqrt(value.register.byte_11);
- value.register.byte_12 = (Byte)Math.Sqrt(value.register.byte_12);
- value.register.byte_13 = (Byte)Math.Sqrt(value.register.byte_13);
- value.register.byte_14 = (Byte)Math.Sqrt(value.register.byte_14);
- value.register.byte_15 = (Byte)Math.Sqrt(value.register.byte_15);
- return value;
- }
- else if (typeof(T) == typeof(SByte))
- {
- value.register.sbyte_0 = (SByte)Math.Sqrt(value.register.sbyte_0);
- value.register.sbyte_1 = (SByte)Math.Sqrt(value.register.sbyte_1);
- value.register.sbyte_2 = (SByte)Math.Sqrt(value.register.sbyte_2);
- value.register.sbyte_3 = (SByte)Math.Sqrt(value.register.sbyte_3);
- value.register.sbyte_4 = (SByte)Math.Sqrt(value.register.sbyte_4);
- value.register.sbyte_5 = (SByte)Math.Sqrt(value.register.sbyte_5);
- value.register.sbyte_6 = (SByte)Math.Sqrt(value.register.sbyte_6);
- value.register.sbyte_7 = (SByte)Math.Sqrt(value.register.sbyte_7);
- value.register.sbyte_8 = (SByte)Math.Sqrt(value.register.sbyte_8);
- value.register.sbyte_9 = (SByte)Math.Sqrt(value.register.sbyte_9);
- value.register.sbyte_10 = (SByte)Math.Sqrt(value.register.sbyte_10);
- value.register.sbyte_11 = (SByte)Math.Sqrt(value.register.sbyte_11);
- value.register.sbyte_12 = (SByte)Math.Sqrt(value.register.sbyte_12);
- value.register.sbyte_13 = (SByte)Math.Sqrt(value.register.sbyte_13);
- value.register.sbyte_14 = (SByte)Math.Sqrt(value.register.sbyte_14);
- value.register.sbyte_15 = (SByte)Math.Sqrt(value.register.sbyte_15);
- return value;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- value.register.uint16_0 = (UInt16)Math.Sqrt(value.register.uint16_0);
- value.register.uint16_1 = (UInt16)Math.Sqrt(value.register.uint16_1);
- value.register.uint16_2 = (UInt16)Math.Sqrt(value.register.uint16_2);
- value.register.uint16_3 = (UInt16)Math.Sqrt(value.register.uint16_3);
- value.register.uint16_4 = (UInt16)Math.Sqrt(value.register.uint16_4);
- value.register.uint16_5 = (UInt16)Math.Sqrt(value.register.uint16_5);
- value.register.uint16_6 = (UInt16)Math.Sqrt(value.register.uint16_6);
- value.register.uint16_7 = (UInt16)Math.Sqrt(value.register.uint16_7);
- return value;
- }
- else if (typeof(T) == typeof(Int16))
- {
- value.register.int16_0 = (Int16)Math.Sqrt(value.register.int16_0);
- value.register.int16_1 = (Int16)Math.Sqrt(value.register.int16_1);
- value.register.int16_2 = (Int16)Math.Sqrt(value.register.int16_2);
- value.register.int16_3 = (Int16)Math.Sqrt(value.register.int16_3);
- value.register.int16_4 = (Int16)Math.Sqrt(value.register.int16_4);
- value.register.int16_5 = (Int16)Math.Sqrt(value.register.int16_5);
- value.register.int16_6 = (Int16)Math.Sqrt(value.register.int16_6);
- value.register.int16_7 = (Int16)Math.Sqrt(value.register.int16_7);
- return value;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- value.register.uint32_0 = (UInt32)Math.Sqrt(value.register.uint32_0);
- value.register.uint32_1 = (UInt32)Math.Sqrt(value.register.uint32_1);
- value.register.uint32_2 = (UInt32)Math.Sqrt(value.register.uint32_2);
- value.register.uint32_3 = (UInt32)Math.Sqrt(value.register.uint32_3);
- return value;
- }
- else if (typeof(T) == typeof(Int32))
- {
- value.register.int32_0 = (Int32)Math.Sqrt(value.register.int32_0);
- value.register.int32_1 = (Int32)Math.Sqrt(value.register.int32_1);
- value.register.int32_2 = (Int32)Math.Sqrt(value.register.int32_2);
- value.register.int32_3 = (Int32)Math.Sqrt(value.register.int32_3);
- return value;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- value.register.uint64_0 = (UInt64)Math.Sqrt(value.register.uint64_0);
- value.register.uint64_1 = (UInt64)Math.Sqrt(value.register.uint64_1);
- return value;
- }
- else if (typeof(T) == typeof(Int64))
- {
- value.register.int64_0 = (Int64)Math.Sqrt(value.register.int64_0);
- value.register.int64_1 = (Int64)Math.Sqrt(value.register.int64_1);
- return value;
- }
- else if (typeof(T) == typeof(Single))
- {
- value.register.single_0 = (Single)Math.Sqrt(value.register.single_0);
- value.register.single_1 = (Single)Math.Sqrt(value.register.single_1);
- value.register.single_2 = (Single)Math.Sqrt(value.register.single_2);
- value.register.single_3 = (Single)Math.Sqrt(value.register.single_3);
- return value;
- }
- else if (typeof(T) == typeof(Double))
- {
- value.register.double_0 = (Double)Math.Sqrt(value.register.double_0);
- value.register.double_1 = (Double)Math.Sqrt(value.register.double_1);
- return value;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- }
- #endregion Internal Math Methods
-
- #region Helper Methods
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static bool ScalarEquals(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (Byte)(object)left == (Byte)(object)right;
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (SByte)(object)left == (SByte)(object)right;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (UInt16)(object)left == (UInt16)(object)right;
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (Int16)(object)left == (Int16)(object)right;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (UInt32)(object)left == (UInt32)(object)right;
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (Int32)(object)left == (Int32)(object)right;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (UInt64)(object)left == (UInt64)(object)right;
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (Int64)(object)left == (Int64)(object)right;
- }
- else if (typeof(T) == typeof(Single))
- {
- return (Single)(object)left == (Single)(object)right;
- }
- else if (typeof(T) == typeof(Double))
- {
- return (Double)(object)left == (Double)(object)right;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static bool ScalarLessThan(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (Byte)(object)left < (Byte)(object)right;
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (SByte)(object)left < (SByte)(object)right;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (UInt16)(object)left < (UInt16)(object)right;
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (Int16)(object)left < (Int16)(object)right;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (UInt32)(object)left < (UInt32)(object)right;
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (Int32)(object)left < (Int32)(object)right;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (UInt64)(object)left < (UInt64)(object)right;
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (Int64)(object)left < (Int64)(object)right;
- }
- else if (typeof(T) == typeof(Single))
- {
- return (Single)(object)left < (Single)(object)right;
- }
- else if (typeof(T) == typeof(Double))
- {
- return (Double)(object)left < (Double)(object)right;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static bool ScalarGreaterThan(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (Byte)(object)left > (Byte)(object)right;
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (SByte)(object)left > (SByte)(object)right;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (UInt16)(object)left > (UInt16)(object)right;
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (Int16)(object)left > (Int16)(object)right;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (UInt32)(object)left > (UInt32)(object)right;
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (Int32)(object)left > (Int32)(object)right;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (UInt64)(object)left > (UInt64)(object)right;
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (Int64)(object)left > (Int64)(object)right;
- }
- else if (typeof(T) == typeof(Single))
- {
- return (Single)(object)left > (Single)(object)right;
- }
- else if (typeof(T) == typeof(Double))
- {
- return (Double)(object)left > (Double)(object)right;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T ScalarAdd(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (T)(object)(Byte)((Byte)(object)left + (Byte)(object)right);
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (T)(object)(SByte)((SByte)(object)left + (SByte)(object)right);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (T)(object)(UInt16)((UInt16)(object)left + (UInt16)(object)right);
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (T)(object)(Int16)((Int16)(object)left + (Int16)(object)right);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (T)(object)(UInt32)((UInt32)(object)left + (UInt32)(object)right);
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (T)(object)(Int32)((Int32)(object)left + (Int32)(object)right);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (T)(object)(UInt64)((UInt64)(object)left + (UInt64)(object)right);
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (T)(object)(Int64)((Int64)(object)left + (Int64)(object)right);
- }
- else if (typeof(T) == typeof(Single))
- {
- return (T)(object)(Single)((Single)(object)left + (Single)(object)right);
- }
- else if (typeof(T) == typeof(Double))
- {
- return (T)(object)(Double)((Double)(object)left + (Double)(object)right);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T ScalarSubtract(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (T)(object)(Byte)((Byte)(object)left - (Byte)(object)right);
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (T)(object)(SByte)((SByte)(object)left - (SByte)(object)right);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (T)(object)(UInt16)((UInt16)(object)left - (UInt16)(object)right);
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (T)(object)(Int16)((Int16)(object)left - (Int16)(object)right);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (T)(object)(UInt32)((UInt32)(object)left - (UInt32)(object)right);
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (T)(object)(Int32)((Int32)(object)left - (Int32)(object)right);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (T)(object)(UInt64)((UInt64)(object)left - (UInt64)(object)right);
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (T)(object)(Int64)((Int64)(object)left - (Int64)(object)right);
- }
- else if (typeof(T) == typeof(Single))
- {
- return (T)(object)(Single)((Single)(object)left - (Single)(object)right);
- }
- else if (typeof(T) == typeof(Double))
- {
- return (T)(object)(Double)((Double)(object)left - (Double)(object)right);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T ScalarMultiply(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (T)(object)(Byte)((Byte)(object)left * (Byte)(object)right);
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (T)(object)(SByte)((SByte)(object)left * (SByte)(object)right);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (T)(object)(UInt16)((UInt16)(object)left * (UInt16)(object)right);
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (T)(object)(Int16)((Int16)(object)left * (Int16)(object)right);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (T)(object)(UInt32)((UInt32)(object)left * (UInt32)(object)right);
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (T)(object)(Int32)((Int32)(object)left * (Int32)(object)right);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (T)(object)(UInt64)((UInt64)(object)left * (UInt64)(object)right);
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (T)(object)(Int64)((Int64)(object)left * (Int64)(object)right);
- }
- else if (typeof(T) == typeof(Single))
- {
- return (T)(object)(Single)((Single)(object)left * (Single)(object)right);
- }
- else if (typeof(T) == typeof(Double))
- {
- return (T)(object)(Double)((Double)(object)left * (Double)(object)right);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T ScalarDivide(T left, T right)
- {
- if (typeof(T) == typeof(Byte))
- {
- return (T)(object)(Byte)((Byte)(object)left / (Byte)(object)right);
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (T)(object)(SByte)((SByte)(object)left / (SByte)(object)right);
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (T)(object)(UInt16)((UInt16)(object)left / (UInt16)(object)right);
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (T)(object)(Int16)((Int16)(object)left / (Int16)(object)right);
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (T)(object)(UInt32)((UInt32)(object)left / (UInt32)(object)right);
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (T)(object)(Int32)((Int32)(object)left / (Int32)(object)right);
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (T)(object)(UInt64)((UInt64)(object)left / (UInt64)(object)right);
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (T)(object)(Int64)((Int64)(object)left / (Int64)(object)right);
- }
- else if (typeof(T) == typeof(Single))
- {
- return (T)(object)(Single)((Single)(object)left / (Single)(object)right);
- }
- else if (typeof(T) == typeof(Double))
- {
- return (T)(object)(Double)((Double)(object)left / (Double)(object)right);
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T GetZeroValue()
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64 value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Single))
- {
- Single value = 0;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Double))
- {
- Double value = 0;
- return (T)(object)value;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T GetOneValue()
- {
- if (typeof(T) == typeof(Byte))
- {
- Byte value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(SByte))
- {
- SByte value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt16))
- {
- UInt16 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int16))
- {
- Int16 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt32))
- {
- UInt32 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int32))
- {
- Int32 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(UInt64))
- {
- UInt64 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Int64))
- {
- Int64 value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Single))
- {
- Single value = 1;
- return (T)(object)value;
- }
- else if (typeof(T) == typeof(Double))
- {
- Double value = 1;
- return (T)(object)value;
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
-
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- private static T GetAllBitsSetValue()
- {
- if (typeof(T) == typeof(Byte))
- {
- return (T)(object)ConstantHelper.GetByteWithAllBitsSet();
- }
- else if (typeof(T) == typeof(SByte))
- {
- return (T)(object)ConstantHelper.GetSByteWithAllBitsSet();
- }
- else if (typeof(T) == typeof(UInt16))
- {
- return (T)(object)ConstantHelper.GetUInt16WithAllBitsSet();
- }
- else if (typeof(T) == typeof(Int16))
- {
- return (T)(object)ConstantHelper.GetInt16WithAllBitsSet();
- }
- else if (typeof(T) == typeof(UInt32))
- {
- return (T)(object)ConstantHelper.GetUInt32WithAllBitsSet();
- }
- else if (typeof(T) == typeof(Int32))
- {
- return (T)(object)ConstantHelper.GetInt32WithAllBitsSet();
- }
- else if (typeof(T) == typeof(UInt64))
- {
- return (T)(object)ConstantHelper.GetUInt64WithAllBitsSet();
- }
- else if (typeof(T) == typeof(Int64))
- {
- return (T)(object)ConstantHelper.GetInt64WithAllBitsSet();
- }
- else if (typeof(T) == typeof(Single))
- {
- return (T)(object)ConstantHelper.GetSingleWithAllBitsSet();
- }
- else if (typeof(T) == typeof(Double))
- {
- return (T)(object)ConstantHelper.GetDoubleWithAllBitsSet();
- }
- else
- {
- throw new NotSupportedException(SR.Arg_TypeNotSupported);
- }
- }
- #endregion
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics/Vector_Operations.cs b/mcs/class/System.Numerics.Vectors/System.Numerics/Vector_Operations.cs
deleted file mode 100644
index 83a5ad38cab..00000000000
--- a/mcs/class/System.Numerics.Vectors/System.Numerics/Vector_Operations.cs
+++ /dev/null
@@ -1,865 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Runtime.CompilerServices;
-
-namespace System.Numerics
-{
- /// <summary>
- /// Contains various methods useful for creating, manipulating, combining, and converting generic vectors with one another.
- /// </summary>
- public static class Vector
- {
- // JIT is not looking at the Vector class methods
- // all methods here should be inlined and they must be implemented in terms of Vector<T> intrinsics
- #region Select Methods
- /// <summary>
- /// Creates a new vector with elements selected between the two given source vectors, and based on a mask vector.
- /// </summary>
- /// <param name="condition">The integral mask vector used to drive selection.</param>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The new vector with elements selected based on the mask.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Single> ConditionalSelect(Vector<int> condition, Vector<Single> left, Vector<Single> right)
- {
- return (Vector<Single>)Vector<Single>.ConditionalSelect((Vector<Single>)condition, left, right);
- }
-
- /// <summary>
- /// Creates a new vector with elements selected between the two given source vectors, and based on a mask vector.
- /// </summary>
- /// <param name="condition">The integral mask vector used to drive selection.</param>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The new vector with elements selected based on the mask.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<double> ConditionalSelect(Vector<long> condition, Vector<double> left, Vector<double> right)
- {
- return (Vector<double>)Vector<double>.ConditionalSelect((Vector<double>)condition, left, right);
- }
-
- /// <summary>
- /// Creates a new vector with elements selected between the two given source vectors, and based on a mask vector.
- /// </summary>
- /// <param name="condition">The mask vector used to drive selection.</param>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The new vector with elements selected based on the mask.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> ConditionalSelect<T>(Vector<T> condition, Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.ConditionalSelect(condition, left, right);
- }
- #endregion Select Methods
-
- #region Comparison methods
- #region Equals methods
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left and right were equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Equals<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.Equals(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether elements in the left and right floating point vectors were equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> Equals(Vector<Single> left, Vector<Single> right)
- {
- return (Vector<int>)Vector<Single>.Equals(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left and right were equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> Equals(Vector<int> left, Vector<int> right)
- {
- return Vector<int>.Equals(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether elements in the left and right floating point vectors were equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> Equals(Vector<double> left, Vector<double> right)
- {
- return (Vector<long>)Vector<double>.Equals(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left and right were equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> Equals(Vector<long> left, Vector<long> right)
- {
- return Vector<long>.Equals(left, right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether each pair of elements in the given vectors are equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The first vector to compare.</param>
- /// <returns>True if all elements are equal; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool EqualsAll<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left == right;
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any single pair of elements in the given vectors are equal.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any element pairs are equal; False if no element pairs are equal.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool EqualsAny<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return !Vector<T>.Equals(left, right).Equals(Vector<T>.Zero);
- }
- #endregion Equals methods
-
- #region Lessthan Methods
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> LessThan<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.LessThan(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were less than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> LessThan(Vector<Single> left, Vector<Single> right)
- {
- return (Vector<int>)Vector<Single>.LessThan(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> LessThan(Vector<int> left, Vector<int> right)
- {
- return Vector<int>.LessThan(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were less than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> LessThan(Vector<double> left, Vector<double> right)
- {
- return (Vector<long>)Vector<double>.LessThan(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> LessThan(Vector<long> left, Vector<long> right)
- {
- return Vector<long>.LessThan(left, right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether all of the elements in left are less than their corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if all elements in left are less than their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool LessThanAll<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.LessThan(left, right);
- return cond.Equals(Vector<int>.AllOnes);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any element in left is less than its corresponding element in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any elements in left are less than their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool LessThanAny<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.LessThan(left, right);
- return !cond.Equals(Vector<int>.Zero);
- }
- #endregion LessthanMethods
-
- #region Lessthanorequal methods
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> LessThanOrEqual<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.LessThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were less than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> LessThanOrEqual(Vector<Single> left, Vector<Single> right)
- {
- return (Vector<int>)Vector<Single>.LessThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> LessThanOrEqual(Vector<int> left, Vector<int> right)
- {
- return Vector<int>.LessThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were less than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> LessThanOrEqual(Vector<long> left, Vector<long> right)
- {
- return Vector<long>.LessThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were less than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> LessThanOrEqual(Vector<double> left, Vector<double> right)
- {
- return (Vector<long>)Vector<double>.LessThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether all elements in left are less than or equal to their corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if all elements in left are less than or equal to their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool LessThanOrEqualAll<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.LessThanOrEqual(left, right);
- return cond.Equals(Vector<int>.AllOnes);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any element in left is less than or equal to its corresponding element in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any elements in left are less than their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool LessThanOrEqualAny<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.LessThanOrEqual(left, right);
- return !cond.Equals(Vector<int>.Zero);
- }
- #endregion Lessthanorequal methods
-
- #region Greaterthan methods
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> GreaterThan<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.GreaterThan(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were greater than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> GreaterThan(Vector<Single> left, Vector<Single> right)
- {
- return (Vector<int>)Vector<Single>.GreaterThan(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> GreaterThan(Vector<int> left, Vector<int> right)
- {
- return Vector<int>.GreaterThan(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were greater than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> GreaterThan(Vector<double> left, Vector<double> right)
- {
- return (Vector<long>)Vector<double>.GreaterThan(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> GreaterThan(Vector<long> left, Vector<long> right)
- {
- return Vector<long>.GreaterThan(left, right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether all elements in left are greater than the corresponding elements in right.
- /// elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if all elements in left are greater than their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool GreaterThanAll<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.GreaterThan(left, right);
- return cond.Equals(Vector<int>.AllOnes);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any element in left is greater than its corresponding element in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any elements in left are greater than their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool GreaterThanAny<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.GreaterThan(left, right);
- return !cond.Equals(Vector<int>.Zero);
- }
- #endregion Greaterthan methods
-
- #region Greaterthanorequal methods
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> GreaterThanOrEqual<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.GreaterThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were greater than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> GreaterThanOrEqual(Vector<Single> left, Vector<Single> right)
- {
- return (Vector<int>)Vector<Single>.GreaterThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<int> GreaterThanOrEqual(Vector<int> left, Vector<int> right)
- {
- return Vector<int>.GreaterThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements signal whether the elements in left were greater than or equal to their
- /// corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> GreaterThanOrEqual(Vector<long> left, Vector<long> right)
- {
- return Vector<long>.GreaterThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns an integral vector whose elements signal whether the elements in left were greater than or equal to
- /// their corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>The resultant integral vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<long> GreaterThanOrEqual(Vector<double> left, Vector<double> right)
- {
- return (Vector<long>)Vector<double>.GreaterThanOrEqual(left, right);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether all of the elements in left are greater than or equal to
- /// their corresponding elements in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if all elements in left are greater than or equal to their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool GreaterThanOrEqualAll<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.GreaterThanOrEqual(left, right);
- return cond.Equals(Vector<int>.AllOnes);
- }
-
- /// <summary>
- /// Returns a boolean indicating whether any element in left is greater than or equal to its corresponding element in right.
- /// </summary>
- /// <param name="left">The first vector to compare.</param>
- /// <param name="right">The second vector to compare.</param>
- /// <returns>True if any elements in left are greater than or equal to their corresponding elements in right; False otherwise.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static bool GreaterThanOrEqualAny<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- Vector<int> cond = (Vector<int>)Vector<T>.GreaterThanOrEqual(left, right);
- return !cond.Equals(Vector<int>.Zero);
- }
- #endregion Greaterthanorequal methods
- #endregion Comparison methods
-
- #region Vector Math Methods
- // Every operation must either be a JIT intrinsic or implemented over a JIT intrinsic
- // as a thin wrapper
- // Operations implemented over a JIT intrinsic should be inlined
- // Methods that do not have a <T> type parameter are recognized as intrinsics
- /// <summary>
- /// Returns whether or not vector operations are subject to hardware acceleration through JIT intrinsic support.
- /// </summary>
- [JitIntrinsic]
- public static bool IsHardwareAccelerated
- {
- get
- {
- return false;
- }
- }
-
- // Vector<T>
- // Basic Math
- // All Math operations for Vector<T> are aggressively inlined here
-
- /// <summary>
- /// Returns a new vector whose elements are the absolute values of the given vector's elements.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The absolute value vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Abs<T>(Vector<T> value) where T : struct
- {
- return Vector<T>.Abs(value);
- }
-
- /// <summary>
- /// Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The minimum vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Min<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.Min(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The maximum vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Max<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.Max(left, right);
- }
-
- // Specialized vector operations
-
- /// <summary>
- /// Returns the dot product of two vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The dot product.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static T Dot<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return Vector<T>.DotProduct(left, right);
- }
-
- /// <summary>
- /// Returns a new vector whose elements are the square roots of the given vector's elements.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The square root vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> SquareRoot<T>(Vector<T> value) where T : struct
- {
- return Vector<T>.SquareRoot(value);
- }
- #endregion Vector Math Methods
-
- #region Named Arithmetic Operators
- /// <summary>
- /// Creates a new vector whose values are the sum of each pair of elements from the two given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The summed vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Add<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left + right;
- }
-
- /// <summary>
- /// Creates a new vector whose values are the difference between each pairs of elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The difference vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Subtract<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left - right;
- }
-
- /// <summary>
- /// Creates a new vector whose values are the product of each pair of elements from the two given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The summed vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Multiply<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left * right;
- }
-
- /// <summary>
- /// Returns a new vector whose values are the values of the given vector each multiplied by a scalar value.
- /// </summary>
- /// <param name="left">The source vector.</param>
- /// <param name="right">The scalar factor.</param>
- /// <returns>The scaled vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Multiply<T>(Vector<T> left, T right) where T : struct
- {
- return left * right;
- }
-
- /// <summary>
- /// Returns a new vector whose values are the values of the given vector each multiplied by a scalar value.
- /// </summary>
- /// <param name="left">The scalar factor.</param>
- /// <param name="right">The source vector.</param>
- /// <returns>The scaled vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Multiply<T>(T left, Vector<T> right) where T : struct
- {
- return left * right;
- }
-
- /// <summary>
- /// Returns a new vector whose values are the result of dividing the first vector's elements
- /// by the corresponding elements in the second vector.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The divided vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Divide<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left / right;
- }
-
- /// <summary>
- /// Returns a new vector whose elements are the given vector's elements negated.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The negated vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Negate<T>(Vector<T> value) where T : struct
- {
- return -value;
- }
- #endregion Named Arithmetic Operators
-
- #region Named Bitwise Operators
- /// <summary>
- /// Returns a new vector by performing a bitwise-and operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> BitwiseAnd<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left & right;
- }
-
- /// <summary>
- /// Returns a new vector by performing a bitwise-or operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> BitwiseOr<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left | right;
- }
-
- /// <summary>
- /// Returns a new vector whose elements are obtained by taking the one's complement of the given vector's elements.
- /// </summary>
- /// <param name="value">The source vector.</param>
- /// <returns>The one's complement vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> OnesComplement<T>(Vector<T> value) where T : struct
- {
- return ~value;
- }
-
- /// <summary>
- /// Returns a new vector by performing a bitwise-exclusive-or operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> Xor<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left ^ right;
- }
-
- /// <summary>
- /// Returns a new vector by performing a bitwise-and-not operation on each of the elements in the given vectors.
- /// </summary>
- /// <param name="left">The first source vector.</param>
- /// <param name="right">The second source vector.</param>
- /// <returns>The resultant vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<T> AndNot<T>(Vector<T> left, Vector<T> right) where T : struct
- {
- return left & ~right;
- }
- #endregion Named Bitwise Operators
-
- #region Conversion Methods
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of unsigned bytes.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Byte> AsVectorByte<T>(Vector<T> value) where T : struct
- {
- return (Vector<Byte>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of signed bytes.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<SByte> AsVectorSByte<T>(Vector<T> value) where T : struct
- {
- return (Vector<SByte>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of 16-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<UInt16> AsVectorUInt16<T>(Vector<T> value) where T : struct
- {
- return (Vector<UInt16>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of signed 16-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Int16> AsVectorInt16<T>(Vector<T> value) where T : struct
- {
- return (Vector<Int16>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of unsigned 32-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<UInt32> AsVectorUInt32<T>(Vector<T> value) where T : struct
- {
- return (Vector<UInt32>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of signed 32-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Int32> AsVectorInt32<T>(Vector<T> value) where T : struct
- {
- return (Vector<Int32>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of unsigned 64-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [CLSCompliant(false)]
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<UInt64> AsVectorUInt64<T>(Vector<T> value) where T : struct
- {
- return (Vector<UInt64>)value;
- }
-
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of signed 64-bit integers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Int64> AsVectorInt64<T>(Vector<T> value) where T : struct
- {
- return (Vector<Int64>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of 32-bit floating point numbers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Single> AsVectorSingle<T>(Vector<T> value) where T : struct
- {
- return (Vector<Single>)value;
- }
-
- /// <summary>
- /// Reinterprets the bits of the given vector into those of a vector of 64-bit floating point numbers.
- /// </summary>
- /// <param name="value">The source vector</param>
- /// <returns>The reinterpreted vector.</returns>
- [MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
- public static Vector<Double> AsVectorDouble<T>(Vector<T> value) where T : struct
- {
- return (Vector<Double>)value;
- }
- #endregion Conversion Methods
- }
-}
diff --git a/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.exclude.sources b/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.exclude.sources
deleted file mode 100644
index 0b188400ca0..00000000000
--- a/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.exclude.sources
+++ /dev/null
@@ -1,7 +0,0 @@
-SR.cs
-System.Numerics/ConstantHelper.cs
-System.Numerics/HashCodeHelper.cs
-System.Numerics/JitIntrinsicAttribute.cs
-System.Numerics/Register.cs
-System.Numerics/Vector_Operations.cs
-System.Numerics/Vector.cs
diff --git a/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.sources b/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.sources
deleted file mode 100644
index d4f1837d8ec..00000000000
--- a/mcs/class/System.Numerics.Vectors/net_4_x_System.Numerics.Vectors.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include System.Numerics.Vectors.dll.sources
diff --git a/mcs/class/System.Numerics/Makefile b/mcs/class/System.Numerics/Makefile
index dbdede7dd30..2b3d458da81 100644
--- a/mcs/class/System.Numerics/Makefile
+++ b/mcs/class/System.Numerics/Makefile
@@ -4,7 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Numerics.dll
LIB_REFS = System
-LIB_MCS_FLAGS = /unsafe -nowarn:414
+LIB_MCS_FLAGS = /unsafe -d:MONO
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
RESOURCE_STRINGS = ../../../external/referencesource/System.Numerics/System.Numerics.txt
diff --git a/mcs/class/System.Numerics/ReferenceSources/Environment.cs b/mcs/class/System.Numerics/ReferenceSources/Environment.cs
new file mode 100644
index 00000000000..5377cfe5bac
--- /dev/null
+++ b/mcs/class/System.Numerics/ReferenceSources/Environment.cs
@@ -0,0 +1,22 @@
+using System.Globalization;
+
+namespace System
+{
+ partial class Environment
+ {
+ internal static string GetResourceString (string key)
+ {
+ return key;
+ }
+
+ internal static string GetResourceString (string key, CultureInfo culture)
+ {
+ return key;
+ }
+
+ internal static string GetResourceString (string key, params object[] values)
+ {
+ return string.Format (CultureInfo.InvariantCulture, key, values);
+ }
+ }
+} \ No newline at end of file
diff --git a/mcs/class/System.Numerics/System.Numerics.dll.sources b/mcs/class/System.Numerics/System.Numerics.dll.sources
index 9be9e18a240..07428a80aa7 100644
--- a/mcs/class/System.Numerics/System.Numerics.dll.sources
+++ b/mcs/class/System.Numerics/System.Numerics.dll.sources
@@ -1,22 +1,10 @@
../../build/common/Consts.cs
../../build/common/SR.cs
Assembly/AssemblyInfo.cs
+ReferenceSources/Environment.cs
ReferenceSources/SR.cs
../../../external/referencesource/System.Numerics/System/Numerics/BigInteger.cs
../../../external/referencesource/System.Numerics/System/Numerics/BigIntegerBuilder.cs
../../../external/referencesource/System.Numerics/System/Numerics/BigNumber.cs
../../../external/referencesource/System.Numerics/System/Numerics/Complex.cs
../../../external/referencesource/System.Numerics/System/Numerics/NumericsHelpers.cs
-../../../external/referencesource/System.Numerics/System/Numerics/HashCodeHelper.cs
-../../../external/referencesource/System.Numerics/System/Numerics/JITIntrinsicAttribute.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Matrix3x2.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Matrix4x4.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Plane.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Quaternion.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector2.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector2_Intrinsics.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector3.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector3_Intrinsics.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector4.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector4_Intrinsics.cs
-../../../external/referencesource/System.Numerics/System/Numerics/Vector_Operations.cs
diff --git a/mcs/class/System.Reflection.Context/Assembly/AssemblyInfo.cs b/mcs/class/System.Reflection.Context/Assembly/AssemblyInfo.cs
deleted file mode 100644
index 67d49125ac9..00000000000
--- a/mcs/class/System.Reflection.Context/Assembly/AssemblyInfo.cs
+++ /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.Context.dll")]
-[assembly: AssemblyDescription ("System.Reflection.Context.dll")]
-[assembly: AssemblyDefaultAlias ("System.Reflection.Context.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.Context/Makefile b/mcs/class/System.Reflection.Context/Makefile
deleted file mode 100644
index 73bee9e345e..00000000000
--- a/mcs/class/System.Reflection.Context/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-thisdir = class/System.Reflection.Context
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = System.Reflection.Context.dll
-LIB_REFS = System
-LIB_MCS_FLAGS =
-
-NO_TEST = yes
-
-include ../../build/library.make
diff --git a/mcs/class/System.Reflection.Context/System.Reflection.Context.dll.sources b/mcs/class/System.Reflection.Context/System.Reflection.Context.dll.sources
deleted file mode 100644
index 18206897d54..00000000000
--- a/mcs/class/System.Reflection.Context/System.Reflection.Context.dll.sources
+++ /dev/null
@@ -1,5 +0,0 @@
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-System.Reflection.Context/CustomReflectionContext.cs
diff --git a/mcs/class/System.Reflection.Context/System.Reflection.Context/CustomReflectionContext.cs b/mcs/class/System.Reflection.Context/System.Reflection.Context/CustomReflectionContext.cs
deleted file mode 100644
index 28a6e62f443..00000000000
--- a/mcs/class/System.Reflection.Context/System.Reflection.Context/CustomReflectionContext.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// CustomReflectionContext.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.Collections.Generic;
-using System.Reflection;
-
-namespace System.Reflection.Context
-{
- public abstract class CustomReflectionContext : ReflectionContext
- {
- [MonoTODO]
- protected CustomReflectionContext ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected CustomReflectionContext (ReflectionContext source)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected virtual IEnumerable<PropertyInfo> AddProperties (Type type)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected PropertyInfo CreateProperty (Type propertyType, string name, Func<object, object> getter, Action<object, object> setter)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected PropertyInfo CreateProperty (Type propertyType, string name, Func<object, object> getter, Action<object, object> setter, IEnumerable<Attribute> propertyCustomAttributes, IEnumerable<Attribute> getterCustomAttributes, IEnumerable<Attribute> setterCustomAttributes)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected virtual IEnumerable<object> GetCustomAttributes (MemberInfo member, IEnumerable<object> declaredAttributes)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected virtual IEnumerable<object> GetCustomAttributes (ParameterInfo parameter, IEnumerable<object> declaredAttributes)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override Assembly MapAssembly (Assembly assembly)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override TypeInfo MapType (TypeInfo type)
- {
- throw new NotImplementedException ();
- }
- }
-}
diff --git a/mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs b/mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs
deleted file mode 100644
index 993d77ceb19..00000000000
--- a/mcs/class/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs
+++ /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
index ddc839647f4..00000000000
--- a/mcs/class/System.Reflection.DispatchProxy/Makefile
+++ /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
index da5d484aa97..00000000000
--- a/mcs/class/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources
+++ /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
index 540e525b425..00000000000
--- a/mcs/class/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs
+++ /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
index 21e80b5733e..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Assembly/AssemblyInfo.cs
+++ /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 (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.Runtime.InteropServices.RuntimeInformation/Makefile b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile
deleted file mode 100644
index 74151102e96..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/Makefile
+++ /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/System.Runtime.InteropServices.RuntimeInformation.dll.sources b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources
deleted file mode 100644
index c3c71070856..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.dll.sources
+++ /dev/null
@@ -1,7 +0,0 @@
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-System.Runtime.InteropServices/Architecture.cs
-System.Runtime.InteropServices/OSPlatform.cs
-System.Runtime.InteropServices/RuntimeInformation.cs
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/Architecture.cs b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/Architecture.cs
deleted file mode 100644
index 9c71a33bb2d..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/Architecture.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// Architecture.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.Runtime.InteropServices
-{
- public enum Architecture
- {
- X86,
- X64,
- Arm,
- Arm64
- }
-}
diff --git a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/OSPlatform.cs b/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/OSPlatform.cs
deleted file mode 100644
index b2b1b851436..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/OSPlatform.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// OSPlatform.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.Runtime.InteropServices
-{
- public struct OSPlatform : IEquatable<OSPlatform>
- {
- private readonly string _osPlatform;
-
- public static OSPlatform Linux { get; } = new OSPlatform ("LINUX");
-
- public static OSPlatform OSX { get; } = new OSPlatform ("OSX");
-
- public static OSPlatform Windows { get; } = new OSPlatform ("WINDOWS");
-
- private OSPlatform (string osPlatform)
- {
- if (osPlatform == null) throw new ArgumentNullException (nameof (osPlatform));
- if (osPlatform.Length == 0) throw new ArgumentException ("Value cannot be empty.", nameof (osPlatform));
-
- _osPlatform = osPlatform;
- }
-
- public static OSPlatform Create (string osPlatform)
- {
- return new OSPlatform (osPlatform);
- }
-
- public bool Equals (OSPlatform other)
- {
- return Equals (other._osPlatform);
- }
-
- internal bool Equals (string other)
- {
- return string.Equals (_osPlatform, other, StringComparison.Ordinal);
- }
-
- public override bool Equals (object obj)
- {
- return obj is OSPlatform && Equals ((OSPlatform)obj);
- }
-
- public override int GetHashCode ()
- {
- return _osPlatform == null ? 0 : _osPlatform.GetHashCode ();
- }
-
- public override string ToString ()
- {
- return _osPlatform ?? string.Empty;
- }
-
- public static bool operator ==(OSPlatform left, OSPlatform right)
- {
- return left.Equals (right);
- }
-
- public static bool operator !=(OSPlatform left, OSPlatform right)
- {
- return !(left == right);
- }
- }
-} \ No newline at end of file
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
index 24be90472ff..00000000000
--- a/mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices/RuntimeInformation.cs
+++ /dev/null
@@ -1,91 +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)
- {
- // TODO: very barebones implementation
-
- if (Environment.OSVersion.Platform == PlatformID.Win32NT)
- return osPlatform == OSPlatform.Windows;
-
- if (Environment.OSVersion.Platform == PlatformID.Unix && File.Exists ("/usr/lib/libc.dylib"))
- return osPlatform == OSPlatform.OSX;
-
- if (Environment.OSVersion.Platform == PlatformID.Unix)
- return osPlatform == OSPlatform.Linux;
-
- 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.Security/System.Security.Cryptography/ProtectedData.cs b/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
index d2cd4b21f49..2e4032b44dd 100644
--- a/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
+++ b/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
@@ -1,61 +1,60 @@
-//
-// ProtectedData.cs: Protect (encrypt) data without (user involved) key management
-//
+//
+// ProtectedData.cs: Protect (encrypt) data without (user involved) key management
+//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
-//
+//
// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.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.
-//
-
+//
+// 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.Runtime.InteropServices;
-using System.Security.Permissions;
-
-using Mono.Security.Cryptography;
-
-namespace System.Security.Cryptography {
-
- // References:
- // a. Windows Data Protection
- // http://msdn.microsoft.com/library/en-us/dnsecure/html/windataprotection-dpapi.asp?frame=true
-
- public sealed class ProtectedData {
-
- private ProtectedData ()
- {
- }
-
+using System.Security.Permissions;
+
+using Mono.Security.Cryptography;
+
+namespace System.Security.Cryptography {
+
+ // References:
+ // a. Windows Data Protection
+ // http://msdn.microsoft.com/library/en-us/dnsecure/html/windataprotection-dpapi.asp?frame=true
+
+ public sealed class ProtectedData {
+
+ private ProtectedData ()
+ {
+ }
+
// FIXME [DataProtectionPermission (SecurityAction.Demand, ProtectData = true)]
- public static byte[] Protect (byte[] userData, byte[] optionalEntropy, DataProtectionScope scope)
- {
- if (userData == null)
- throw new ArgumentNullException ("userData");
-
+ public static byte[] Protect (byte[] userData, byte[] optionalEntropy, DataProtectionScope scope)
+ {
+ if (userData == null)
+ throw new ArgumentNullException ("userData");
+
// on Windows this is supported only under 2000 and later OS
Check (scope);
switch (impl) {
-#if !MOBILE
case DataProtectionImplementation.ManagedProtection:
try {
return ManagedProtection.Protect (userData, optionalEntropy, scope);
@@ -72,23 +71,21 @@ namespace System.Security.Cryptography {
string msg = Locale.GetText ("Data protection failed.");
throw new CryptographicException (msg, e);
}
-#endif
default:
throw new PlatformNotSupportedException ();
}
}
// FIXME [DataProtectionPermission (SecurityAction.Demand, UnprotectData = true)]
- public static byte[] Unprotect (byte[] encryptedData, byte[] optionalEntropy, DataProtectionScope scope)
- {
- if (encryptedData == null)
- throw new ArgumentNullException ("encryptedData");
-
+ public static byte[] Unprotect (byte[] encryptedData, byte[] optionalEntropy, DataProtectionScope scope)
+ {
+ if (encryptedData == null)
+ throw new ArgumentNullException ("encryptedData");
+
// on Windows this is supported only under 2000 and later OS
Check (scope);
switch (impl) {
-#if !MOBILE
case DataProtectionImplementation.ManagedProtection:
try {
return ManagedProtection.Unprotect (encryptedData, optionalEntropy, scope);
@@ -105,12 +102,11 @@ namespace System.Security.Cryptography {
string msg = Locale.GetText ("Data unprotection failed.");
throw new CryptographicException (msg, e);
}
-#endif
default:
throw new PlatformNotSupportedException ();
}
- }
-
+ }
+
// private stuff
enum DataProtectionImplementation {
@@ -160,6 +156,6 @@ namespace System.Security.Cryptography {
throw new PlatformNotSupportedException ();
}
}
- }
-}
-
+ }
+}
+
diff --git a/mcs/class/System.Security/common_System.Security.dll.sources b/mcs/class/System.Security/common_System.Security.dll.sources
deleted file mode 100644
index 5a34119a3ad..00000000000
--- a/mcs/class/System.Security/common_System.Security.dll.sources
+++ /dev/null
@@ -1,34 +0,0 @@
-Assembly/AssemblyInfo.cs
-../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
-System.Security.Cryptography/CryptographicAttribute.cs
-System.Security.Cryptography/CryptographicAttributeCollection.cs
-System.Security.Cryptography/CryptographicAttributeEnumerator.cs
-System.Security.Cryptography/DataProtectionScope.cs
-System.Security.Cryptography/ProtectedData.cs
-System.Security.Cryptography.Pkcs/AlgorithmIdentifier.cs
-System.Security.Cryptography.Pkcs/CmsRecipient.cs
-System.Security.Cryptography.Pkcs/CmsRecipientCollection.cs
-System.Security.Cryptography.Pkcs/CmsRecipientEnumerator.cs
-System.Security.Cryptography.Pkcs/ContentInfo.cs
-System.Security.Cryptography.Pkcs/EnvelopedCms.cs
-System.Security.Cryptography.Pkcs/KeyAgreeRecipientInfo.cs
-System.Security.Cryptography.Pkcs/KeyTransRecipientInfo.cs
-System.Security.Cryptography.Pkcs/Pkcs9Attribute.cs
-System.Security.Cryptography.Pkcs/Pkcs9ContentType.cs
-System.Security.Cryptography.Pkcs/Pkcs9DocumentDescription.cs
-System.Security.Cryptography.Pkcs/Pkcs9DocumentName.cs
-System.Security.Cryptography.Pkcs/Pkcs9MessageDigest.cs
-System.Security.Cryptography.Pkcs/Pkcs9SigningTime.cs
-System.Security.Cryptography.Pkcs/PublicKeyInfo.cs
-System.Security.Cryptography.Pkcs/RecipientInfo.cs
-System.Security.Cryptography.Pkcs/RecipientInfoCollection.cs
-System.Security.Cryptography.Pkcs/RecipientInfoEnumerator.cs
-System.Security.Cryptography.Pkcs/RecipientInfoType.cs
-System.Security.Cryptography.Pkcs/SubjectIdentifier.cs
-System.Security.Cryptography.Pkcs/SubjectIdentifierOrKey.cs
-System.Security.Cryptography.Pkcs/SubjectIdentifierOrKeyType.cs
-System.Security.Cryptography.Pkcs/SubjectIdentifierType.cs
-System.Security.Cryptography.Xml/X509IssuerSerial.cs
-
diff --git a/mcs/class/System.Security/mobile_static_System.Security.dll.sources b/mcs/class/System.Security/mobile_static_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/mobile_static_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monodroid_System.Security.dll.sources b/mcs/class/System.Security/monodroid_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monodroid_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_System.Security.dll.sources b/mcs/class/System.Security/monotouch_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_runtime_System.Security.dll.sources b/mcs/class/System.Security/monotouch_runtime_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_runtime_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_tv_System.Security.dll.sources b/mcs/class/System.Security/monotouch_tv_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_tv_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_tv_runtime_System.Security.dll.sources b/mcs/class/System.Security/monotouch_tv_runtime_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_tv_runtime_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_watch_System.Security.dll.sources b/mcs/class/System.Security/monotouch_watch_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_watch_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/monotouch_watch_runtime_System.Security.dll.sources b/mcs/class/System.Security/monotouch_watch_runtime_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/monotouch_watch_runtime_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.Security/xammac_System.Security.dll.sources b/mcs/class/System.Security/xammac_System.Security.dll.sources
deleted file mode 100644
index 599b7fa67f7..00000000000
--- a/mcs/class/System.Security/xammac_System.Security.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include common_System.Security.dll.sources
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs
index 4fc4f14eee4..4a22c093813 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs
@@ -33,9 +33,7 @@ using System.Net;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.Xml;
-#if !MOBILE && !XAMMAC_4_5
using WS = System.Web.Services.Description;
-#endif
namespace System.ServiceModel.Channels
{
@@ -121,7 +119,6 @@ namespace System.ServiceModel.Channels
return false;
}
-#if !MOBILE && !XAMMAC_4_5
public override bool CanBuildChannelListener<TChannel> (
BindingContext context)
{
@@ -135,7 +132,6 @@ namespace System.ServiceModel.Channels
}
return false;
}
-#endif
public override T GetProperty<T> (BindingContext context)
{
@@ -145,7 +141,6 @@ namespace System.ServiceModel.Channels
return base.GetProperty<T> (context);
}
-#if !MOBILE && !XAMMAC_4_5
void IWsdlExportExtension.ExportContract (WsdlExporter exporter,
WsdlContractConversionContext context)
{
@@ -197,6 +192,5 @@ namespace System.ServiceModel.Channels
transfer_mode == TransferMode.StreamedResponse)
assertions.Add (doc.CreateElement ("msf", "Streamed", "http://schemas.microsoft.com/ws/2006/05/framing/policy"));
}
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs
index 12be181d6d7..3201ef86eb6 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs
@@ -43,21 +43,16 @@ namespace System.ServiceModel.Channels
{
public SslStreamSecurityBindingElement ()
{
-#if !MOBILE && !XAMMAC_4_5
verifier = IdentityVerifier.CreateDefault ();
-#endif
}
-#if !MOBILE && !XAMMAC_4_5
IdentityVerifier verifier;
+ bool require_client_certificate;
public IdentityVerifier IdentityVerifier {
get { return verifier; }
set { verifier = value; }
}
-#endif
-
- bool require_client_certificate;
public bool RequireClientCertificate {
get { return require_client_certificate; }
@@ -68,13 +63,10 @@ namespace System.ServiceModel.Channels
SslStreamSecurityBindingElement other)
: base (other)
{
-#if !MOBILE && !XAMMAC_4_5
verifier = other.verifier;
-#endif
require_client_certificate = other.require_client_certificate;
}
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
public StreamUpgradeProvider BuildClientStreamUpgradeProvider (BindingContext context)
{
@@ -95,7 +87,6 @@ namespace System.ServiceModel.Channels
"msf", "SslTransportSecurity", PolicyImportHelper.FramingPolicyNS);
return element;
}
-#endif
[MonoTODO]
public override IChannelFactory<TChannel>
@@ -105,7 +96,6 @@ namespace System.ServiceModel.Channels
throw new NotImplementedException ();
}
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
public override IChannelListener<TChannel>
BuildChannelListener<TChannel> (
@@ -113,7 +103,6 @@ namespace System.ServiceModel.Channels
{
throw new NotImplementedException ();
}
-#endif
[MonoTODO]
public override bool CanBuildChannelFactory<TChannel> (
@@ -122,14 +111,12 @@ namespace System.ServiceModel.Channels
throw new NotImplementedException ();
}
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
public override bool CanBuildChannelListener<TChannel> (
BindingContext context)
{
throw new NotImplementedException ();
}
-#endif
public override BindingElement Clone ()
{
@@ -142,7 +129,6 @@ namespace System.ServiceModel.Channels
throw new NotImplementedException ();
}
-#if !MOBILE && !XAMMAC_4_5
#region explicit interface implementations
[MonoTODO]
void IPolicyExportExtension.ExportPolicy (
@@ -154,6 +140,5 @@ namespace System.ServiceModel.Channels
context.GetBindingAssertions ().Add (transportBinding);
}
#endregion
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
index ae823e534eb..64c3b38a249 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
@@ -31,9 +31,7 @@ using System;
using System.Collections.Generic;
using System.Net;
using System.ServiceModel.Channels;
-#if !MOBILE && !XAMMAC_4_5
using System.ServiceModel.Channels.NetTcp;
-#endif
using System.ServiceModel.Description;
namespace System.ServiceModel.Channels
@@ -90,15 +88,9 @@ namespace System.ServiceModel.Channels
{
if (!CanBuildChannelFactory<TChannel> (context))
throw new InvalidOperationException (String.Format ("Not supported channel factory type '{0}'", typeof (TChannel)));
-
-#if !MOBILE && !XAMMAC_4_5
return new TcpChannelFactory<TChannel> (this, context);
-#else
- throw new NotImplementedException ();
-#endif
}
-#if !MOBILE && !XAMMAC_4_5
public override IChannelListener<TChannel>
BuildChannelListener<TChannel> (
BindingContext context)
@@ -107,7 +99,6 @@ namespace System.ServiceModel.Channels
throw new InvalidOperationException (String.Format ("Not supported channel listener type '{0}'", typeof (TChannel)));
return new TcpChannelListener<TChannel> (this, context);
}
-#endif
public override BindingElement Clone ()
{
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransportBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransportBindingElement.cs
index bab577c5bae..4f1a5fde8f2 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransportBindingElement.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransportBindingElement.cs
@@ -56,7 +56,7 @@ namespace System.ServiceModel.Channels
max_recv_message_size = other.max_recv_message_size;
}
- public virtual bool ManualAddressing {
+ public bool ManualAddressing {
get { return manual_addressing; }
set { manual_addressing = value; }
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs
index 2d8e461f735..e57cfde91e3 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs
@@ -61,14 +61,12 @@ namespace System.ServiceModel.Channels
return context.BuildInnerChannelFactory<TChannel> ();
}
-#if !MOBILE && !XAMMAC_4_5
public override IChannelListener<TChannel>
BuildChannelListener<TChannel> (
BindingContext context)
{
return context.BuildInnerChannelListener<TChannel> ();
}
-#endif
public override bool CanBuildChannelFactory<TChannel> (
BindingContext context)
@@ -76,13 +74,11 @@ namespace System.ServiceModel.Channels
return context.CanBuildInnerChannelFactory<TChannel> ();
}
-#if !MOBILE && !XAMMAC_4_5
public override bool CanBuildChannelListener<TChannel> (
BindingContext context)
{
return context.CanBuildInnerChannelListener<TChannel> ();
}
-#endif
public override BindingElement Clone ()
{
@@ -93,10 +89,8 @@ namespace System.ServiceModel.Channels
{
if (typeof (T) == typeof (ISecurityCapabilities))
return (T) (object) this;
-#if !MOBILE && !XAMMAC_4_5
if (typeof (T) == typeof (IdentityVerifier))
return (T) (object) IdentityVerifier.CreateDefault ();
-#endif
return null;
}
@@ -126,7 +120,6 @@ namespace System.ServiceModel.Channels
get { throw new NotImplementedException (); }
}
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
void IPolicyExportExtension.ExportPolicy (
MetadataExporter exporter,
@@ -148,7 +141,6 @@ namespace System.ServiceModel.Channels
element.AppendChild (protectionLevel);
return element;
}
-#endif
#endregion
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs
index 3d8e71035a0..41c6658f9cf 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs
@@ -25,29 +25,22 @@
// 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 !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;
-#endif
using System.ServiceModel.Channels;
using System.ServiceModel.Security;
-#if !MOBILE && !XAMMAC_4_5
using ReqType = System.ServiceModel.Security.Tokens.ServiceModelSecurityTokenRequirement;
-#endif
namespace System.ServiceModel.Security.Tokens
{
public class SecureConversationSecurityTokenParameters : SecurityTokenParameters
{
-#if !MOBILE && !XAMMAC_4_5
static readonly ChannelProtectionRequirements default_channel_protection_requirements;
-#endif
static readonly BindingContext dummy_context;
static SecureConversationSecurityTokenParameters ()
{
-#if !MOBILE && !XAMMAC_4_5
ChannelProtectionRequirements r =
new ChannelProtectionRequirements ();
r.IncomingSignatureParts.ChannelParts.IsBodyIncluded = true;
@@ -56,7 +49,6 @@ namespace System.ServiceModel.Security.Tokens
r.OutgoingEncryptionParts.ChannelParts.IsBodyIncluded = true;
r.MakeReadOnly ();
default_channel_protection_requirements = r;
-#endif
dummy_context = new BindingContext (
new CustomBinding (),
@@ -64,9 +56,7 @@ namespace System.ServiceModel.Security.Tokens
}
SecurityBindingElement element;
-#if !MOBILE && !XAMMAC_4_5
ChannelProtectionRequirements requirements;
-#endif
bool cancellable;
public SecureConversationSecurityTokenParameters ()
@@ -87,7 +77,6 @@ namespace System.ServiceModel.Security.Tokens
{
}
-#if !MOBILE && !XAMMAC_4_5
public SecureConversationSecurityTokenParameters (
SecurityBindingElement element,
bool requireCancellation,
@@ -100,25 +89,13 @@ namespace System.ServiceModel.Security.Tokens
else
this.requirements = new ChannelProtectionRequirements (requirements);
}
-#else
- internal SecureConversationSecurityTokenParameters (
- SecurityBindingElement element,
- bool requireCancellation,
- object dummy)
- {
- this.element = element;
- this.cancellable = requireCancellation;
- }
-#endif
protected SecureConversationSecurityTokenParameters (SecureConversationSecurityTokenParameters source)
: base (source)
{
this.element = (SecurityBindingElement) source.element.Clone ();
this.cancellable = source.cancellable;
-#if !MOBILE && !XAMMAC_4_5
this.requirements = new ChannelProtectionRequirements (default_channel_protection_requirements);
-#endif
}
public bool RequireCancellation {
@@ -131,11 +108,9 @@ namespace System.ServiceModel.Security.Tokens
set { element = value; }
}
-#if !MOBILE && !XAMMAC_4_5
public ChannelProtectionRequirements BootstrapProtectionRequirements {
get { return requirements; }
}
-#endif
// SecurityTokenParameters
@@ -160,13 +135,13 @@ namespace System.ServiceModel.Security.Tokens
return new SecureConversationSecurityTokenParameters (this);
}
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
protected override SecurityKeyIdentifierClause CreateKeyIdentifierClause (
SecurityToken token, SecurityTokenReferenceStyle referenceStyle)
{
throw new NotImplementedException ();
}
+
[MonoTODO]
protected internal override void InitializeSecurityTokenRequirement (SecurityTokenRequirement requirement)
{
@@ -179,7 +154,6 @@ namespace System.ServiceModel.Security.Tokens
requirement.Properties [ReqType.IssuedSecurityTokenParametersProperty] = this.Clone ();
requirement.KeyType = SecurityKeyType.SymmetricKey;
}
-#endif
public override string ToString ()
{
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs
index c5ff1439e0c..f4c3f3ceff5 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs
@@ -25,11 +25,8 @@
// 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 !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;
-#endif
using System.ServiceModel.Channels;
using System.ServiceModel.Security;
using System.Text;
@@ -117,7 +114,6 @@ namespace System.ServiceModel.Security.Tokens
protected abstract SecurityTokenParameters CloneCore ();
-#if !MOBILE && !XAMMAC_4_5
protected abstract SecurityKeyIdentifierClause CreateKeyIdentifierClause (
SecurityToken token, SecurityTokenReferenceStyle referenceStyle);
@@ -129,13 +125,11 @@ namespace System.ServiceModel.Security.Tokens
}
protected internal abstract void InitializeSecurityTokenRequirement (SecurityTokenRequirement requirement);
-#endif
internal BindingContext IssuerBindingContext {
set { issuer_binding_context = value; }
}
-#if !MOBILE && !XAMMAC_4_5
internal void CallInitializeSecurityTokenRequirement (SecurityTokenRequirement requirement)
{
if (issuer_binding_context != null)
@@ -151,6 +145,5 @@ namespace System.ServiceModel.Security.Tokens
{
throw new NotImplementedException ();
}
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs
index 46f14360654..8a40a61c0cd 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs
@@ -25,10 +25,8 @@
// 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 !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;
-#endif
using System.ServiceModel.Security;
namespace System.ServiceModel.Security.Tokens
@@ -66,7 +64,6 @@ namespace System.ServiceModel.Security.Tokens
return new UserNameSecurityTokenParameters (this);
}
-#if !MOBILE && !XAMMAC_4_5
protected override SecurityKeyIdentifierClause CreateKeyIdentifierClause (
SecurityToken token, SecurityTokenReferenceStyle referenceStyle)
{
@@ -84,6 +81,5 @@ namespace System.ServiceModel.Security.Tokens
requirement.TokenType = SecurityTokenTypes.UserName;
requirement.RequireCryptographicToken = true;
}
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.dll.sources b/mcs/class/System.ServiceModel/System.ServiceModel.dll.sources
index 8e54cb5c622..20a6a2cbf7a 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.dll.sources
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.dll.sources
@@ -1004,7 +1004,6 @@ System.ServiceModel/BasicHttpBinding_4_5.cs
System.ServiceModel/BasicHttpsBinding.cs
System.ServiceModel/BasicHttpsSecurity.cs
System.ServiceModel/NetHttpBinding.cs
-System.ServiceModel/NetHttpsBinding.cs
System.ServiceModel/NetHttpMessageEncoding.cs
System.ServiceModel.Channels/CompressionFormat.cs
System.ServiceModel.Channels/WebSocketTransportSettings.cs
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsBinding.cs b/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsBinding.cs
index 21e66a4f65b..e6a96dac52a 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsBinding.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsBinding.cs
@@ -79,7 +79,6 @@ namespace System.ServiceModel
public BasicHttpsSecurity Security {
get { return security; }
- set { security = value; }
}
public override BindingElementCollection
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsSecurity.cs b/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsSecurity.cs
index de946ceb443..c5c870c0f33 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsSecurity.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpsSecurity.cs
@@ -64,7 +64,6 @@ namespace System.ServiceModel
public HttpTransportSecurity Transport {
get { return transport; }
- set { transport = value; }
}
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/CallbackBehaviorAttribute.cs b/mcs/class/System.ServiceModel/System.ServiceModel/CallbackBehaviorAttribute.cs
index 5a5ca874df8..f392be8d37a 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/CallbackBehaviorAttribute.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/CallbackBehaviorAttribute.cs
@@ -29,9 +29,7 @@ using System;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.ServiceModel.Dispatcher;
-#if !MOBILE && !XAMMAC_4_5
using System.Transactions;
-#endif
namespace System.ServiceModel
{
@@ -47,9 +45,7 @@ namespace System.ServiceModel
MaxItemsInObjectGraph = 0x10000;
UseSynchronizationContext = true;
ValidateMustUnderstand = true;
-#if !MOBILE && !XAMMAC_4_5
TransactionIsolationLevel = IsolationLevel.Unspecified;
-#endif
}
[MonoTODO]
@@ -67,10 +63,8 @@ namespace System.ServiceModel
[MonoTODO]
public int MaxItemsInObjectGraph { get; set; }
-#if !MOBILE && !XAMMAC_4_5
[MonoTODO]
public IsolationLevel TransactionIsolationLevel { get; set; }
-#endif
[MonoTODO]
public string TransactionTimeout { get; set; }
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/DnsEndpointIdentity.cs b/mcs/class/System.ServiceModel/System.ServiceModel/DnsEndpointIdentity.cs
index 9c9b76aec61..b5ac514b0da 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/DnsEndpointIdentity.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/DnsEndpointIdentity.cs
@@ -27,9 +27,7 @@
//
using System;
using System.Collections.Generic;
-#if !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Claims;
-#endif
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
@@ -39,7 +37,6 @@ namespace System.ServiceModel
{
public class DnsEndpointIdentity : EndpointIdentity
{
-#if !MOBILE && !XAMMAC_4_5
public DnsEndpointIdentity (Claim identity)
{
Initialize (identity);
@@ -49,11 +46,5 @@ namespace System.ServiceModel
: this (Claim.CreateDnsClaim (dns))
{
}
-#else
- public DnsEndpointIdentity (string dns)
- {
- throw new NotImplementedException ();
- }
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/DuplexChannelFactory.cs b/mcs/class/System.ServiceModel/System.ServiceModel/DuplexChannelFactory.cs
index 01336d803a5..e72ab9b8d2b 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/DuplexChannelFactory.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/DuplexChannelFactory.cs
@@ -217,11 +217,8 @@ namespace System.ServiceModel
// no special magic), we have to use different approach
// that should work either.
object proxy = Activator.CreateInstance (type, new object [] {Endpoint, this, address, via});
-#elif !MOBILE && !XAMMAC_4_5
- object proxy = new ClientRealProxy (typeof (TChannel), new DuplexClientRuntimeChannel (Endpoint, this, address, via), true).GetTransparentProxy ();
#else
- object proxy;
- throw new NotImplementedException ();
+ object proxy = new ClientRealProxy (typeof (TChannel), new DuplexClientRuntimeChannel (Endpoint, this, address, via), true).GetTransparentProxy ();
#endif
((IDuplexContextChannel) proxy).CallbackInstance = callbackInstance;
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/HttpBindingBase.cs b/mcs/class/System.ServiceModel/System.ServiceModel/HttpBindingBase.cs
index 8852d3d1278..4ed2088711e 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/HttpBindingBase.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/HttpBindingBase.cs
@@ -110,7 +110,7 @@ namespace System.ServiceModel
set { reader_quotas = value; }
}
- public override string Scheme {
+ public override abstract string Scheme {
get;
}
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityOverTcp.cs b/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityOverTcp.cs
index 6e9a794ee41..c7852cd1ffd 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityOverTcp.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityOverTcp.cs
@@ -31,28 +31,22 @@ namespace System.ServiceModel
{
public sealed class MessageSecurityOverTcp
{
-#if !MOBILE && !XAMMAC_4_5
SecurityAlgorithmSuite alg_suite;
-#endif
MessageCredentialType client_credential_type;
internal MessageSecurityOverTcp ()
{
-#if !MOBILE && !XAMMAC_4_5
alg_suite = SecurityAlgorithmSuite.Default;
-#endif
// This default value is *silly* but anyways
// such code that does not change this ClientCredentialType
// won't work on Mono.
client_credential_type = MessageCredentialType.Windows;
}
-#if !MOBILE && !XAMMAC_4_5
public SecurityAlgorithmSuite AlgorithmSuite {
get { return alg_suite; }
set { alg_suite = value; }
}
-#endif
public MessageCredentialType ClientCredentialType {
get { return client_credential_type; }
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityVersion.cs b/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityVersion.cs
index d6a5e19d286..2f53bc57b67 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityVersion.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/MessageSecurityVersion.cs
@@ -27,10 +27,8 @@
//
using System.Collections.Generic;
using System.Collections.ObjectModel;
-#if !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;
-#endif
using System.ServiceModel.Description;
using System.ServiceModel.Channels;
using System.ServiceModel.Security;
@@ -40,7 +38,6 @@ namespace System.ServiceModel
{
public abstract class MessageSecurityVersion
{
-#if !MOBILE && !XAMMAC_4_5
// Types
class MessageSecurityTokenVersion : SecurityTokenVersion
{
@@ -115,7 +112,6 @@ namespace System.ServiceModel
SecureConversationVersion = SecureConversationVersion.WSSecureConversationFeb2005;
TrustVersion = TrustVersion.WSTrustFeb2005;
}
- this.SecurityVersion = wss11 ? SecurityVersion.WSSecurity11 : SecurityVersion.WSSecurity10;
}
public override BasicSecurityProfileVersion BasicSecurityProfileVersion {
@@ -126,11 +122,14 @@ namespace System.ServiceModel
get { return MessageSecurityTokenVersion.GetVersion (wss11, basic_profile); }
}
+ public override SecurityVersion SecurityVersion {
+ get { return wss11 ? SecurityVersion.WSSecurity11 : SecurityVersion.WSSecurity10; }
+ }
+
public override SecurityPolicyVersion SecurityPolicyVersion {
get { return use2007 ? SecurityPolicyVersion.WSSecurityPolicy12 : SecurityPolicyVersion.WSSecurityPolicy11; }
}
}
-#endif
// Static members
@@ -138,16 +137,12 @@ namespace System.ServiceModel
static MessageSecurityVersion ()
{
-#if !MOBILE && !XAMMAC_4_5
wss10_basic = new MessageSecurityVersionImpl (false, true, false);
wss11 = new MessageSecurityVersionImpl (true, false, false);
wss11_basic = new MessageSecurityVersionImpl (true, true, false);
wss10_2007_basic = new MessageSecurityVersionImpl (false, true, true);
wss11_2007_basic = new MessageSecurityVersionImpl (true, true, true);
wss11_2007 = new MessageSecurityVersionImpl (true, false, true);
-#else
- throw new NotImplementedException ();
-#endif
}
public static MessageSecurityVersion Default {
@@ -188,11 +183,9 @@ namespace System.ServiceModel
public abstract BasicSecurityProfileVersion BasicSecurityProfileVersion { get; }
-#if !MOBILE && !XAMMAC_4_5
public abstract SecurityTokenVersion SecurityTokenVersion { get; }
-#endif
- public SecurityVersion SecurityVersion { get; internal set; }
+ public abstract SecurityVersion SecurityVersion { get; }
public SecureConversationVersion SecureConversationVersion { get; internal set; }
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/NetHttpsBinding.cs b/mcs/class/System.ServiceModel/System.ServiceModel/NetHttpsBinding.cs
deleted file mode 100644
index 703de2241ed..00000000000
--- a/mcs/class/System.ServiceModel/System.ServiceModel/NetHttpsBinding.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-// Authors:
-// Martin Baulig (martin.baulig@xamarin.com)
-//
-// Copyright 2012 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.ServiceModel.Channels;
-
-namespace System.ServiceModel {
- [MonoTODO]
- public class NetHttpsBinding : HttpBindingBase {
- public NetHttpsBinding ()
- {
- throw new NotImplementedException ();
- }
-
- public NetHttpsBinding (BasicHttpsSecurityMode securityMode)
- {
- throw new NotImplementedException ();
- }
-
- public NetHttpsBinding (string configurationName)
- {
- throw new NotImplementedException ();
- }
-
- public NetHttpsBinding (
- BasicHttpsSecurityMode securityMode, bool reliableSessionEnabled)
- {
- throw new NotImplementedException ();
- }
-
- public NetHttpMessageEncoding MessageEncoding { get; set; }
- public OptionalReliableSession ReliableSession { get; set; }
- public BasicHttpsSecurity Security { get; set; }
-
- public WebSocketTransportSettings WebSocketSettings {
- get { throw new NotImplementedException (); }
- }
-
- public override string Scheme {
- get { throw new NotImplementedException (); }
- }
-
- public override BindingElementCollection CreateBindingElements ()
- {
- throw new NotImplementedException ();
- }
-
- public bool ShouldSerializeReliableSession ()
- {
- throw new NotImplementedException ();
- }
-
- public bool ShouldSerializeSecurity ()
- {
- throw new NotImplementedException ();
- }
-
-
-
- }
-} \ No newline at end of file
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/NetTcpBinding.cs b/mcs/class/System.ServiceModel/System.ServiceModel/NetTcpBinding.cs
index 51a8c3cfb2e..794445155d8 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/NetTcpBinding.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/NetTcpBinding.cs
@@ -46,9 +46,7 @@ namespace System.ServiceModel
XmlDictionaryReaderQuotas reader_quotas
= new XmlDictionaryReaderQuotas ();
bool transaction_flow;
-#if !MOBILE && !XAMMAC_4_5
TransactionProtocol transaction_protocol;
-#endif
TcpTransportBindingElement transport;
public NetTcpBinding ()
@@ -71,13 +69,9 @@ namespace System.ServiceModel
public NetTcpBinding (string configurationName)
: this ()
{
-#if !MOBILE && !XAMMAC_4_5
var bindingsSection = ConfigUtil.BindingsSection;
var el = bindingsSection.NetTcpBinding.Bindings [configurationName];
el.ApplyConfiguration (this);
-#else
- throw new NotImplementedException ();
-#endif
}
internal NetTcpBinding (TcpTransportBindingElement transport,
@@ -153,12 +147,10 @@ namespace System.ServiceModel
set { transaction_flow = value; }
}
-#if !MOBILE && !XAMMAC_4_5
public TransactionProtocol TransactionProtocol {
get { return transaction_protocol; }
set { transaction_protocol = value; }
}
-#endif
// overrides
@@ -168,22 +160,18 @@ namespace System.ServiceModel
public override BindingElementCollection CreateBindingElements ()
{
-#if !MOBILE && !XAMMAC_4_5
BindingElement tx = new TransactionFlowBindingElement (TransactionProtocol.WSAtomicTransactionOctober2004);
SecurityBindingElement sec = CreateMessageSecurity ();
-#endif
var msg = new BinaryMessageEncodingBindingElement ();
if (ReaderQuotas != null)
ReaderQuotas.CopyTo (msg.ReaderQuotas);
var trsec = CreateTransportSecurity ();
BindingElement tr = GetTransport ();
List<BindingElement> list = new List<BindingElement> ();
-#if !MOBILE && !XAMMAC_4_5
if (tx != null)
list.Add (tx);
if (sec != null)
list.Add (sec);
-#endif
list.Add (msg);
if (trsec != null)
list.Add (trsec);
@@ -196,7 +184,6 @@ namespace System.ServiceModel
return transport.Clone ();
}
-#if !MOBILE && !XAMMAC_4_5
// It is problematic, but there is no option to disable establishing security context in this binding unlike WSHttpBinding...
SecurityBindingElement CreateMessageSecurity ()
{
@@ -252,7 +239,6 @@ namespace System.ServiceModel
// FIXME: requireCancellation
element, true, reqs);
}
-#endif
BindingElement CreateTransportSecurity ()
{
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/SpnEndpointIdentity.cs b/mcs/class/System.ServiceModel/System.ServiceModel/SpnEndpointIdentity.cs
index 396579fd255..d93be038818 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/SpnEndpointIdentity.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/SpnEndpointIdentity.cs
@@ -27,9 +27,7 @@
//
using System;
using System.Collections.Generic;
-#if !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Claims;
-#endif
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
@@ -39,7 +37,6 @@ namespace System.ServiceModel
{
public class SpnEndpointIdentity : EndpointIdentity
{
-#if !MOBILE && !XAMMAC_4_5
public SpnEndpointIdentity (Claim identity)
{
Initialize (identity);
@@ -49,12 +46,6 @@ namespace System.ServiceModel
: this (Claim.CreateSpnClaim (spn))
{
}
-#else
- public SpnEndpointIdentity (string spn)
- {
- throw new NotImplementedException ();
- }
-#endif
[MonoTODO]
public static TimeSpan SpnLookupTime {
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/UpnEndpointIdentity.cs b/mcs/class/System.ServiceModel/System.ServiceModel/UpnEndpointIdentity.cs
index e53d72009a6..a866e93e4cb 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/UpnEndpointIdentity.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/UpnEndpointIdentity.cs
@@ -27,9 +27,7 @@
//
using System;
using System.Collections.Generic;
-#if !MOBILE && !XAMMAC_4_5
using System.IdentityModel.Claims;
-#endif
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
@@ -39,7 +37,6 @@ namespace System.ServiceModel
{
public class UpnEndpointIdentity : EndpointIdentity
{
-#if !MOBILE && !XAMMAC_4_5
public UpnEndpointIdentity (Claim identity)
{
Initialize (identity);
@@ -49,11 +46,5 @@ namespace System.ServiceModel
: this (Claim.CreateUpnClaim (upn))
{
}
-#else
- public UpnEndpointIdentity (string upn)
- {
- throw new NotImplementedException ();
- }
-#endif
}
}
diff --git a/mcs/class/System.ServiceModel/mobile_System.ServiceModel.dll.sources b/mcs/class/System.ServiceModel/mobile_System.ServiceModel.dll.sources
index 6666c86e484..1b83c9e468e 100644
--- a/mcs/class/System.ServiceModel/mobile_System.ServiceModel.dll.sources
+++ b/mcs/class/System.ServiceModel/mobile_System.ServiceModel.dll.sources
@@ -187,7 +187,6 @@ System.ServiceModel/BasicHttpSecurity.cs
System.ServiceModel/BasicHttpMessageSecurity.cs
System.ServiceModel/BasicHttpsBinding.cs
System.ServiceModel/BasicHttpsSecurity.cs
-System.ServiceModel/CallbackBehaviorAttribute.cs
System.ServiceModel/ChannelFactory.cs
System.ServiceModel/ChannelFactory_1.cs
System.ServiceModel/ClientBase.cs
@@ -201,8 +200,6 @@ System.ServiceModel/Constants.cs
System.ServiceModel/DataContractFormatAttribute.cs
System.ServiceModel/DefaultCommunicationTimeouts.cs
System.ServiceModel/Dummy.cs
-System.ServiceModel/DuplexClientBase.cs
-System.ServiceModel/DuplexChannelFactory.cs
System.ServiceModel/EndpointAddress.cs
System.ServiceModel/EndpointAddress10.cs
System.ServiceModel/EndpointAddressBuilder.cs
@@ -221,7 +218,6 @@ System.ServiceModel/IClientChannel.cs
System.ServiceModel/ICommunicationObject.cs
System.ServiceModel/IContextChannel.cs
System.ServiceModel/IDefaultCommunicationTimeouts.cs
-System.ServiceModel/IDuplexClientChannel.cs
System.ServiceModel/IExtensibleObject.cs
System.ServiceModel/IExtension.cs
System.ServiceModel/IExtensionCollection.cs
@@ -237,7 +233,6 @@ System.ServiceModel/MessageHeader_1.cs
System.ServiceModel/MessageParameterAttribute.cs
System.ServiceModel/MessagePropertyAttribute.cs
System.ServiceModel/NetHttpBinding.cs
-System.ServiceModel/NetHttpsBinding.cs
System.ServiceModel/NetHttpMessageEncoding.cs
System.ServiceModel/OperationContext.cs
System.ServiceModel/OperationContextScope.cs
@@ -260,30 +255,3 @@ Dummy_2_1.cs
System.ServiceModel/XmlSerializerFormatAttribute.cs
System.ServiceModel.Description/XmlSerializerOperationBehavior.cs
System.ServiceModel.Dispatcher/XmlMessagesFormatter.cs
-
-System.ServiceModel.Channels/ConnectionOrientedTransportBindingElement.cs
-System.ServiceModel.Channels/SslStreamSecurityBindingElement.cs
-System.ServiceModel.Channels/TcpConnectionPoolSettings.cs
-System.ServiceModel.Channels/TcpTransportBindingElement.cs
-System.ServiceModel.Channels/WindowsStreamSecurityBindingElement.cs
-
-System.ServiceModel/MessageSecurityOverTcp.cs
-System.ServiceModel/NetTcpBinding.cs
-System.ServiceModel/NetTcpSecurity.cs
-System.ServiceModel/TcpTransportSecurity.cs
-System.ServiceModel/DnsEndpointIdentity.cs
-System.ServiceModel/SpnEndpointIdentity.cs
-System.ServiceModel/UpnEndpointIdentity.cs
-System.ServiceModel/MessageSecurityVersion.cs
-
-System.ServiceModel.Security/BasicSecurityProfileVersion.cs
-System.ServiceModel.Security/SecurityVersion.cs
-System.ServiceModel.Security/TrustVersion.cs
-System.ServiceModel.Security/SecureConversationVersion.cs
-System.ServiceModel.Security/SecurityPolicyVersion.cs
-
-System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs
-System.ServiceModel.Security.Tokens/SecurityTokenReferenceStyle.cs
-System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs
-System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs
-System.ServiceModel.Security.Tokens/UserNameSecurityTokenParameters.cs
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
index a34208a27eb..00000000000
--- a/mcs/class/System.Xml.XPath.XmlDocument/Assembly/AssemblyInfo.cs
+++ /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
index 504b374a939..00000000000
--- a/mcs/class/System.Xml.XPath.XmlDocument/Makefile
+++ /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
index c5813ec7c3d..00000000000
--- a/mcs/class/System.Xml.XPath.XmlDocument/System.Xml.XPath.XmlDocument.dll.sources
+++ /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
index ee4968baf6a..00000000000
--- a/mcs/class/System.Xml.XPath.XmlDocument/System.Xml/XmlDocumentXPathExtensions.cs
+++ /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 ();
- }
- }
-}
diff --git a/mcs/class/System/Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs b/mcs/class/System/Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs
deleted file mode 100644
index f3091aa38bc..00000000000
--- a/mcs/class/System/Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// SafeX509ChainHandle.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-#if SECURITY_DEP
-
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-
-namespace Microsoft.Win32.SafeHandles
-{
- public sealed class SafeX509ChainHandle : SafeHandle
- {
- [MonoTODO]
- public override bool IsInvalid
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- internal SafeX509ChainHandle() : base ((IntPtr)0, false)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected override bool ReleaseHandle()
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif
diff --git a/mcs/class/System/ReferenceSources/NativeMethods.cs b/mcs/class/System/ReferenceSources/NativeMethods.cs
index 67cba788682..48dd95a03ad 100644
--- a/mcs/class/System/ReferenceSources/NativeMethods.cs
+++ b/mcs/class/System/ReferenceSources/NativeMethods.cs
@@ -1,15 +1,7 @@
-using System;
-
namespace Microsoft.Win32
{
static class NativeMethods
{
- public const int E_ABORT = unchecked ((int)0x80004004);
-
- public static bool CloseProcess (IntPtr handle)
- {
- // TODO:
- return true;
- }
+ public const int E_ABORT = unchecked ((int)0x80004004);
}
} \ No newline at end of file
diff --git a/mcs/class/System/System.IO/FileSystemWatcher_mobile.cs b/mcs/class/System/System.IO/FileSystemWatcher_mobile.cs
deleted file mode 100644
index aa13ac52094..00000000000
--- a/mcs/class/System/System.IO/FileSystemWatcher_mobile.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// FileSystemWatcher.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.IO
-{
- public class FileSystemWatcher
- {
- public FileSystemWatcher () { throw new NotImplementedException (); }
- public FileSystemWatcher (string path) { throw new NotImplementedException (); }
- public FileSystemWatcher (string path, string filter) { throw new NotImplementedException (); }
- public bool EnableRaisingEvents { get { throw new NotImplementedException (); } set { throw new NotImplementedException (); } }
- public string Filter { get { throw new NotImplementedException (); } set { } }
- public bool IncludeSubdirectories { get { throw new NotImplementedException (); } set { } }
- public int InternalBufferSize { get { throw new NotImplementedException (); } set { } }
- public NotifyFilters NotifyFilter { get { throw new NotImplementedException (); } set { } }
- public string Path { get { throw new NotImplementedException (); } set { } }
- public event FileSystemEventHandler Changed;
- public event FileSystemEventHandler Created;
- public event FileSystemEventHandler Deleted;
- public event ErrorEventHandler Error;
- public event RenamedEventHandler Renamed;
- protected void OnChanged (FileSystemEventArgs e) { throw new NotImplementedException (); }
- protected void OnCreated (FileSystemEventArgs e) { throw new NotImplementedException (); }
- protected void OnDeleted (System.IO.FileSystemEventArgs e) { throw new NotImplementedException (); }
- protected void OnError (ErrorEventArgs e) { throw new NotImplementedException (); }
- protected void OnRenamed (RenamedEventArgs e) { throw new NotImplementedException (); }
- public WaitForChangedResult WaitForChanged (WatcherChangeTypes changeType) { throw new NotImplementedException (); }
- public WaitForChangedResult WaitForChanged (WatcherChangeTypes changeType, int timeout) { throw new NotImplementedException (); }
- }
-} \ No newline at end of file
diff --git a/mcs/class/System/System.Net.WebSockets/WebSocketCloseStatus.cs b/mcs/class/System/System.Net.WebSockets/WebSocketCloseStatus.cs
index d6621207cec..c89f2de39a2 100644
--- a/mcs/class/System/System.Net.WebSockets/WebSocketCloseStatus.cs
+++ b/mcs/class/System/System.Net.WebSockets/WebSocketCloseStatus.cs
@@ -38,12 +38,12 @@ namespace System.Net.WebSockets
EndpointUnavailable = 1001,
ProtocolError = 1002,
InvalidMessageType = 1003,
- Empty = 1005,
+ Empty,
InvalidPayloadData = 1007,
PolicyViolation = 1008,
- MessageTooBig = 1009,
+ MessageTooBig = 1004,
MandatoryExtension = 1010,
- InternalServerError = 1011
+ InternalServerError
}
}
diff --git a/mcs/class/System/System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs b/mcs/class/System/System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs
index 8aecd6542a6..ec341ea85e2 100644
--- a/mcs/class/System/System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs
+++ b/mcs/class/System/System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs
@@ -32,8 +32,8 @@ namespace System.Security.Authentication.ExtendedProtection
{
public enum ChannelBindingKind
{
- Unknown = 0,
- Unique = 25,
- Endpoint = 26
+ Unknown,
+ Unique,
+ Endpoint
}
}
diff --git a/mcs/class/System/System.dll.sources b/mcs/class/System/System.dll.sources
index 873b11b178c..9bbfdafcdce 100644
--- a/mcs/class/System/System.dll.sources
+++ b/mcs/class/System/System.dll.sources
@@ -26,8 +26,6 @@ Microsoft.Win32/UserPreferenceChangedEventArgs.cs
Microsoft.Win32/UserPreferenceChangedEventHandler.cs
Microsoft.Win32/UserPreferenceChangingEventArgs.cs
Microsoft.Win32/UserPreferenceChangingEventHandler.cs
-Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs
-
Mono.Http/NtlmClient.cs
System.CodeDom.Compiler/CodeCompiler.cs
System.CodeDom.Compiler/CodeDomConfigurationHandler.cs
@@ -1185,6 +1183,3 @@ ReferenceSources/_SslStream.cs
../../../external/referencesource/System/compmod/system/codedom/compiler/LanguageOptions.cs
../../../external/referencesource/System/services/monitoring/system/diagnosticts/AsyncStreamReader.cs
-
-../../../external/referencesource/System/compmod/microsoft/win32/safehandles/SafeProcessHandle.cs
-
diff --git a/mcs/class/System/mobile_System.dll.sources b/mcs/class/System/mobile_System.dll.sources
index 10b0196b4e7..7ec051a5da5 100644
--- a/mcs/class/System/mobile_System.dll.sources
+++ b/mcs/class/System/mobile_System.dll.sources
@@ -28,16 +28,6 @@ System.IO.Compression/DeflateStream.cs
System.IO.Compression/GZipStream.cs
System.IO/InternalBufferOverflowException.cs
System.IO/InvalidDataException.cs
-System.IO/ErrorEventArgs.cs
-System.IO/ErrorEventHandler.cs
-System.IO/FileSystemEventArgs.cs
-System.IO/FileSystemEventHandler.cs
-System.IO/FileSystemWatcher_mobile.cs
-System.IO/NotifyFilters.cs
-System.IO/RenamedEventArgs.cs
-System.IO/RenamedEventHandler.cs
-System.IO/WaitForChangedResult.cs
-System.IO/WatcherChangeTypes.cs
System.Net.Mail/AlternateView.cs
System.Net.Mail/AlternateViewCollection.cs
System.Net.Mail/Attachment.cs
@@ -369,7 +359,6 @@ System/UriTypeConverter.cs
System/UriElements.cs
System/UriParseComponents.cs
System.Windows.Input/ICommand.cs
-Microsoft.Win32.SafeHandles/SafeX509ChainHandle.cs
Mono.Net.Security/CallbackHelpers.cs
Mono.Net.Security/ChainValidationHelper.cs
@@ -898,18 +887,4 @@ ReferenceSources/Win32Exception.cs
../Mono.Security/Mono.Security.Interface/TlsProtocolCode.cs
../Mono.Security/Mono.Security.Interface/TlsProtocols.cs
-../../../external/referencesource/System/services/monitoring/system/diagnosticts/AsyncStreamReader.cs
-
-../../../external/referencesource/System/compmod/microsoft/win32/safehandles/SafeProcessHandle.cs
-
-System.Runtime.InteropServices.ComTypes/ADVF.cs
-System.Runtime.InteropServices.ComTypes/DATADIR.cs
-System.Runtime.InteropServices.ComTypes/DVASPECT.cs
-System.Runtime.InteropServices.ComTypes/FORMATETC.cs
-System.Runtime.InteropServices.ComTypes/IAdviseSink.cs
-System.Runtime.InteropServices.ComTypes/IDataObject.cs
-System.Runtime.InteropServices.ComTypes/IEnumFORMATETC.cs
-System.Runtime.InteropServices.ComTypes/IEnumSTATDATA.cs
-System.Runtime.InteropServices.ComTypes/STATDATA.cs
-System.Runtime.InteropServices.ComTypes/STGMEDIUM.cs
-System.Runtime.InteropServices.ComTypes/TYMED.cs
+../../../external/referencesource/System/services/monitoring/system/diagnosticts/AsyncStreamReader.cs \ No newline at end of file
diff --git a/mcs/class/corlib/Microsoft.Win32/Registry.cs b/mcs/class/corlib/Microsoft.Win32/Registry.cs
index 343e818ace8..778ccf34afc 100644
--- a/mcs/class/corlib/Microsoft.Win32/Registry.cs
+++ b/mcs/class/corlib/Microsoft.Win32/Registry.cs
@@ -29,6 +29,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NET_2_1
+
using System;
using System.Runtime.InteropServices;
@@ -135,3 +137,5 @@ namespace Microsoft.Win32
}
}
+#endif // NET_2_1
+
diff --git a/mcs/class/corlib/Microsoft.Win32/RegistryHive.cs b/mcs/class/corlib/Microsoft.Win32/RegistryHive.cs
index 922e78009ef..aa5e9d99276 100644
--- a/mcs/class/corlib/Microsoft.Win32/RegistryHive.cs
+++ b/mcs/class/corlib/Microsoft.Win32/RegistryHive.cs
@@ -27,6 +27,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NET_2_1
+
using System;
using System.Runtime.InteropServices;
@@ -49,3 +51,5 @@ namespace Microsoft.Win32
}
+#endif // NET_2_1
+
diff --git a/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs b/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs
index a0f30146c82..623efdf77bb 100644
--- a/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs
+++ b/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs
@@ -29,6 +29,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NET_2_1
+
using System;
using System.IO;
using System.Collections;
@@ -42,50 +44,6 @@ using Microsoft.Win32.SafeHandles;
namespace Microsoft.Win32
{
-
-#if MOBILE
- public sealed class RegistryKey : IDisposable
- {
- internal RegistryKey (RegistryHive hiveId)
- {
- throw new PlatformNotSupportedException ();
- }
-
- public void Dispose ()
- {
- }
-
- public RegistryKey CreateSubKey (string subkey)
- {
- throw new PlatformNotSupportedException ();
- }
-
- public object GetValue (string name, object defaultValue)
- {
- throw new PlatformNotSupportedException ();
- }
-
- public static object GetValue (string keyName, string valueName, object defaultValue)
- {
- throw new PlatformNotSupportedException ();
- }
-
- public RegistryKey OpenSubKey (string name, bool writable)
- {
- throw new PlatformNotSupportedException ();
- }
-
- public void SetValue (string name, object value)
- {
- }
-
- public void SetValue (string name, object value, RegistryValueKind valueKind)
- {
- }
-
- // TODO: Finish full contract API
- }
-#else
/// <summary>
/// Wrapper class for Windows Registry Entry.
/// </summary>
@@ -735,6 +693,7 @@ namespace Microsoft.Win32
}
}
-#endif
}
+#endif // NET_2_1
+
diff --git a/mcs/class/corlib/Microsoft.Win32/RegistryValueKind.cs b/mcs/class/corlib/Microsoft.Win32/RegistryValueKind.cs
index 8db4a861b56..38f5c23026e 100644
--- a/mcs/class/corlib/Microsoft.Win32/RegistryValueKind.cs
+++ b/mcs/class/corlib/Microsoft.Win32/RegistryValueKind.cs
@@ -25,6 +25,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NET_2_1
+
using System.Runtime.InteropServices;
namespace Microsoft.Win32
@@ -42,3 +44,5 @@ namespace Microsoft.Win32
}
}
+#endif // NET_2_1
+
diff --git a/mcs/class/corlib/Microsoft.Win32/RegistryValueOptions.cs b/mcs/class/corlib/Microsoft.Win32/RegistryValueOptions.cs
index 54f16378f30..98d4f3ec325 100644
--- a/mcs/class/corlib/Microsoft.Win32/RegistryValueOptions.cs
+++ b/mcs/class/corlib/Microsoft.Win32/RegistryValueOptions.cs
@@ -26,6 +26,8 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NET_2_1
+
using System;
namespace Microsoft.Win32
@@ -37,3 +39,5 @@ namespace Microsoft.Win32
}
}
+#endif // NET_2_1
+
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventDataAttribute.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventDataAttribute.cs
deleted file mode 100644
index 9a3d0cd6f34..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventDataAttribute.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// EventDataAttribute.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false)]
- public class EventDataAttribute : Attribute
- {
- [MonoTODO]
- public string Name
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
- }
-} \ No newline at end of file
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldAttribute.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldAttribute.cs
deleted file mode 100644
index 46917462a26..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldAttribute.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// EventFieldAttribute.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- [AttributeUsage(AttributeTargets.Property)]
- public class EventFieldAttribute : Attribute
- {
- [MonoTODO]
- public EventFieldFormat Format
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public EventFieldTags Tags
- {
- get
- {
- throw new NotImplementedException ();
- }
- set
- {
- throw new NotImplementedException ();
- }
- }
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldFormat.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldFormat.cs
deleted file mode 100644
index 045cf655e12..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldFormat.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// EventFieldFormat.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- public enum EventFieldFormat
- {
- Boolean = 3,
- Default = 0,
- Hexadecimal = 4,
- HResult = 15,
- Json = 12,
- String = 2,
- Xml = 11
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldTags.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldTags.cs
deleted file mode 100644
index 5f8cb37258e..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventFieldTags.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// EventFieldTags.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- [Flags]
- public enum EventFieldTags
- {
- None = 0
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventIgnoreAttribute.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventIgnoreAttribute.cs
deleted file mode 100644
index 8a276b38e77..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventIgnoreAttribute.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// EventIgnoreAttribute.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- [AttributeUsage(AttributeTargets.Property)]
- public class EventIgnoreAttribute : Attribute
- {
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventListener.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventListener.cs
deleted file mode 100644
index bc944350b30..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventListener.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// EventListener.cs
-//
-// Authors:
-// Frederik Carlier <frederik.carlier@quamotion.mobi>
-//
-// Copyright (C) 2015 Quamotion (http://quamotion.mobi)
-//
-// 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.Generic;
-
-namespace System.Diagnostics.Tracing
-{
- public abstract class EventListener : IDisposable
- {
- protected EventListener ()
- {
- }
-
- public static int EventSourceIndex(EventSource eventSource)
- {
- return 0;
- }
-
- public void EnableEvents (EventSource eventSource, EventLevel level)
- {
- }
-
- public void EnableEvents (EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword)
- {
- }
-
- public void EnableEvents (EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword, IDictionary<string, string> arguments)
- {
- }
-
- public void DisableEvents (EventSource eventSource)
- {
- }
-
- protected internal virtual void OnEventSourceCreated (EventSource eventSource)
- {
- }
-
- protected internal abstract void OnEventWritten (EventWrittenEventArgs eventData);
-
- public virtual void Dispose()
- {
- }
- }
-}
-
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventManifestOptions.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventManifestOptions.cs
deleted file mode 100644
index ed5ff2a441e..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventManifestOptions.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// EventManifestOptions.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- [Flags]
- public enum EventManifestOptions
- {
- AllCultures = 2,
- AllowEventSourceOverride = 8,
- None = 0,
- OnlyIfNeededForRegistration = 4,
- Strict = 1
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventSource.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventSource.cs
index 0872f01977a..181eedff023 100644
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventSource.cs
+++ b/mcs/class/corlib/System.Diagnostics.Tracing/EventSource.cs
@@ -3,10 +3,8 @@
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
-// Frederik Carlier <frederik.carlier@quamotion.mobi>
//
// Copyright (C) 2014 Xamarin Inc (http://www.xamarin.com)
-// Copyrithg (C) 2015 Quamotion (http://quamotion.mobi)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -33,12 +31,6 @@ namespace System.Diagnostics.Tracing
{
public class EventSource : IDisposable
{
- protected internal struct EventData
- {
- public IntPtr DataPointer { get; set; }
- public int Size { get; set; }
- }
-
protected EventSource ()
{
this.Name = this.GetType().Name;
@@ -158,62 +150,50 @@ namespace System.Diagnostics.Tracing
protected void WriteEvent (int eventId)
{
- WriteEvent (eventId, new object[] { } );
}
protected void WriteEvent (int eventId, byte[] arg1)
{
- WriteEvent (eventId, new object[] { arg1 } );
}
protected void WriteEvent (int eventId, int arg1)
{
- WriteEvent (eventId, new object[] { arg1 } );
}
protected void WriteEvent (int eventId, string arg1)
{
- WriteEvent (eventId, new object[] { arg1 } );
}
protected void WriteEvent (int eventId, int arg1, int arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, int arg1, int arg2, int arg3)
{
- WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
}
protected void WriteEvent (int eventId, int arg1, string arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, long arg1)
{
- WriteEvent (eventId, new object[] { arg1 } );
}
protected void WriteEvent (int eventId, long arg1, byte[] arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, long arg1, long arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, long arg1, long arg2, long arg3)
{
- WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
}
protected void WriteEvent (int eventId, long arg1, string arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, params object[] args)
@@ -222,27 +202,22 @@ namespace System.Diagnostics.Tracing
protected void WriteEvent (int eventId, string arg1, int arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, string arg1, int arg2, int arg3)
{
- WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
}
protected void WriteEvent (int eventId, string arg1, long arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, string arg1, string arg2)
{
- WriteEvent (eventId, new object[] { arg1, arg2 } );
}
protected void WriteEvent (int eventId, string arg1, string arg2, string arg3)
{
- WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
}
}
}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventSourceException.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventSourceException.cs
deleted file mode 100644
index 3602e29e8c0..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventSourceException.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// EventSourceException.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Diagnostics.Tracing
-{
- public class EventSourceException : Exception
- {
- [MonoTODO]
- public EventSourceException ()
- {
- }
-
- [MonoTODO]
- public EventSourceException (string message)
- {
- }
-
- [MonoTODO]
- public EventSourceException (string message, Exception innerException)
- {
- }
- }
-}
diff --git a/mcs/class/corlib/System.Diagnostics.Tracing/EventWrittenEventArgs.cs b/mcs/class/corlib/System.Diagnostics.Tracing/EventWrittenEventArgs.cs
deleted file mode 100644
index d9ddcbd12d2..00000000000
--- a/mcs/class/corlib/System.Diagnostics.Tracing/EventWrittenEventArgs.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-//
-// EventWrittenEventArgs.cs
-//
-// Authors:
-// Frederik Carlier <frederik.carlier@quamotion.mobi>
-//
-// Copyright (C) 2015 Quamotion (http://quamotion.mobi)
-//
-// 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.Generic;
-using System.Collections.ObjectModel;
-
-namespace System.Diagnostics.Tracing
-{
- public class EventWrittenEventArgs : EventArgs
- {
- internal EventWrittenEventArgs (EventSource eventSource)
- {
- this.EventSource = eventSource;
- }
-
- public Guid ActivityId
- {
- get { return EventSource.CurrentThreadActivityId; }
- }
-
- public EventChannel Channel
- {
- get { return EventChannel.None; }
- }
-
- public int EventId
- {
- get;
- internal set;
- }
-
- public string EventName
- {
- get;
- internal set;
- }
-
- public EventSource EventSource
- {
- get;
- private set;
- }
-
- public EventKeywords Keywords
- {
- get { return EventKeywords.None; }
- }
-
- public EventLevel Level
- {
- get { return EventLevel.LogAlways; }
- }
-
- public string Message
- {
- get;
- internal set;
- }
-
- public EventOpcode Opcode
- {
- get { return EventOpcode.Info; }
- }
-
- public ReadOnlyCollection<object> Payload
- {
- get;
- internal set;
- }
-
- public ReadOnlyCollection<string> PayloadNames
- {
- get;
- internal set;
- }
-
- public Guid RelatedActivityId
- {
- get;
- internal set;
- }
-
- public EventTags Tags
- {
- get { return EventTags.None; }
- }
-
- public EventTask Task
- {
- get { return EventTask.None; }
- }
-
- public byte Version
- {
- get { return 0; }
- }
- }
-}
-
diff --git a/mcs/class/corlib/System.Globalization/CultureInfo.cs b/mcs/class/corlib/System.Globalization/CultureInfo.cs
index e8ad14ec6b4..242bc800ac8 100644
--- a/mcs/class/corlib/System.Globalization/CultureInfo.cs
+++ b/mcs/class/corlib/System.Globalization/CultureInfo.cs
@@ -128,22 +128,12 @@ namespace System.Globalization
get {
return Thread.CurrentThread.CurrentCulture;
}
-#if NETSTANDARD
- set {
- throw new NotImplementedException ();
- }
-#endif
}
public static CultureInfo CurrentUICulture {
get {
return Thread.CurrentThread.CurrentUICulture;
}
-#if NETSTANDARD
- set {
- throw new NotImplementedException ();
- }
-#endif
}
internal static CultureInfo ConstructCurrentCulture ()
diff --git a/mcs/class/corlib/System.Reflection.Emit/FlowControl.cs b/mcs/class/corlib/System.Reflection.Emit/FlowControl.cs
index 133ff0be6d9..8a852c13942 100644
--- a/mcs/class/corlib/System.Reflection.Emit/FlowControl.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/FlowControl.cs
@@ -25,6 +25,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -86,3 +87,5 @@ namespace System.Reflection.Emit {
}
}
+
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/OpCode.cs b/mcs/class/corlib/System.Reflection.Emit/OpCode.cs
index aa3453d2006..e6cdf10b737 100644
--- a/mcs/class/corlib/System.Reflection.Emit/OpCode.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/OpCode.cs
@@ -26,6 +26,8 @@
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
+
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -149,3 +151,4 @@ namespace System.Reflection.Emit {
}
}
}
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/OpCodeNames.cs b/mcs/class/corlib/System.Reflection.Emit/OpCodeNames.cs
index 67ddad4a581..1163869317e 100644
--- a/mcs/class/corlib/System.Reflection.Emit/OpCodeNames.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/OpCodeNames.cs
@@ -1,3 +1,4 @@
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
namespace System.Reflection.Emit {
static class OpCodeNames {
internal static readonly string [] names = {
@@ -308,3 +309,4 @@ namespace System.Reflection.Emit {
};
}
}
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/OpCodeType.cs b/mcs/class/corlib/System.Reflection.Emit/OpCodeType.cs
index c50e574bde8..df0cbf0d50a 100644
--- a/mcs/class/corlib/System.Reflection.Emit/OpCodeType.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/OpCodeType.cs
@@ -25,6 +25,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -74,3 +75,4 @@ namespace System.Reflection.Emit {
}
}
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/OpCodes.cs b/mcs/class/corlib/System.Reflection.Emit/OpCodes.cs
index 03317d2626f..6e891d538d4 100644
--- a/mcs/class/corlib/System.Reflection.Emit/OpCodes.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/OpCodes.cs
@@ -1,3 +1,4 @@
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -928,3 +929,4 @@ namespace System.Reflection.Emit {
}
}
}
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/OperandType.cs b/mcs/class/corlib/System.Reflection.Emit/OperandType.cs
index 4d823d33cbe..2985b1b57ee 100644
--- a/mcs/class/corlib/System.Reflection.Emit/OperandType.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/OperandType.cs
@@ -25,6 +25,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -111,3 +112,5 @@ namespace System.Reflection.Emit {
}
}
+
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/PackingSize.cs b/mcs/class/corlib/System.Reflection.Emit/PackingSize.cs
index ad6be1d1d74..08052a3386e 100644
--- a/mcs/class/corlib/System.Reflection.Emit/PackingSize.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/PackingSize.cs
@@ -25,6 +25,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -69,3 +70,6 @@ namespace System.Reflection.Emit {
}
}
+
+
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Emit/StackBehaviour.cs b/mcs/class/corlib/System.Reflection.Emit/StackBehaviour.cs
index 524ea8d3059..16a27149592 100644
--- a/mcs/class/corlib/System.Reflection.Emit/StackBehaviour.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/StackBehaviour.cs
@@ -25,6 +25,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME || IOS_REFLECTION
using System.Runtime.InteropServices;
namespace System.Reflection.Emit {
@@ -152,3 +153,4 @@ namespace System.Reflection.Emit {
}
}
+#endif
diff --git a/mcs/class/corlib/System.Reflection.Metadata/AssemblyExtensions.cs b/mcs/class/corlib/System.Reflection.Metadata/AssemblyExtensions.cs
deleted file mode 100644
index 19da0435b5a..00000000000
--- a/mcs/class/corlib/System.Reflection.Metadata/AssemblyExtensions.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// 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.
-//
-
-#if NETSTANDARD
-
-namespace System.Reflection.Metadata
-{
- public static class AssemblyExtensions
- {
- //
- // System.Runtime.Loader netstandard typeforwarders dependency
- //
- [CLSCompliant(false)]
- public unsafe static bool TryGetRawMetadata (this System.Reflection.Assembly assembly, out byte* blob, out int length)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/corlib/System.Reflection/AssemblyName.cs b/mcs/class/corlib/System.Reflection/AssemblyName.cs
index 42006c3e80f..9da34563f24 100644
--- a/mcs/class/corlib/System.Reflection/AssemblyName.cs
+++ b/mcs/class/corlib/System.Reflection/AssemblyName.cs
@@ -433,11 +433,6 @@ namespace System.Reflection {
get {
return (cultureinfo == null)? null : cultureinfo.Name;
}
-#if NETSTANDARD
- set {
- throw new NotImplementedException ();
- }
-#endif
}
[ComVisibleAttribute(false)]
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs b/mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs
deleted file mode 100644
index 3e13572911b..00000000000
--- a/mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// ComAwareEventInfo.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-using System.Reflection;
-
-namespace System.Runtime.InteropServices
-{
- public class ComAwareEventInfo : EventInfo
- {
- [MonoTODO]
- public override EventAttributes Attributes
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public override Type DeclaringType
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public override string Name
- {
- get
- {
- throw new NotImplementedException ();
- }
- }
-
- [MonoTODO]
- public ComAwareEventInfo (Type type, string eventName)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override void AddEventHandler (object target, Delegate handler)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override void RemoveEventHandler (object target, Delegate handler)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override MethodInfo GetAddMethod (bool nonPublic)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override MethodInfo GetRaiseMethod (bool nonPublic)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override MethodInfo GetRemoveMethod (bool nonPublic)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override object[] GetCustomAttributes (Type attributeType, bool inherit)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override object[] GetCustomAttributes (bool inherit)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override bool IsDefined (Type attributeType, bool inherit)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public override Type ReflectedType
- {
- get { throw new NotImplementedException (); }
- }
- }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ComEventsHelper.cs b/mcs/class/corlib/System.Runtime.InteropServices/ComEventsHelper.cs
deleted file mode 100644
index 5ab80205a9a..00000000000
--- a/mcs/class/corlib/System.Runtime.InteropServices/ComEventsHelper.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// ComEventsHelper.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Runtime.InteropServices
-{
- public static class ComEventsHelper
- {
- [MonoTODO]
- public static void Combine(object rcw, Guid iid, int dispid, Delegate d)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public static Delegate Remove(object rcw, Guid iid, int dispid, Delegate d)
- {
- throw new NotImplementedException ();
- }
- }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/CustomQueryInterfaceMode.cs b/mcs/class/corlib/System.Runtime.InteropServices/CustomQueryInterfaceMode.cs
deleted file mode 100644
index 1cbf55c08e3..00000000000
--- a/mcs/class/corlib/System.Runtime.InteropServices/CustomQueryInterfaceMode.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// CustomQueryInterfaceMode.cs
-//
-// Authors:
-// Alexander Köplinger <alexander.koeplinger@xamarin.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.
-//
-
-using System;
-
-namespace System.Runtime.InteropServices
-{
- public enum CustomQueryInterfaceMode
- {
- Allow = 1,
- Ignore = 0
- }
-}
diff --git a/mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs b/mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs
deleted file mode 100644
index 1839144bcbc..00000000000
--- a/mcs/class/corlib/System.Runtime.Loader/AssemblyLoadContext.cs
+++ /dev/null
@@ -1,108 +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.
-//
-
-#if NETSTANDARD
-
-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)
- {
- }
-
- public event Func<AssemblyLoadContext, System.Reflection.AssemblyName, System.Reflection.Assembly> Resolving;
- public event Action<AssemblyLoadContext> Unloading;
- }
-}
-
-#endif \ No newline at end of file
diff --git a/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs b/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs
index c86156e8ca1..0ce7736f574 100644
--- a/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs
+++ b/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs
@@ -34,7 +34,6 @@ using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Security.Permissions;
using System.Security.Claims;
-using Microsoft.Win32.SafeHandles;
namespace System.Security.Principal {
@@ -313,10 +312,6 @@ namespace System.Security.Principal {
}
}
- public SafeAccessTokenHandle AccessToken {
- get { throw new NotImplementedException (); }
- }
-
// see mono/mono/metadata/security.c for implementation
// Many people use reflection to get a user's roles - so many
diff --git a/mcs/class/corlib/System.Security/SafeAccessTokenHandle.cs b/mcs/class/corlib/System.Security/SafeAccessTokenHandle.cs
deleted file mode 100644
index d7682bfd2ff..00000000000
--- a/mcs/class/corlib/System.Security/SafeAccessTokenHandle.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace Microsoft.Win32.SafeHandles
-{
- public sealed class SafeAccessTokenHandle : SafeHandle
- {
- public override bool IsInvalid {
- get {
- return handle == IntPtr.Zero;
- }
- }
-
- public SafeAccessTokenHandle ()
- : base (IntPtr.Zero, true)
- {
-
- }
-
- protected override bool ReleaseHandle()
- {
- return true;
- }
- }
-}
diff --git a/mcs/class/corlib/corlib.dll.sources b/mcs/class/corlib/corlib.dll.sources
index c13a364bfff..cb79dfd78f2 100644
--- a/mcs/class/corlib/corlib.dll.sources
+++ b/mcs/class/corlib/corlib.dll.sources
@@ -172,16 +172,7 @@ System.Diagnostics.Tracing/EventSource.cs
System.Diagnostics.Tracing/EventSourceAttribute.cs
System.Diagnostics.Tracing/EventSourceSettings.cs
System.Diagnostics.Tracing/EventCommandEventArgs.cs
-System.Diagnostics.Tracing/EventListener.cs
-System.Diagnostics.Tracing/EventWrittenEventArgs.cs
System.Diagnostics.Tracing/NonEventAttribute.cs
-System.Diagnostics.Tracing/EventDataAttribute.cs
-System.Diagnostics.Tracing/EventFieldAttribute.cs
-System.Diagnostics.Tracing/EventFieldFormat.cs
-System.Diagnostics.Tracing/EventFieldTags.cs
-System.Diagnostics.Tracing/EventIgnoreAttribute.cs
-System.Diagnostics.Tracing/EventManifestOptions.cs
-System.Diagnostics.Tracing/EventSourceException.cs
System.Diagnostics.SymbolStore/ISymbolBinder.cs
System.Diagnostics.SymbolStore/ISymbolBinder1.cs
System.Diagnostics.SymbolStore/ISymbolDocument.cs
@@ -314,7 +305,6 @@ System.Reflection.Emit/StringToken.cs
System.Reflection.Emit/TypeBuilder.cs
System.Reflection.Emit/TypeToken.cs
System.Reflection.Emit/UnmanagedMarshal.cs
-System.Reflection.Metadata/AssemblyExtensions.cs
System.Resources/Win32Resources.cs
System.Runtime/GCLargeObjectHeapCompactionMode.cs
System.Runtime/GCLatencyMode.cs
@@ -444,9 +434,7 @@ System.Runtime.InteropServices/UnknownWrapper.cs
System.Runtime.InteropServices/VARDESC.cs
System.Runtime.InteropServices/VARFLAGS.cs
System.Runtime.InteropServices/VariantWrapper.cs
-System.Runtime.InteropServices/CustomQueryInterfaceMode.cs
-System.Runtime.InteropServices/ComAwareEventInfo.cs
-System.Runtime.InteropServices/ComEventsHelper.cs
+
System.Runtime.InteropServices.WindowsRuntime/DefaultInterfaceAttribute.cs
System.Runtime.InteropServices.WindowsRuntime/DesignerNamespaceResolveEventArgs.cs
System.Runtime.InteropServices.WindowsRuntime/EventRegistrationToken.cs
@@ -635,7 +623,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
@@ -650,7 +637,6 @@ System.Security/NamedPermissionSet.cs
System.Security/PermissionBuilder.cs
System.Security/PermissionSet.cs
System.Security/PolicyLevelType.cs
-System.Security/SafeAccessTokenHandle.cs
System.Security/SecureString.cs
System.Security/SecurityElement.cs
System.Security/SecurityFrame.cs
@@ -1294,7 +1280,6 @@ ReferenceSources/SecurityContext.cs
../../../external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
../../../external/referencesource/mscorlib/system/runtime/interopservices/attributes.cs
-../../../external/referencesource/mscorlib/system/runtime/interopservices/icustomqueryinterface.cs
../../../external/referencesource/mscorlib/system/runtime/interopservices/runtimeenvironment.cs
../../../external/referencesource/mscorlib/system/runtime/interopservices/safehandle.cs
../../../external/referencesource/mscorlib/system/runtime/interopservices/ucomienumconnections.cs