Expression providing an SSA-renamed symbol of expressions.
More...
#include <ssa_expr.h>
+ Inheritance diagram for ssa_exprt:
+ Collaboration diagram for ssa_exprt:
Constructor.
Replace the underlying, original expression by expr while maintaining SSA indices.
Add the source location from location, if it is non-nil.
Add the source location from location, if it is non-nil.
Add the source location from other, if it has any.
Add the source location from other, if it has any.
remove all operand methods
- Public Member Functions inherited from
exprt
Return the type of the expression.
Return true if there is at least one operand.
Add the source location from location, if it is non-nil.
Add the source location from location, if it is non-nil.
Add the source location from other, if it has any.
Add the source location from other, if it has any.
Copy the given argument to the end of exprt's operands.
Add the given argument to the end of exprt's operands.
Add the given argument to the end of exprt's operands.
Add the given arguments to the end of exprt's operands.
Add the given arguments to the end of exprt's operands.
Return whether the expression is a constant.
Return whether the expression is a constant representing true.
Return whether the expression is a constant representing false.
Return whether the expression is a constant representing 0.
Return whether the expression is a constant representing 1.
Return whether the expression represents a Boolean.
Get a
source_locationt from the expression or from its operands (non-recursively).
These are pre-order traversal visitors, i.e., the visitor is executed on a node before its children have been visited.
These are post-order traversal visitors, i.e., the visitor is executed on a node after its children have been visited.
- Public Member Functions inherited from
irept
defines ordering on the internal representation
defines ordering on the internal representation
defines ordering on the internal representation comments are ignored
Static Public Member Functions
Used to determine whether or not an identifier can be built before trying and getting an exception.
- Static Public Member Functions inherited from
symbol_exprt
- Static Public Member Functions inherited from
exprt
Check that the expression is well-formed (shallow checks only, i.e., subexpressions and its type are not checked).
Check that the expression is well-formed, assuming that its subexpressions and type have all ready been checked for well-formedness.
Check that the expression is well-formed (full check, including checks of all subexpressions and the type)
- Static Public Member Functions inherited from
irept
count the number of named_sub elements that are not comments
Additional Inherited Members
- Public Types inherited from
exprt
- Public Types inherited from
irept
Used to refer to this class from derived classes.
- Protected Member Functions inherited from
exprt
Does the same as remove_ref, but using an explicit stack instead of recursion.
Detailed Description
Expression providing an SSA-renamed symbol of expressions.
Definition at line 16 of file ssa_expr.h.
Constructor & Destructor Documentation
◆ ssa_exprt()
Constructor.
- Parameters
-
expr Expression to be converted to SSA symbol. A valid argument must be one of these:
Definition at line 40 of file ssa_expr.cpp.
Member Function Documentation
◆ can_build_identifier()
Used to determine whether or not an identifier can be built before trying and getting an exception.
Definition at line 207 of file ssa_expr.cpp.
◆ check()
◆ get_l1_object()
◆ get_l1_object_identifier()
◆ get_level_0()
◆ get_level_1()
◆ get_level_2()
◆ get_object_name()
irep_idt ssa_exprt::get_object_name
(
)
const
◆ get_original_expr()
const exprt & ssa_exprt::get_original_expr
(
)
const
inline
◆ get_original_name()
◆ remove_level_2()
void ssa_exprt::remove_level_2
(
)
◆ set_expression()
void ssa_exprt::set_expression
(
exprt
expr )
Replace the underlying, original expression by expr while maintaining SSA indices.
- Parameters
-
expr expression to store
Definition at line 138 of file ssa_expr.cpp.
◆ set_level_0()
void ssa_exprt::set_level_0
(
std::size_t
i )
◆ set_level_1()
void ssa_exprt::set_level_1
(
std::size_t
i )
◆ set_level_2()
void ssa_exprt::set_level_2
(
std::size_t
i )
◆ update_type()
void ssa_exprt::update_type
(
)
inline
◆ validate()
The documentation for this class was generated from the following files: