aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
authorChristian Kamm <kamm@incasoftware.de>2012-09-18 10:45:10 +0200
committerhjk <qthjk@ovi.com>2012-09-19 11:56:33 +0200
commit871112119714c422655f3429d1f190cf6502a97e (patch)
treeb69be607f6888034ee429df2c68d8c520c3b2c9e /src/libs/3rdparty/cplusplus/ASTMatcher.cpp
parent9bd86e7d683964d879eef0d98d25809aac102ed9 (diff)
C++11: Parse alias declarations.
The parser no longer fails declarations like: using Foo = std::vector<int>::iterator; Change-Id: Ib3a552ebbe0147fa138db6448a52cdba8f9b9207 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/ASTMatcher.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/ASTMatcher.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
index 8832cecc57..061c75814d 100644
--- a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
+++ b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
@@ -1485,6 +1485,27 @@ bool ASTMatcher::match(NamespaceAliasDefinitionAST *node, NamespaceAliasDefiniti
return true;
}
+bool ASTMatcher::match(AliasDeclarationAST *node, AliasDeclarationAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->using_token = node->using_token;
+
+ pattern->identifier_token = node->identifier_token;
+
+ pattern->equal_token = node->equal_token;
+
+ if (! pattern->typeId)
+ pattern->typeId = node->typeId;
+ else if (! AST::match(node->typeId, pattern->typeId, this))
+ return false;
+
+ pattern->semicolon_token = node->semicolon_token;
+
+ return true;
+}
+
bool ASTMatcher::match(ExpressionListParenAST *node, ExpressionListParenAST *pattern)
{
(void) node;