From 7b44769fd37799817caae3fa92e647346c3945da Mon Sep 17 00:00:00 2001 From: Anipik Date: Mon, 29 Apr 2019 11:47:13 -0700 Subject: [PATCH 1/3] type converter ctor made internal --- .../ref/System.ComponentModel.TypeConverter.cs | 2 +- .../src/System/ComponentModel/BaseNumberConverter.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs b/src/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs index 8ecf8e715762..f24bbefe459d 100644 --- a/src/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs +++ b/src/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs @@ -84,7 +84,7 @@ public AttributeProviderAttribute(System.Type type) { } } public abstract partial class BaseNumberConverter : System.ComponentModel.TypeConverter { - protected BaseNumberConverter() { } + internal BaseNumberConverter() { } public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; } public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; } public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; } diff --git a/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs b/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs index b631cde30d84..840378ab0750 100644 --- a/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs +++ b/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs @@ -11,6 +11,8 @@ namespace System.ComponentModel /// public abstract class BaseNumberConverter : TypeConverter { + internal BaseNumberConverter() { } + /// /// Determines whether this editor will attempt to convert hex (0x or #) strings /// From 0b64b8f119d42c5381258d35670620842c0e4301 Mon Sep 17 00:00:00 2001 From: Anipik Date: Mon, 29 Apr 2019 12:24:48 -0700 Subject: [PATCH 2/3] diasabling apicompat for the change --- src/shims/ApiCompatBaseline.netcoreapp.netstandard.txt | 9 ++++++++- .../ApiCompatBaseline.netcoreapp.netstandardOnly.txt | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/shims/ApiCompatBaseline.netcoreapp.netstandard.txt b/src/shims/ApiCompatBaseline.netcoreapp.netstandard.txt index f9326ee8077a..9b33da3ea6e7 100644 --- a/src/shims/ApiCompatBaseline.netcoreapp.netstandard.txt +++ b/src/shims/ApiCompatBaseline.netcoreapp.netstandard.txt @@ -26,4 +26,11 @@ Compat issues with assembly System.Security.Cryptography.Pkcs: MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.Certificates.set(System.Security.Cryptography.X509Certificates.X509Certificate2Collection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.SignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.UnsignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. -Total Issues: 21 +Compat issues with assembly System.ComponentModel.TypeConverter: +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 27 diff --git a/src/shims/ApiCompatBaseline.netcoreapp.netstandardOnly.txt b/src/shims/ApiCompatBaseline.netcoreapp.netstandardOnly.txt index b038da471ac3..a5f2a50cd687 100644 --- a/src/shims/ApiCompatBaseline.netcoreapp.netstandardOnly.txt +++ b/src/shims/ApiCompatBaseline.netcoreapp.netstandardOnly.txt @@ -79,4 +79,10 @@ MembersMustExist : Member 'System.String.Chars.get(System.Range)' does not exist MembersMustExist : Member 'System.String.Substring(System.Index)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.String.Substring(System.Range)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Utf8String.Slice(System.Int32, System.Int32)' does not exist in the implementation but it does exist in the contract. -Total Issues: 80 +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 86 From 090026f3fcf04a9df8a615c62f03e5ed533c5a5a Mon Sep 17 00:00:00 2001 From: Anipik Date: Mon, 29 Apr 2019 12:43:52 -0700 Subject: [PATCH 3/3] Fixing uap app compat --- src/shims/ApiCompatBaseline.uap.netstandard.txt | 9 ++++++++- src/shims/ApiCompatBaseline.uap.netstandardOnly.txt | 8 +++++++- src/shims/ApiCompatBaseline.uapaot.netstandard.txt | 9 ++++++++- src/shims/ApiCompatBaseline.uapaot.netstandardOnly.txt | 8 +++++++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/shims/ApiCompatBaseline.uap.netstandard.txt b/src/shims/ApiCompatBaseline.uap.netstandard.txt index 9478e274be96..2dc0f4c796a8 100644 --- a/src/shims/ApiCompatBaseline.uap.netstandard.txt +++ b/src/shims/ApiCompatBaseline.uap.netstandard.txt @@ -99,4 +99,11 @@ Compat issues with assembly System.Security.Cryptography.Pkcs: MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.Certificates.set(System.Security.Cryptography.X509Certificates.X509Certificate2Collection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.SignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.UnsignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. -Total Issues: 86 \ No newline at end of file +Compat issues with assembly System.ComponentModel.TypeConverter: +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 92 \ No newline at end of file diff --git a/src/shims/ApiCompatBaseline.uap.netstandardOnly.txt b/src/shims/ApiCompatBaseline.uap.netstandardOnly.txt index 5d2d2879f593..5a7c8acf8d6b 100644 --- a/src/shims/ApiCompatBaseline.uap.netstandardOnly.txt +++ b/src/shims/ApiCompatBaseline.uap.netstandardOnly.txt @@ -82,4 +82,10 @@ MembersMustExist : Member 'System.String.Chars.get(System.Range)' does not exist MembersMustExist : Member 'System.String.Substring(System.Index)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.String.Substring(System.Range)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Utf8String.Slice(System.Int32, System.Int32)' does not exist in the implementation but it does exist in the contract. -Total Issues: 83 +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 89 diff --git a/src/shims/ApiCompatBaseline.uapaot.netstandard.txt b/src/shims/ApiCompatBaseline.uapaot.netstandard.txt index 360298a12ef5..4560b09ab757 100644 --- a/src/shims/ApiCompatBaseline.uapaot.netstandard.txt +++ b/src/shims/ApiCompatBaseline.uapaot.netstandard.txt @@ -105,4 +105,11 @@ Compat issues with assembly System.Security.Cryptography.Pkcs: MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.Certificates.set(System.Security.Cryptography.X509Certificates.X509Certificate2Collection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.SignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.UnsignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract. -Total Issues: 92 \ No newline at end of file +Compat issues with assembly System.ComponentModel.TypeConverter: +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 98 \ No newline at end of file diff --git a/src/shims/ApiCompatBaseline.uapaot.netstandardOnly.txt b/src/shims/ApiCompatBaseline.uapaot.netstandardOnly.txt index e33ffe0f01a2..6615b50b17f6 100644 --- a/src/shims/ApiCompatBaseline.uapaot.netstandardOnly.txt +++ b/src/shims/ApiCompatBaseline.uapaot.netstandardOnly.txt @@ -71,4 +71,10 @@ MembersMustExist : Member 'System.Runtime.InteropServices.Marshal.GetTypedObject MembersMustExist : Member 'System.Runtime.InteropServices.Marshal.SetComObjectData(System.Object, System.Object, System.Object)' does not exist in the implementation but it does exist in the contract. CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlAnyAttributeAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation. CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlNamespaceDeclarationsAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation. -Total Issues: 71 +CannotSealType : Type 'System.ComponentModel.BaseNumberConverter' is effectively (has a private constructor) sealed in the implementation but not sealed in the contract. +MembersMustExist : Member 'System.ComponentModel.BaseNumberConverter..ctor()' does not exist in the implementation but it does exist in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Type)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)' is non-virtual in the implementation but is virtual in the contract. +CannotMakeMemberNonVirtual : Member 'System.ComponentModel.BaseNumberConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object, System.Type)' is non-virtual in the implementation but is virtual in the contract. +Total Issues: 77