Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 4a0f511

Browse files
weshaggarddanmoseley
authored andcommitted
Manually build mscorlib shim to allow for internal type forwards & Adding TypeForwardFrom to serialiazable types (#20697)
* Manually build mscorlib shim to allow for internal type forwards * prepare tests for netfx->core deserialization changes * update netfx serialized data * change hash updater so it doesn't use hard-coded path * Code cleanup for binary serialization * Changed ListT to ArrayList in CookieCoolection for cross serialization * Merge * Changed observablecollection typeforwards that already had typeforwards on netfx * Adding ValueTuple blobs for netfx471 * Add internal types which need to be forwarded * Pull mscorlib shim in along with windows.winmd To build UAP refs and libs we need an mscorlib shim. So for the build we pull one in from packages and it will get overwritten when we build the final one as part of our shim builds * Removed not needed typeforward and added description * Remved typeforwards from nested types * Fixed generic type syntax * Updated coreclr version, ifdefed imports for netcoreapp * disable netfx serialization for now * Merge error fixed * Update blobs after coreclr changes * Adding ValueTuple manual typeforwards * Renamed serialization variables for SortedSet * Disabling TreeSet<,> serialization support (for now) * Exception internal data storage typeforward added * Fix type conflict for mscorlib shim in uapaot configuration * Split the runtime and ref mscorlib shim We need to build the ref mscorlib shim only against the reference assemblies so we still build in shims.proj. However the runtime mscorlib shim needs to have access to internals so we build it against the runtime implementation using a manual project.
1 parent acb4fbd commit 4a0f511

File tree

64 files changed

+807
-582
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+807
-582
lines changed

dependencies.props

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,26 @@
99
These ref versions are pulled from https://github.com/dotnet/versions.
1010
-->
1111
<PropertyGroup>
12-
<CoreFxCurrentRef>9ef65bbe889f1ff226709217c889d8cae66b00dc</CoreFxCurrentRef>
13-
<CoreClrCurrentRef>9ef65bbe889f1ff226709217c889d8cae66b00dc</CoreClrCurrentRef>
14-
<CoreSetupCurrentRef>aac2e06e201666201a5cfda06a296921a1c7f69d</CoreSetupCurrentRef>
15-
<ExternalCurrentRef>9be29f5804c4798d8b51bd3fed99ea076041aeb2</ExternalCurrentRef>
16-
<ProjectNTfsCurrentRef>5002272371cd242387eb84c160da4e1449e0f483</ProjectNTfsCurrentRef>
17-
<ProjectNTfsTestILCCurrentRef>5002272371cd242387eb84c160da4e1449e0f483</ProjectNTfsTestILCCurrentRef>
12+
<CoreFxCurrentRef>02d899e8f3e71a4f5afbd1412aeac387e12ce973</CoreFxCurrentRef>
13+
<CoreClrCurrentRef>1621e635efcf0a895866e654db357eb3d44ad650</CoreClrCurrentRef>
14+
<CoreSetupCurrentRef>82fc1fc68bfa1d55e43913b188868879f31de8e7</CoreSetupCurrentRef>
15+
<ExternalCurrentRef>5a0606fccb09fce4b47545ae9896139acca547f5</ExternalCurrentRef>
16+
<ProjectNTfsCurrentRef>02d899e8f3e71a4f5afbd1412aeac387e12ce973</ProjectNTfsCurrentRef>
17+
<ProjectNTfsTestILCCurrentRef>02d899e8f3e71a4f5afbd1412aeac387e12ce973</ProjectNTfsTestILCCurrentRef>
1818
<SniCurrentRef>97059fa979a3c8fb8b9fba127c526f15e48c9dde</SniCurrentRef>
19-
<StandardCurrentRef>9ef65bbe889f1ff226709217c889d8cae66b00dc</StandardCurrentRef>
19+
<StandardCurrentRef>5bbc01e57f192a9acd4ea9e682a002a2e5c605aa</StandardCurrentRef>
2020
</PropertyGroup>
2121

2222
<!-- Auto-upgraded properties for each build info dependency. -->
2323
<PropertyGroup>
24-
<CoreFxExpectedPrerelease>preview3-25416-02</CoreFxExpectedPrerelease>
25-
<CoreClrExpectedPrerelease>preview3-25416-01</CoreClrExpectedPrerelease>
26-
<ExternalExpectedPrerelease>beta-25307-00</ExternalExpectedPrerelease>
27-
<ProjectNTfsExpectedPrerelease>beta-25317-00</ProjectNTfsExpectedPrerelease>
28-
<ProjectNTfsTestILCExpectedPrerelease>beta-25317-00</ProjectNTfsTestILCExpectedPrerelease>
29-
<ProjectNTfsTestILCPackageVersion>1.0.0-beta-25317-00</ProjectNTfsTestILCPackageVersion>
30-
<NETStandardPackageVersion>2.0.0-preview3-25416-01</NETStandardPackageVersion>
24+
<PlatformPackageVersion>2.1.0-preview1-25324-02</PlatformPackageVersion>
25+
<CoreFxExpectedPrerelease>preview1-25406-02</CoreFxExpectedPrerelease>
26+
<CoreClrPackageVersion>2.1.0-preview1-25407-01</CoreClrPackageVersion>
27+
<ExternalExpectedPrerelease>beta-25322-00</ExternalExpectedPrerelease>
28+
<ProjectNTfsExpectedPrerelease>beta-25406-00</ProjectNTfsExpectedPrerelease>
29+
<ProjectNTfsTestILCExpectedPrerelease>beta-25406-00</ProjectNTfsTestILCExpectedPrerelease>
30+
<ProjectNTfsTestILCPackageVersion>1.0.0-beta-25406-00</ProjectNTfsTestILCPackageVersion>
31+
<NETStandardPackageVersion>2.1.0-preview1-25406-01</NETStandardPackageVersion>
3132
<NETStandardPackageId>NETStandard.Library</NETStandardPackageId>
3233
<MicrosoftNETCoreAppPackageVersion>2.0.0-preview2-25317-03</MicrosoftNETCoreAppPackageVersion>
3334
<!-- Use the SNI runtime package -->

src/System.Collections.NonGeneric/src/System/Collections/Queue.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ namespace System.Collections
2121
[DebuggerTypeProxy(typeof(System.Collections.Queue.QueueDebugView))]
2222
[DebuggerDisplay("Count = {Count}")]
2323
[Serializable]
24+
[System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
2425
public class Queue : ICollection, ICloneable
2526
{
2627
private Object[] _array;

src/System.Collections.NonGeneric/src/System/Collections/SortedList.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ namespace System.Collections
6161
[DebuggerTypeProxy(typeof(System.Collections.SortedList.SortedListDebugView))]
6262
[DebuggerDisplay("Count = {Count}")]
6363
[Serializable]
64+
[System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
6465
public class SortedList : IDictionary, ICloneable
6566
{
6667
private Object[] _keys;

src/System.Collections.NonGeneric/src/System/Collections/Stack.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ namespace System.Collections
2323
[DebuggerTypeProxy(typeof(System.Collections.Stack.StackDebugView))]
2424
[DebuggerDisplay("Count = {Count}")]
2525
[Serializable]
26+
[System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
2627
public class Stack : ICollection, ICloneable
2728
{
2829
private Object[] _array; // Storage for stack elements

src/System.Collections.Specialized/src/System/Collections/Specialized/HybridDictionary.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ namespace System.Collections.Specialized
1515
/// </para>
1616
/// </devdoc>
1717
[Serializable]
18+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
1819
public class HybridDictionary : IDictionary
1920
{
2021
// These numbers have been carefully tested to be optimal. Please don't change them

src/System.Collections.Specialized/src/System/Collections/Specialized/ListDictionary.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace System.Collections.Specialized
1212
/// </para>
1313
/// </devdoc>
1414
[Serializable]
15+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
1516
public class ListDictionary : IDictionary
1617
{
1718
private DictionaryNode head; // Do not rename (binary serialization)

src/System.Collections.Specialized/src/System/Collections/Specialized/NameObjectCollectionBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ namespace System.Collections.Specialized
2222
/// the key or with the index.</para>
2323
/// </devdoc>
2424
[Serializable]
25+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
2526
public abstract class NameObjectCollectionBase : ICollection, ISerializable, IDeserializationCallback
2627
{
2728
// const names used for serialization

src/System.Collections.Specialized/src/System/Collections/Specialized/NameValueCollection.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ namespace System.Collections.Specialized
1818
/// can be accessed either with the hash code of the key or with the index.</para>
1919
/// </devdoc>
2020
[Serializable]
21+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
2122
public class NameValueCollection : NameObjectCollectionBase
2223
{
2324
private String[] _all;

src/System.Collections.Specialized/src/System/Collections/Specialized/OrderedDictionary.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ namespace System.Collections.Specialized
2121
/// </para>
2222
/// </devdoc>
2323
[Serializable]
24+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
2425
public class OrderedDictionary : IOrderedDictionary, ISerializable, IDeserializationCallback
2526
{
2627
private ArrayList _objectsArray;

src/System.Collections.Specialized/src/System/Collections/Specialized/StringCollection.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ namespace System.Collections.Specialized
99
/// <para>Represents a collection of strings.</para>
1010
/// </devdoc>
1111
[Serializable]
12+
[System.Runtime.CompilerServices.TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
1213
public class StringCollection : IList
1314
{
1415
private readonly ArrayList data = new ArrayList(); // Do not rename (binary serialization)

0 commit comments

Comments
 (0)