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

Predicate implements

INTERNAL: Do not use.

Holds if member m1 implements interface member m2.

The type t is a type that implements the interface type in which m2 is declared, in such a way that m1 is the implementation of m2.

Example:

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: implements(A.M, I.M, B) and implements(C.M, I.M, C).

Import path

import semmle.code.csharp.Implements
predicate implements(Overridable m1, Overridable m2, ValueOrRefType t)