forked from qt-creator/qt-creator
C++: Store template typename argument declarator type
Differentiate class from typename. Used by a follow-up commit for pretty printing, preserving the original declarator. Change-Id: I496505f5062abb69d5552e5422db256d49d164c4 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
e920921f27
commit
e919746808
2
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
2
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
@@ -2388,9 +2388,11 @@ bool Bind::visit(TypenameTypeParameterAST *ast)
|
||||
// unsigned dot_dot_dot_token = ast->dot_dot_dot_token;
|
||||
const Name *name = this->name(ast->name);
|
||||
ExpressionTy type_id = this->expression(ast->type_id);
|
||||
CPlusPlus::Kind classKey = translationUnit()->tokenKind(ast->classkey_token);
|
||||
|
||||
TypenameArgument *arg = control()->newTypenameArgument(sourceLocation, name);
|
||||
arg->setType(type_id);
|
||||
arg->setClassDeclarator(classKey == T_CLASS);
|
||||
ast->symbol = arg;
|
||||
_scope->addMember(arg);
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user