diff options
author | Roberto Raggi <qtc-committer@nokia.com> | 2009-01-06 12:38:32 +0100 |
---|---|---|
committer | Roberto Raggi <qtc-committer@nokia.com> | 2009-01-06 12:39:38 +0100 |
commit | c70af84708d22b295a0686cfcdb8a15056b116ef (patch) | |
tree | 471a4a93f802bc0b350dd695fdfc8bfad7364084 /tests/manual/cplusplus/main.cpp | |
parent | ed6f6a2a9dc759671cc874c041b09b50e654c8e8 (diff) | |
download | qt-creator-c70af84708d22b295a0686cfcdb8a15056b116ef.tar.gz |
Added another simple refactoring operation. Comment enum definitions.
Diffstat (limited to 'tests/manual/cplusplus/main.cpp')
-rw-r--r-- | tests/manual/cplusplus/main.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/manual/cplusplus/main.cpp b/tests/manual/cplusplus/main.cpp index e5a68d4058..b4b9b8456d 100644 --- a/tests/manual/cplusplus/main.cpp +++ b/tests/manual/cplusplus/main.cpp @@ -119,6 +119,25 @@ public: } protected: + bool isEnumOrTypedefEnum(SpecifierAST *spec) { + if (! spec) + return false; + if (SimpleSpecifierAST *simpleSpec = spec->asSimpleSpecifier()) { + if (tokenKind(simpleSpec->specifier_token) == T_TYPEDEF) + return isEnumOrTypedefEnum(spec->next); + } + return spec->asEnumSpecifier() != 0; + } + virtual bool visit(SimpleDeclarationAST *ast) { + if (isEnumOrTypedefEnum(ast->decl_specifier_seq)) { + //remove(ast->firstToken(), ast->lastToken()); + insertTextBefore(ast->firstToken(), "/* #REF# removed "); + insertTextAfter(ast->lastToken() - 1, "*/"); + return true; + } + return true; + } + virtual bool visit(AccessDeclarationAST *ast) { if (tokenKind(ast->access_specifier_token) == T_PRIVATE) { @@ -164,7 +183,11 @@ protected: if (ast->lbrace_token) insertTextAfter(ast->lbrace_token, " Q_OBJECT\n"); - return true; + for (DeclarationAST *it = ast->member_specifiers; it; it = it->next) { + accept(it); + } + + return false; } }; |