Public Member Functions | |
WitnessCombine (sem_elem_t weight) | |
Passes weight to base class Witness. | |
virtual | ~WitnessCombine () |
Destructor does nothing. | |
virtual sem_elem_t | combine (SemElem *se) |
Override Witness::combine. | |
virtual void | accept (Visitor &v, bool visitOnce=false) |
Override Witness::accept. | |
virtual void | reset_marks () const |
Override Witness::reset_marks. | |
virtual std::ostream & | prettyPrint (std::ostream &o, size_t depth) const |
Override Witness::pretty_print. | |
void | addChild (witness_t w) |
Add a child to this. | |
std::list< witness_t > & | children () |
void | absorb (WitnessCombine *wc) |
absorb param wc's children into this | |
Protected Attributes | |
std::list< witness_t > | kids |
wali::witness::WitnessCombine::WitnessCombine | ( | sem_elem_t | weight | ) |
wali::witness::WitnessCombine::~WitnessCombine | ( | ) | [virtual] |
Destructor does nothing.
sem_elem_t wali::witness::WitnessCombine::combine | ( | SemElem * | se | ) | [virtual] |
Override Witness::combine.
Overriding Witness::combine here allows for Witness::combine to not have to check if "this" is actually of type WitnessCombine b/c if it were they dynamic dispatch would have ended up here.
Reimplemented from wali::witness::Witness.
References wali::witness::Witness::accept(), accept(), addChild(), wali::witness::Witness::isZero(), wali::witness::Witness::user_se, wali::waliErr, wali::witness::Witness::weight(), and WitnessCombine().
void wali::witness::WitnessCombine::accept | ( | Visitor & | v, | |
bool visitOnce | = false | |||
) | [virtual] |
Override Witness::accept.
Reimplemented from wali::witness::Witness.
References children(), wali::Markable::marked(), and wali::witness::Visitor::visitCombine().
Referenced by combine().
void wali::witness::WitnessCombine::reset_marks | ( | ) | const [virtual] |
Override Witness::reset_marks.
Reimplemented from wali::witness::Witness.
References kids, and wali::Markable::marked().
std::ostream & wali::witness::WitnessCombine::prettyPrint | ( | std::ostream & | o, | |
size_t | depth | |||
) | const [virtual] |
Override Witness::pretty_print.
Reimplemented from wali::witness::Witness.
References wali::witness::Witness::formatDepth(), kids, and wali::witness::Witness::user_se.
void wali::witness::WitnessCombine::addChild | ( | witness_t | w | ) |
Add a child to this.
References kids.
Referenced by combine(), and wali::witness::Witness::combine().
std::list< witness_t > & wali::witness::WitnessCombine::children | ( | ) |
The combine of all the weights of the children should (must) equal the weight of this WitnessCombine object.
References kids.
Referenced by absorb(), accept(), wali::witness::VisitorPrinter::visitCombine(), and wali::witness::VisitorDot::visitCombine().
void wali::witness::WitnessCombine::absorb | ( | WitnessCombine * | wc | ) |
absorb param wc's children into this
References children(), and kids.
std::list< witness_t > wali::witness::WitnessCombine::kids [protected] |
Referenced by absorb(), addChild(), children(), prettyPrint(), and reset_marks().