CodeQL library for C#

Member predicate ValueOrRefType::hasCallable

Holds if this type has callable c, that is, either c is declared in this type, or c is inherited by this type.

For example, C has the callables A.get_P1, A.set_P1, A.M2(), B.get_P2, B.set_P2, and C.M3() in

class A {
  public int P1 { get; set; }
  public virtual int P2 { get; set; }
  private void M1() { }
  protected void M2() { }

class B : A {
  public override int P2 { get; set; }

class C : B {
  private void M3() { }
predicate hasCallable(Callable c)