CodeQL library for C#
Search

Module Guards

Provides classes for working with guarded expressions.

Import path

import semmle.code.csharp.controlflow.Guards

Imports

csharp

The default C# QL library.

Classes

AbstractValue

An abstract value.

AccessOrCallExpr

An expression that accesses/calls a declaration.

CollectionExpr

An expression that evaluates to a collection. That is, an expression whose (transitive, reflexive) base type is IEnumerable.

DereferenceableExpr

An expression that evaluates to a value that can be dereferenced. That is, an expression that may evaluate to null.

Guard

An expression whose value may control the execution of another element.

GuardedControlFlowNode

A guarded control flow node. A guarded control flow node is like a guarded expression (GuardedExpr), except control flow graph splitting is taken into account. That is, one control flow node belonging to an expression may be guarded, while another split need not be guarded:

GuardedDataFlowNode

A guarded data flow node. A guarded data flow node is like a guarded expression (GuardedExpr), except control flow graph splitting is taken into account. That is, one data flow node belonging to an expression may be guarded, while another split need not be guarded:

GuardedExpr

A guarded expression.

NullGuardedDataFlowNode

A data flow node guarded by a null check.

NullGuardedExpr

An expression guarded by a null check.

Modules

AbstractValues

Provides different types of AbstractValuess.

Internal

INTERNAL: Do not use.