summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-26 11:27:22 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-26 11:27:22 +0100
commitf5c9a158c160f0daa4adaf5a0c0bb7e8ac01a897 (patch)
treefde8466f02f08abd7ae1d7eacb0286fe71d52c8d /src/shared/cplusplus/Parser.cpp
parent94d6b23da10e13a9dfdc5c13a06a458499c4bf16 (diff)
downloadqt-creator-f5c9a158c160f0daa4adaf5a0c0bb7e8ac01a897.tar.gz
Use the start of the template-argument as to key for template-arguments cache.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index d36226ce25..a125683aff 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -820,6 +820,8 @@ Parser::TemplateArgumentListEntry *Parser::templateArgumentListEntry(unsigned to
bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
{
+ DEBUG_THIS_RULE();
+
if (TemplateArgumentListEntry *entry = templateArgumentListEntry(cursor())) {
rewind(entry->cursor);
node = entry->ast;
@@ -852,11 +854,11 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
}
}
- _templateArgumentList.insert(std::make_pair(cursor(), TemplateArgumentListEntry(start, cursor(), node)));
+ _templateArgumentList.insert(std::make_pair(start, TemplateArgumentListEntry(start, cursor(), node)));
return true;
}
- _templateArgumentList.insert(std::make_pair(cursor(), TemplateArgumentListEntry(start, cursor(), 0)));
+ _templateArgumentList.insert(std::make_pair(start, TemplateArgumentListEntry(start, cursor(), 0)));
return false;
}