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

Module Unification

Provides definitions related to type unification.

Import path

import semmle.code.csharp.Unification

Predicates

subsumes

Holds if type t1 subsumes type t2. That is, it is possible to replace all type parameters in t1 with some (other) types to make the two types equal.

unifiable

Holds if types t1 and t2 are unifiable. That is, it is possible to replace all type parameters in t1 and t2 with some (other) types to make the two substituted terms equal.

Classes

ConstrainedTypeParameter

A type parameter that is constrained.

UnconstrainedTypeParameter

A type parameter that is compatible with any type.