CodeQL library for C#
codeql/csharp-all 1.0.2 (changelog, source)

Member predicate Overridable::getImplementee

Gets the interface member that is immediately implemented by this member, if any.

The type t is a type that implements the interface type in which the result is declared, in such a way that this member is the implementation of the result.


interface I { void M(); }

class A { public void M() { } }

class B : A, I { }

class C : A, I { new public void M() }

In the example above, the following (and nothing else) holds: A.M.getImplementee(B) = I.M and C.M.getImplementee(C) = I.M.

Overridable getImplementee(ValueOrRefType t)