forked from qt-creator/qt-creator
Removed TemplateArgumentList
This commit is contained in:
@@ -2216,7 +2216,7 @@ class CPLUSPLUS_EXPORT TemplateIdAST: public NameAST
|
||||
public:
|
||||
unsigned identifier_token;
|
||||
unsigned less_token;
|
||||
TemplateArgumentListAST *template_argument_list;
|
||||
ExpressionListAST *template_argument_list;
|
||||
unsigned greater_token;
|
||||
|
||||
public:
|
||||
|
||||
@@ -804,9 +804,9 @@ TemplateIdAST *TemplateIdAST::clone(MemoryPool *pool) const
|
||||
TemplateIdAST *ast = new (pool) TemplateIdAST;
|
||||
ast->identifier_token = identifier_token;
|
||||
ast->less_token = less_token;
|
||||
for (TemplateArgumentListAST *iter = template_argument_list, **ast_iter = &ast->template_argument_list;
|
||||
for (ExpressionListAST *iter = template_argument_list, **ast_iter = &ast->template_argument_list;
|
||||
iter; iter = iter->next, ast_iter = &(*ast_iter)->next)
|
||||
*ast_iter = new (pool) TemplateArgumentListAST((iter->value) ? iter->value->clone(pool) : 0);
|
||||
*ast_iter = new (pool) ExpressionListAST((iter->value) ? iter->value->clone(pool) : 0);
|
||||
ast->greater_token = greater_token;
|
||||
return ast;
|
||||
}
|
||||
|
||||
@@ -234,8 +234,6 @@ typedef List<ObjCPropertyAttributeAST *> ObjCPropertyAttributeListAST;
|
||||
typedef List<ObjCMessageArgumentDeclarationAST *> ObjCMessageArgumentDeclarationListAST;
|
||||
typedef List<ObjCSynthesizedPropertyAST *> ObjCSynthesizedPropertyListAST;
|
||||
|
||||
typedef ExpressionListAST TemplateArgumentListAST;
|
||||
|
||||
} // end of namespace CPlusPlus
|
||||
|
||||
|
||||
|
||||
@@ -356,7 +356,7 @@ bool CheckName::visit(TemplateIdAST *ast)
|
||||
{
|
||||
const Identifier *id = identifier(ast->identifier_token);
|
||||
std::vector<FullySpecifiedType> templateArguments;
|
||||
for (TemplateArgumentListAST *it = ast->template_argument_list; it;
|
||||
for (ExpressionListAST *it = ast->template_argument_list; it;
|
||||
it = it->next) {
|
||||
ExpressionAST *arg = it->value;
|
||||
FullySpecifiedType exprTy = semantic()->check(arg, _scope);
|
||||
|
||||
@@ -818,7 +818,7 @@ Parser::TemplateArgumentListEntry *Parser::templateArgumentListEntry(unsigned to
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
|
||||
bool Parser::parseTemplateArgumentList(ExpressionListAST *&node)
|
||||
{
|
||||
DEBUG_THIS_RULE();
|
||||
|
||||
@@ -830,10 +830,10 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
|
||||
|
||||
unsigned start = cursor();
|
||||
|
||||
TemplateArgumentListAST **template_argument_ptr = &node;
|
||||
ExpressionListAST **template_argument_ptr = &node;
|
||||
ExpressionAST *template_argument = 0;
|
||||
if (parseTemplateArgument(template_argument)) {
|
||||
*template_argument_ptr = new (_pool) TemplateArgumentListAST;
|
||||
*template_argument_ptr = new (_pool) ExpressionListAST;
|
||||
(*template_argument_ptr)->value = template_argument;
|
||||
template_argument_ptr = &(*template_argument_ptr)->next;
|
||||
|
||||
@@ -844,7 +844,7 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
|
||||
consumeToken(); // consume T_COMMA
|
||||
|
||||
if (parseTemplateArgument(template_argument)) {
|
||||
*template_argument_ptr = new (_pool) TemplateArgumentListAST;
|
||||
*template_argument_ptr = new (_pool) ExpressionListAST;
|
||||
(*template_argument_ptr)->value = template_argument;
|
||||
template_argument_ptr = &(*template_argument_ptr)->next;
|
||||
|
||||
@@ -855,10 +855,10 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
|
||||
|
||||
if (_pool != _translationUnit->memoryPool()) {
|
||||
MemoryPool *pool = _translationUnit->memoryPool();
|
||||
TemplateArgumentListAST *template_argument_list = node;
|
||||
for (TemplateArgumentListAST *iter = template_argument_list, **ast_iter = &node;
|
||||
ExpressionListAST *template_argument_list = node;
|
||||
for (ExpressionListAST *iter = template_argument_list, **ast_iter = &node;
|
||||
iter; iter = iter->next, ast_iter = &(*ast_iter)->next)
|
||||
*ast_iter = new (pool) TemplateArgumentListAST((iter->value) ? iter->value->clone(pool) : 0);
|
||||
*ast_iter = new (pool) ExpressionListAST((iter->value) ? iter->value->clone(pool) : 0);
|
||||
}
|
||||
|
||||
_templateArgumentList.insert(std::make_pair(start, TemplateArgumentListEntry(start, cursor(), node)));
|
||||
@@ -4117,7 +4117,7 @@ bool Parser::parseNameId(NameAST *&name)
|
||||
|
||||
else if (LA() == T_LPAREN) {
|
||||
// a template-id followed by a T_LPAREN
|
||||
if (TemplateArgumentListAST *template_arguments = template_id->template_argument_list) {
|
||||
if (ExpressionListAST *template_arguments = template_id->template_argument_list) {
|
||||
if (! template_arguments->next && template_arguments->value &&
|
||||
template_arguments->value->asBinaryExpression()) {
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ public:
|
||||
bool parseStringLiteral(ExpressionAST *&node);
|
||||
bool parseSwitchStatement(StatementAST *&node);
|
||||
bool parseTemplateArgument(ExpressionAST *&node);
|
||||
bool parseTemplateArgumentList(TemplateArgumentListAST *&node);
|
||||
bool parseTemplateArgumentList(ExpressionListAST *&node);
|
||||
bool parseTemplateDeclaration(DeclarationAST *&node);
|
||||
bool parseTemplateParameter(DeclarationAST *&node);
|
||||
bool parseTemplateParameterList(DeclarationListAST *&node);
|
||||
@@ -319,9 +319,9 @@ public:
|
||||
struct TemplateArgumentListEntry {
|
||||
unsigned index;
|
||||
unsigned cursor;
|
||||
TemplateArgumentListAST *ast;
|
||||
ExpressionListAST *ast;
|
||||
|
||||
TemplateArgumentListEntry(unsigned index = 0, unsigned cursor = 0, TemplateArgumentListAST *ast = 0)
|
||||
TemplateArgumentListEntry(unsigned index = 0, unsigned cursor = 0, ExpressionListAST *ast = 0)
|
||||
: index(index), cursor(cursor), ast(ast) {}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user