Add TypeDescriptionProviders to XLinq (dotnet/corefx#33082)
authorEric StJohn <ericstj@microsoft.com>
Mon, 29 Oct 2018 23:35:00 +0000 (16:35 -0700)
committerGitHub <noreply@github.com>
Mon, 29 Oct 2018 23:35:00 +0000 (16:35 -0700)
commitc160716e9d275dc5edc69cba7fe1e55eeaad8739
tree4edfeeda18d9e34768ea60e39d2261e5d4a49761
parent1790dff4c860f7c51f82026264f3091b63e9ba37
Add TypeDescriptionProviders to XLinq (dotnet/corefx#33082)

* Bring over XComponentModel code from desktop

* Format code and add License.

* Add TypeDescriptionProviders to XLinq

This adds TypeDescriptionProviders to XAttribute and XElement

To do this without introducing a TypeConverter dependency in XML I had to push
TypeDescriptionProviderAttribute down.

This still causes TypeConverter to gain a dependency on XML, but right now that's the direction
we've been heading with TypeConverter.

I had to use the string overload of TypeDescriptionProviderAttribute in order to have a soft
dependency on TypeConverter.

* Format XComponentModel source for access / naming

* Remove TypeDescriptionProvider from reference assemblies

I decided to remove this from the reference assemblies.  None  of the usages I found would require
presense in the reference assemblies and it would expose too much internal surface which we might
want to change in the future (type name, and assembly).

Commit migrated from https://github.com/dotnet/corefx/commit/a01c44c78d37267c4e30cb1d647376e103557493
13 files changed:
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs
src/libraries/System.ComponentModel.TypeConverter/src/ILLinkTrim.xml
src/libraries/System.ComponentModel.TypeConverter/src/MS/Internal/Xml/Linq/ComponentModel/XComponentModel.cs [new file with mode: 0644]
src/libraries/System.ComponentModel.TypeConverter/src/System.ComponentModel.TypeConverter.csproj
src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
src/libraries/System.ComponentModel.TypeConverter/tests/XTypeDescriptionProviderTests.cs [new file with mode: 0644]
src/libraries/System.ObjectModel/ref/System.ObjectModel.cs
src/libraries/System.ObjectModel/src/System.ObjectModel.csproj
src/libraries/System.ObjectModel/src/System/ComponentModel/TypeDescriptionProviderAttribute.cs [moved from src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/TypeDescriptionProviderAttribute.cs with 100% similarity]
src/libraries/System.Private.Xml.Linq/src/System.Private.Xml.Linq.csproj
src/libraries/System.Private.Xml.Linq/src/System/Xml/Linq/XAttribute.cs
src/libraries/System.Private.Xml.Linq/src/System/Xml/Linq/XElement.cs
tools-local/DefaultGenApiDocIds.txt