Module EdgeKind

Provides classes that specify the conditions under which control flows along a given edge.

Import path

import semmle.code.cpp.ir.implementation.EdgeKind

Classes

CaseEdge

A “case” edge, representing the successor of a Switch instruction when the the condition value matches a correponding case label.

DefaultEdge

A “default” edge, representing the successor of a Switch instruction when none of the case values matches the condition value.

EdgeKind

Represents the kind of an edge in the IR control flow graph. Each Instruction or IRBlock has at most one successor of any single EdgeKind.

ExceptionEdge

An “exception” edge, representing the successor of an instruction when that instruction’s evaluation throws an exception.

FalseEdge

A “false” edge, representing the successor of a conditional branch when the condition is zero.

GotoEdge

A “goto” edge, representing the unconditional successor of an Instruction or IRBlock.

TrueEdge

A “true” edge, representing the successor of a conditional branch when the condition is non-zero.

Modules

EdgeKind

Predicates to access the single instance of each EdgeKind class.