aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
authorChristian Kamm <kamm@incasoftware.de>2012-09-19 10:26:07 +0200
committerhjk <qthjk@ovi.com>2012-09-19 12:21:31 +0200
commit83da5f68bec13dcb05b84a005f4bb3bc7e8bc82b (patch)
treef29e5c977a316cd757e9a00ddb43bcbf98999880 /src/libs/3rdparty/cplusplus/ASTMatcher.cpp
parent2aa27e6d22757976811ac9f29291bb12e8871f0a (diff)
C++11: Allow for typename Foo<T>{}, Foo{} and int{}.
As a postfix expression. Change-Id: I65cae0571080a9fb699af61c661328ef06f97890 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/ASTMatcher.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/ASTMatcher.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
index e4e899c7e5..31401c8f4f 100644
--- a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
+++ b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
@@ -1791,15 +1791,11 @@ bool ASTMatcher::match(TypenameCallExpressionAST *node, TypenameCallExpressionAS
else if (! AST::match(node->name, pattern->name, this))
return false;
- pattern->lparen_token = node->lparen_token;
-
- if (! pattern->expression_list)
- pattern->expression_list = node->expression_list;
- else if (! AST::match(node->expression_list, pattern->expression_list, this))
+ if (! pattern->expression)
+ pattern->expression = node->expression;
+ else if (! AST::match(node->expression, pattern->expression, this))
return false;
- pattern->rparen_token = node->rparen_token;
-
return true;
}
@@ -1813,15 +1809,11 @@ bool ASTMatcher::match(TypeConstructorCallAST *node, TypeConstructorCallAST *pat
else if (! AST::match(node->type_specifier_list, pattern->type_specifier_list, this))
return false;
- pattern->lparen_token = node->lparen_token;
-
- if (! pattern->expression_list)
- pattern->expression_list = node->expression_list;
- else if (! AST::match(node->expression_list, pattern->expression_list, this))
+ if (! pattern->expression)
+ pattern->expression = node->expression;
+ else if (! AST::match(node->expression, pattern->expression, this))
return false;
- pattern->rparen_token = node->rparen_token;
-
return true;
}