From dce8b706047d2e247833c11a265a588012ddb0cb Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Wed, 27 Apr 2011 15:03:28 -0300 Subject: Write graph info on temp dir when some a cyclic graph is found. --- generator/overloaddata.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'generator/overloaddata.cpp') diff --git a/generator/overloaddata.cpp b/generator/overloaddata.cpp index 1390eea08..c670209e5 100644 --- a/generator/overloaddata.cpp +++ b/generator/overloaddata.cpp @@ -26,6 +26,7 @@ #include #include "overloaddata.h" #include "shibokengenerator.h" +#include static const TypeEntry* getAliasedTypeEntry(const TypeEntry* typeEntry) { @@ -375,7 +376,15 @@ void OverloadData::sortNextOverloads() QString funcName = referenceFunction()->name(); if (referenceFunction()->ownerClass()) funcName.prepend(referenceFunction()->ownerClass()->name() + '.'); - ReportHandler::warning(QString("Cyclic dependency found on overloaddata for '%1' method!").arg(qPrintable(funcName))); + + // Dump overload graph + QString graphName = QDir::tempPath() + '/' + funcName + ".dot"; + QHash::const_iterator it = sortData.map.begin(); + QHash nodeNames; + for (; it != sortData.map.end(); ++it) + nodeNames.insert(it.value(), it.key()); + graph.dumpDot(nodeNames, graphName); + ReportHandler::warning(QString("Cyclic dependency found on overloaddata for '%1' method! The graph boy saved the graph at %2.").arg(qPrintable(funcName)).arg(qPrintable(graphName))); } m_nextOverloadData.clear(); -- cgit v1.2.3