forked from qt-creator/qt-creator
Change QMap to QHash as written in TODO annotation
Change-Id: I1e72b6bac63fd2930b9808bbffe8e7f6fbb70934 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -180,7 +180,7 @@ static QSet<QString> filesWithDataFunctionDefinitions(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QMap<QString, QtTestCodeLocationList> checkForDataTags(const QString &fileName,
|
static QHash<QString, QtTestCodeLocationList> checkForDataTags(const QString &fileName,
|
||||||
const CPlusPlus::Snapshot &snapshot)
|
const CPlusPlus::Snapshot &snapshot)
|
||||||
{
|
{
|
||||||
const QByteArray fileContent = CppParser::getFileContent(fileName);
|
const QByteArray fileContent = CppParser::getFileContent(fileName);
|
||||||
@@ -256,13 +256,13 @@ static void fetchAndMergeBaseTestFunctions(const QSet<QString> &baseClasses,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static QtTestCodeLocationList tagLocationsFor(const QtTestParseResult *func,
|
static QtTestCodeLocationList tagLocationsFor(const QtTestParseResult *func,
|
||||||
const QMap<QString, QtTestCodeLocationList> &dataTags)
|
const QHash<QString, QtTestCodeLocationList> &dataTags)
|
||||||
{
|
{
|
||||||
if (!func->inherited())
|
if (!func->inherited())
|
||||||
return dataTags.value(func->name);
|
return dataTags.value(func->name);
|
||||||
|
|
||||||
QMap<QString, QtTestCodeLocationList>::ConstIterator it = dataTags.begin();
|
QHash<QString, QtTestCodeLocationList>::ConstIterator it = dataTags.begin();
|
||||||
QMap<QString, QtTestCodeLocationList>::ConstIterator end = dataTags.end();
|
QHash<QString, QtTestCodeLocationList>::ConstIterator end = dataTags.end();
|
||||||
const int lastColon = func->name.lastIndexOf(':');
|
const int lastColon = func->name.lastIndexOf(':');
|
||||||
QString funcName = lastColon == -1 ? func->name : func->name.mid(lastColon - 1);
|
QString funcName = lastColon == -1 ? func->name : func->name.mid(lastColon - 1);
|
||||||
for ( ; it != end; ++it) {
|
for ( ; it != end; ++it) {
|
||||||
@@ -317,8 +317,7 @@ static bool handleQtTest(QFutureInterface<TestParseResultPtr> futureInterface,
|
|||||||
|
|
||||||
const QSet<QString> &files = filesWithDataFunctionDefinitions(testFunctions);
|
const QSet<QString> &files = filesWithDataFunctionDefinitions(testFunctions);
|
||||||
|
|
||||||
// TODO: change to QHash<>
|
QHash<QString, QtTestCodeLocationList> dataTags;
|
||||||
QMap<QString, QtTestCodeLocationList> dataTags;
|
|
||||||
for (const QString &file : files)
|
for (const QString &file : files)
|
||||||
dataTags.unite(checkForDataTags(file, snapshot));
|
dataTags.unite(checkForDataTags(file, snapshot));
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public:
|
|||||||
bool visit(CPlusPlus::CallAST *ast) override;
|
bool visit(CPlusPlus::CallAST *ast) override;
|
||||||
bool preVisit(CPlusPlus::AST *ast) override;
|
bool preVisit(CPlusPlus::AST *ast) override;
|
||||||
void postVisit(CPlusPlus::AST *ast) override;
|
void postVisit(CPlusPlus::AST *ast) override;
|
||||||
QMap<QString, QtTestCodeLocationList> dataTags() const { return m_dataTags; }
|
QHash<QString, QtTestCodeLocationList> dataTags() const { return m_dataTags; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString extractNameFromAST(CPlusPlus::StringLiteralAST *ast, bool *ok) const;
|
QString extractNameFromAST(CPlusPlus::StringLiteralAST *ast, bool *ok) const;
|
||||||
@@ -98,7 +98,7 @@ private:
|
|||||||
CPlusPlus::Document::Ptr m_currentDoc;
|
CPlusPlus::Document::Ptr m_currentDoc;
|
||||||
CPlusPlus::Overview m_overview;
|
CPlusPlus::Overview m_overview;
|
||||||
QString m_currentFunction;
|
QString m_currentFunction;
|
||||||
QMap<QString, QtTestCodeLocationList> m_dataTags;
|
QHash<QString, QtTestCodeLocationList> m_dataTags;
|
||||||
QtTestCodeLocationList m_currentTags;
|
QtTestCodeLocationList m_currentTags;
|
||||||
unsigned m_currentAstDepth = 0;
|
unsigned m_currentAstDepth = 0;
|
||||||
unsigned m_insideUsingQTestDepth = 0;
|
unsigned m_insideUsingQTestDepth = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user