From e609e9a70176d5cad7c823f60ab2a7f736d32e41 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Tue, 23 Feb 2010 17:43:40 +0100 Subject: Simplified ObjC selectors in the AST. --- src/shared/cplusplus/ASTClone.cpp | 41 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'src/shared/cplusplus/ASTClone.cpp') diff --git a/src/shared/cplusplus/ASTClone.cpp b/src/shared/cplusplus/ASTClone.cpp index 984b7d9526..4b9ee11468 100644 --- a/src/shared/cplusplus/ASTClone.cpp +++ b/src/shared/cplusplus/ASTClone.cpp @@ -40,6 +40,23 @@ using namespace CPlusPlus; +ObjCSelectorArgumentAST *ObjCSelectorArgumentAST::clone(MemoryPool *pool) const +{ + ObjCSelectorArgumentAST *ast = new (pool) ObjCSelectorArgumentAST; + ast->name_token = name_token; + ast->colon_token = colon_token; + return ast; +} + +ObjCSelectorAST *ObjCSelectorAST::clone(MemoryPool *pool) const +{ + ObjCSelectorAST *ast = new (pool) ObjCSelectorAST; + for (ObjCSelectorArgumentListAST *iter = selector_argument_list, **ast_iter = &ast->selector_argument_list; + iter; iter = iter->next, ast_iter = &(*ast_iter)->next) + *ast_iter = new (pool) ObjCSelectorArgumentListAST((iter->value) ? iter->value->clone(pool) : 0); + return ast; +} + SimpleSpecifierAST *SimpleSpecifierAST::clone(MemoryPool *pool) const { SimpleSpecifierAST *ast = new (pool) SimpleSpecifierAST; @@ -1351,30 +1368,6 @@ ObjCEncodeExpressionAST *ObjCEncodeExpressionAST::clone(MemoryPool *pool) const return ast; } -ObjCSelectorWithoutArgumentsAST *ObjCSelectorWithoutArgumentsAST::clone(MemoryPool *pool) const -{ - ObjCSelectorWithoutArgumentsAST *ast = new (pool) ObjCSelectorWithoutArgumentsAST; - ast->name_token = name_token; - return ast; -} - -ObjCSelectorArgumentAST *ObjCSelectorArgumentAST::clone(MemoryPool *pool) const -{ - ObjCSelectorArgumentAST *ast = new (pool) ObjCSelectorArgumentAST; - ast->name_token = name_token; - ast->colon_token = colon_token; - return ast; -} - -ObjCSelectorWithArgumentsAST *ObjCSelectorWithArgumentsAST::clone(MemoryPool *pool) const -{ - ObjCSelectorWithArgumentsAST *ast = new (pool) ObjCSelectorWithArgumentsAST; - for (ObjCSelectorArgumentListAST *iter = selector_argument_list, **ast_iter = &ast->selector_argument_list; - iter; iter = iter->next, ast_iter = &(*ast_iter)->next) - *ast_iter = new (pool) ObjCSelectorArgumentListAST((iter->value) ? iter->value->clone(pool) : 0); - return ast; -} - ObjCSelectorExpressionAST *ObjCSelectorExpressionAST::clone(MemoryPool *pool) const { ObjCSelectorExpressionAST *ast = new (pool) ObjCSelectorExpressionAST; -- cgit v1.2.1