#include <write_stack.h>
Definition at line 25 of file write_stack.h.
◆ continuation_stack_storet
◆ integral_resultt
Enumerator |
---|
LHS_INTEGRAL | |
RHS_INTEGRAL | |
NEITHER_INTEGRAL | |
Definition at line 66 of file write_stack.h.
◆ write_stackt() [1/2]
write_stackt::write_stackt |
( |
| ) |
|
◆ write_stackt() [2/2]
Construct a write stack from an expression.
- Parameters
-
expr | The expression to represent |
environment | The environment to evaluate any expressions in |
ns | The global namespace |
Definition at line 34 of file write_stack.cpp.
◆ add_to_stack()
Add an element to the top of the stack.
This will squash in with the top element if possible.
- Parameters
-
entry_pointer | The new element for the stack. |
environment | The environment to evaluate any expressions in |
ns | The global namespace |
Definition at line 235 of file write_stack.cpp.
◆ construct_stack_to_array_index()
Construct a stack for an array position l-value.
- Parameters
-
index_expr | The index expression to construct to. |
environment | The environment to evaluate any expressions in |
ns | The global namespace |
Definition at line 161 of file write_stack.cpp.
◆ construct_stack_to_lvalue()
Construct a stack up to a specific l-value (i.e.
symbol or position in an array or struct)
- Parameters
-
expr | The expression representing a l-value |
environment | The environment to evaluate any expressions in |
ns | The global namespace |
Definition at line 129 of file write_stack.cpp.
◆ construct_stack_to_pointer()
Add to the stack the elements to get to a pointer.
- Parameters
-
expr | An expression of type pointer to construct the stack to |
environment | The environment to evaluate any expressions in |
ns | The global namespace |
Definition at line 60 of file write_stack.cpp.
◆ depth()
size_t write_stackt::depth |
( |
| ) |
const |
◆ get_which_side_integral()
Utility function to find out which side of a binary operation has an integral type, if any.
- Parameters
-
| expr | The (binary) expression to evaluate. |
[out] | out_base_expr | The sub-expression which is not integral typed |
[out] | out_integral_expr | The subexpression which is integraled typed. |
- Returns
- : An enum specifying whether the integral type is the LHS (op0), RHS (op1) or neither.
Definition at line 255 of file write_stack.cpp.
◆ is_top_value()
bool write_stackt::is_top_value |
( |
| ) |
const |
Is the stack representing an unknown value and hence can't be written to or read from.
- Returns
- True if the stack is top.
Definition at line 225 of file write_stack.cpp.
◆ offset_expression()
exprt write_stackt::offset_expression |
( |
| ) |
const |
◆ target_expression()
exprt write_stackt::target_expression |
( |
size_t |
depth | ) |
const |
◆ to_expression()
exprt write_stackt::to_expression |
( |
| ) |
const |
Convert the stack to an expression that can be used to write to.
- Returns
- The expression representing the stack, with nil_exprt expressions for top elements.
Definition at line 176 of file write_stack.cpp.
◆ stack
◆ top_stack
bool write_stackt::top_stack |
|
private |
The documentation for this class was generated from the following files:
- /home/runner/work/cbmc/cbmc/src/analyses/variable-sensitivity/write_stack.h
- /home/runner/work/cbmc/cbmc/src/analyses/variable-sensitivity/write_stack.cpp