const PatchBlock::edgelist& PatchBlock::sources() { if (srclist_.empty()) { for (ParseAPI::Block::edgelist::const_iterator iter = block_->sources().begin(); iter != block_->sources().end(); ++iter) { // search for edge in object of source block PatchObject *obj = obj_->addrSpace()->findObject((*iter)->src()->obj()); PatchEdge *newEdge = obj->getEdge(*iter, NULL, this); srclist_.push_back(newEdge); } } return srclist_; }