diff options
author | Alexander Köplinger <alex.koeplinger@outlook.com> | 2016-07-14 18:20:03 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2016-07-14 18:20:03 +0300 |
commit | 20f49f908c07c8a2c12f710e4879061a88d35c58 (patch) | |
tree | 7992239032ba1e9d0afc7b23d3df8dfc81e3c8cf | |
parent | 7c651609e6a47444ab54d9006a0014434de66c8e (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.
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 |