ROSE  0.11.145.0
Public Member Functions | List of all members
Rose::BinaryAnalysis::SymbolicExpression::AddSimplifier Struct Reference

Description

Definition at line 937 of file SymbolicExpression.h.

Inheritance diagram for Rose::BinaryAnalysis::SymbolicExpression::AddSimplifier:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::SymbolicExpression::AddSimplifier:
Collaboration graph
[legend]

Public Member Functions

virtual Ptr fold (Nodes::const_iterator, Nodes::const_iterator) const override
 Constant folding. More...
 
virtual Ptr rewrite (Interior *, const SmtSolverPtr &) const override
 Rewrite the entire expression to something simpler. More...
 

Member Function Documentation

virtual Ptr Rose::BinaryAnalysis::SymbolicExpression::AddSimplifier::fold ( Nodes::const_iterator  ,
Nodes::const_iterator   
) const
overridevirtual

Constant folding.

The range begin (inclusive) to end (exclusive) must contain at least two nodes and all of the nodes must be leaf nodes with known values. This method returns a new folded node if folding is possible, or the null pointer if folding is not possible.

Reimplemented from Rose::BinaryAnalysis::SymbolicExpression::Simplifier.

virtual Ptr Rose::BinaryAnalysis::SymbolicExpression::AddSimplifier::rewrite ( Interior ,
const SmtSolverPtr  
) const
overridevirtual

Rewrite the entire expression to something simpler.

Returns the new node if the node can be simplified, otherwise returns null.

Reimplemented from Rose::BinaryAnalysis::SymbolicExpression::Simplifier.


The documentation for this struct was generated from the following file: