Class VariableMemoryLocation
An access to memory within a single known IRVariable. The variable may be either an unescaped variable
(with its own VirtualIRVariable) or an escaped variable (assigned to UnknownVirtualVariable).
Import path
import semmle.code.cpp.ir.implementation.aliased_ssa.internal.AliasedSSADirect supertypes
Indirect supertypes
Known direct subtypes
Inherited fields
Predicates
| coversEntireVariable | Holds if this memory location covers the entire variable. |
| getEndBitOffset | |
| getStartBitOffset | |
| getType | |
| getUniqueId | |
| isAlwaysAllocatedOnStack | Holds if the location always represents memory allocated on the stack (for example, a variable with automatic storage duration). |
| toStringInternal |
Inherited predicates
| canDefineReadOnly | Holds if a definition of this location can be the definition of a read-only use location. | from MemoryLocation0 |
| canReuseSsa | from MemoryLocation0 | |
| getAnAllocation | Gets an allocation associated with this | from AllocationMemoryLocation |
| getIRFunction | from AllocationMemoryLocation | |
| getIRType | from MemoryLocation0 | |
| getLocation | from AllocationMemoryLocation | |
| getVirtualVariable | from AllocationMemoryLocation | |
| isMayAccess | from AllocationMemoryLocation | |
| isReadOnly | Holds if the location cannot be overwritten except by definition of a | from AllocationMemoryLocation |
| toString | from MemoryLocation0 |