예제 #1
0
std::vector<const Block *> Block::getLaterParents(bool includeSubRoutines) const {
	std::vector<const Block *> result;

	for (std::vector<const Block *>::const_iterator p = parents.begin(); p != parents.end(); ++p)
		if ((*p)->address >= address)
			if (includeSubRoutines || !isSubRoutineCall(getParentChildEdgeType(**p, *this)))
				result.push_back(*p);

	return result;
}
예제 #2
0
std::vector<const Block *> Block::getLaterChildren(bool includeSubRoutines) const {
	std::vector<const Block *> result;

	for (std::vector<const Block *>::const_iterator c = children.begin(); c != children.end(); ++c)
		if ((*c)->address >= address)
			if (includeSubRoutines || !isSubRoutineCall(getParentChildEdgeType(*this, **c)))
				result.push_back(*c);

	return result;
}
예제 #3
0
파일: block.cpp 프로젝트: asr1/xoreos-tools
bool Block::isSubRoutineChild(const Block &child) const {
	return isSubRoutineCall(getParentChildEdgeType(*this, child));
}