forked from qt-creator/qt-creator
C++11: Allow for typename Foo<T>{}, Foo{} and int{}.
As a postfix expression. Change-Id: I65cae0571080a9fb699af61c661328ef06f97890 Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
20
src/libs/3rdparty/cplusplus/ASTMatcher.cpp
vendored
20
src/libs/3rdparty/cplusplus/ASTMatcher.cpp
vendored
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user