Hi,

There's no built-in way to achieve this, this is not an easy problem.

The Mono linker creates a map of methods:

https://github.com/mono/linker/blob/master/src/linker/Linker.Steps/TypeMapStep.cs

By browsing the type hierarchy for implicit overrides and checking the
explicit overrides in the metadata.

Jb

On Wed, Oct 21, 2020 at 9:06 AM Hamish Arblaster <[email protected]>
wrote:

> Hello, can someone please explain specifically how implicit overriding
> works and how I can get a list of direct implicit overrides using
> Mono.Cecil.
> So basically what I know is that IsReuseSlot is relevant to class virtual
> methods, but is how is it done for interfaces, and is it always an implicit
> override for IsReuseSlot (except for .ctor seems to have it too), and how
> would it interact with generics, and do default interface implementations
> interact in a way that is problematic?
>
> Example of what I'm after
> Method a is virtual
> Method b implicitly overrides method a
> Method c explicitly overrides method a
> Method d implicitly overrides method b and is sealed
> Method e is in a class that overrides method d and is NewSlot (or new in
> c#)
> Method f implicitly overrides method e
>
> Calling the hypothetical method that returns the direct implicit overrides
> would return the following:
> a -> []
> b -> [a]
> c -> []
> d -> [b]
> e -> []
> f -> [e]
>
> How would I go about doing this?
> Thanks in advance!
>
> --
> --
> --
> mono-cecil
> ---
> You received this message because you are subscribed to the Google Groups
> "mono-cecil" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/mono-cecil/ad3bf8ab-7081-4564-a038-63ef0582b58fn%40googlegroups.com
> <https://groups.google.com/d/msgid/mono-cecil/ad3bf8ab-7081-4564-a038-63ef0582b58fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
--
mono-cecil
--- 
You received this message because you are subscribed to the Google Groups 
"mono-cecil" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mono-cecil/CABsHH9J9nBEkhT_7DZ218OsHXtgQxHbv_7fPgnhb3cmwfdnE%2BQ%40mail.gmail.com.

Reply via email to