Move all of generic virtual method resolution to the type loader (#79925)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Fri, 23 Dec 2022 17:23:38 +0000 (02:23 +0900)
committerGitHub <noreply@github.com>
Fri, 23 Dec 2022 17:23:38 +0000 (09:23 -0800)
commit5b99dceeea2af36b6325a52408859f9dd051cf06
treef0245fe90128a3f161e422c2225213ac0d919e29
parentb631a55053524d3de23c6490109cb771268a8a21
Move all of generic virtual method resolution to the type loader (#79925)

* Move all of generic virtual method resolution to the type loader

For whatever reason, the logic that walks the inheritance hierarchy and deals with the differences between interface GVM and class GVM calls was in CoreLib.

Move it to the type loader because we'll need it for #77070.

* Oh the conversion to EEType was important
src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/TypeLoaderCallbacks.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerServices/GenericVirtualMethodSupport.cs [deleted file]
src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/TypeLoaderExports.cs
src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.GVMResolution.cs
src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.cs