A variable generated to track whether a specific non-stack variable has been initialized. This is used to model the runtime initialization of static local variables in C++, as well as static fields in C#.
Import path
import semmle.code.cpp.ir.IRDirect supertypes
Indirect supertypes
Fields
Inherited fields
Predicates
| getBaseString | INTERNAL: Do not use. |
| getUniqueId | Gets an identifier string for the variable. This identifier is unique within the function. |
| getVariable | Gets variable whose initialization is guarded by this flag. |
| toString | Gets a textual representation of this element. |
Inherited predicates
| getAst | Gets the AST node that declared this variable, or that introduced this variable as part of the AST-to-IR translation. | from AbstractIRGeneratedVariable |
| getEnclosingFunction | Gets the function that references this variable. | from AbstractIRVariable |
| getEnclosingIRFunction | Gets the IR for the function that references this variable. | from AbstractIRVariable |
| getIRType | Gets the language-neutral type of the variable. | from AbstractIRVariable |
| getLanguageType | Gets the type of the variable. | from AbstractIRGeneratedVariable |
| getLocation | Gets the source location of this variable. | from AbstractIRVariable |
| getLocationString | INTERNAL: Do not use. | from AbstractIRGeneratedVariable |
| getType | Gets the type of the variable. | from AbstractIRVariable |
| isReadOnly | Holds if this variable’s value cannot be changed within a function. Currently used for string literals, but could also apply to | from AbstractIRVariable |