Fixing the GetInterfaceMap tests for mono in the runtime repo. (#52566)
authorBill Holmes <bill.holmes@unity3d.com>
Thu, 3 Jun 2021 15:07:42 +0000 (11:07 -0400)
committerGitHub <noreply@github.com>
Thu, 3 Jun 2021 15:07:42 +0000 (15:07 +0000)
commit5d648144df1fd27ca0f2f7e11ba42669d7145c0e
tree61b938cd71a15083e7a851b2992f57116be73212
parent0fcd7690a14335a8807144d0e7ad937aa83699b0
Fixing the GetInterfaceMap tests for mono in the runtime repo. (#52566)

Addressing 4 issues for GetInterfaceMap and default interface methods
 - Only methods marked as virtual on on interface should be added to the
   interface map. (no static or instance)
 - If the found target method is ambiguous (a diamond) the target is
   null.
 - If the found target method's class in an interface, then the target
   class is the interface class, else it is the class of the RuntimeType
   (aka this)
 - If the found target method is abstract (reabstraction) then the
   target is null.

Fixes #34389
src/mono/mono/metadata/icall.c
src/tests/issues.targets