/// in your path.
void viewGraph();
- /// writeGraph - Write a compilation-graph.dot file.
- void writeGraph();
+ /// writeGraph - Write Graphviz .dot source file to the current direcotry.
+ void writeGraph(const std::string& OutputFilename);
// GraphTraits support.
friend NodesIterator GraphBegin(CompilationGraph*);
return *this;
}
- inline bool operator==(const ThisType& I) const
- { return EdgeIter == I.EdgeIter; }
- inline bool operator!=(const ThisType& I) const
- { return EdgeIter != I.EdgeIter; }
+ inline bool operator==(const ThisType& I) const {
+ assert(OwningGraph == I.OwningGraph);
+ return EdgeIter == I.EdgeIter;
+ }
+ inline bool operator!=(const ThisType& I) const {
+ return !this->operator==(I);
+ }
inline pointer operator*() const {
return &OwningGraph->getNode((*EdgeIter)->ToolName());
}
inline pointer operator->() const {
- return &OwningGraph->getNode((*EdgeIter)->ToolName());
+ return this->operator*();
}
ThisType& operator++() { ++EdgeIter; return *this; } // Preincrement