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

Predicate Internal::PreCfg::CachedWithCfg::getAnEqualityCheck

Gets an expression that tests whether expression e1 is equal to expression e2.

If the returned expression has abstract value v, then expression e1 is guaranteed to be equal to e2, and if the returned expression has abstract value v.getDualValue(), then this expression is guaranteed to be non-equal to e.

For example, if the expression x != "" evaluates to false then the expression x is guaranteed to be equal to "".

Import path

import semmle.code.csharp.controlflow.Guards
Expr getAnEqualityCheck(Expr e1, AbstractValue v, Expr e2)