Module PartialDefinitions
Provides classes and predicates dealing with “partial definitions”.
In contrast to a normal “definition”, which provides a new value for something, a partial definition is an expression that may affect a value, but does not necessarily replace it entirely. For example:
x.y = 1; // a partial definition of the object `x`.
x.y.z = 1; // a partial definition of the objects `x` and `x.y`.
x.setY(1); // a partial definition of the object `x`.
setY(&x); // a partial definition of the object `x`.
Import path
import semmle.code.cpp.dataflow.internal.FlowVar
Classes
DefinitionByIterator | A partial definition that’s a definition via an output iterator. |
DefinitionByReference | A partial definition that’s a definition by reference. |
IteratorPartialDefinition | |
PartialDefinition | |
VariablePartialDefinition |