![]() |
P4C
The P4 Compiler
|
Represents an if statement condition. More...
Public Member Functions | |
| IfStatementCondition (const IR::Expression *cond) | |
| const IfStatementCondition * | apply (Transform &visitor) const override |
| Applies the given IR transform to the expressions in this trace event. | |
| const IfStatementCondition * | evaluate (const Model &model, bool doComplete) const override |
| const IfStatementCondition * | subst (const SymbolicEnv &env) const override |
Public Member Functions inherited from ICastable | |
| template<typename T > | |
| T & | as () |
| Tries to convert the class to type T. A BUG occurs if the cast fails. | |
| template<typename T > | |
| const T & | as () const |
| Tries to convert the class to type T. A BUG occurs if the cast fails. | |
| template<typename T > | |
| T * | checkedTo () |
| Performs a checked cast. A BUG occurs if the cast fails. | |
| template<typename T > | |
| const T * | checkedTo () const |
| Performs a checked cast. A BUG occurs if the cast fails. | |
Public Member Functions inherited from RTTI::Base | |
| template<typename T > | |
| bool | is () const noexcept |
| virtual bool | isA (TypeId typeId) const noexcept=0 |
| template<typename T > | |
| const T * | to () const noexcept |
Same as to, but returns const pointer to T. | |
| template<typename T > | |
| T * | to () noexcept |
| virtual TypeId | typeId () const noexcept=0 |
Protected Member Functions | |
| DECLARE_TYPEINFO (IfStatementCondition, TraceEvent) | |
| void | print (std::ostream &os) const override |
| Prints this trace event to the given ostream. | |
Protected Member Functions inherited from P4Tools::TraceEvent | |
| DECLARE_TYPEINFO (TraceEvent) | |
Protected Member Functions inherited from RTTI::Base | |
| virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
Represents an if statement condition.
|
overridevirtual |
Evaluates expressions in the body of this trace event for their concrete value in the given model. A BUG occurs if there are any variables that are unbound by the given model.
Reimplemented from P4Tools::TraceEvent.
|
overridevirtual |
Substitutes state variables in the body of this trace event for their symbolic value in the given symbolic environment. Variables that are unbound by the given environment are left untouched.
Reimplemented from P4Tools::TraceEvent.