Make FrozenHashTable non-generic (#81603)
authorStephen Toub <stoub@microsoft.com>
Sat, 4 Feb 2023 03:18:53 +0000 (22:18 -0500)
committerGitHub <noreply@github.com>
Sat, 4 Feb 2023 03:18:53 +0000 (22:18 -0500)
commit112c7584e0390560f0e5d2732868e143a7551ad1
tree5a1e68c0bb22b0797a5838972d045107ae5c6d80
parentefe93b7d30add5ae40a57b92140990a522e7ee9c
Make FrozenHashTable non-generic (#81603)

With some tweaks to how it's defined, we can avoid making it generic at all, which helps to reduce native aot compilation size when ToFrozenDictionary/Set is used with multiple generic instantiations.
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/FrozenHashTable.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/Int32/Int32FrozenDictionary.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/Int32/Int32FrozenSet.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/ItemsFrozenSet.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/KeysAndValuesFrozenDictionary.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/OrdinalStringFrozenDictionary.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/OrdinalStringFrozenSet.cs