summaryrefslogtreecommitdiff
path: root/tests/manual/cplusplus/main.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2009-01-06 12:38:32 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2009-01-06 12:39:38 +0100
commitc70af84708d22b295a0686cfcdb8a15056b116ef (patch)
tree471a4a93f802bc0b350dd695fdfc8bfad7364084 /tests/manual/cplusplus/main.cpp
parented6f6a2a9dc759671cc874c041b09b50e654c8e8 (diff)
downloadqt-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.cpp25
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;
}
};