diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-02-23 17:43:40 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-02-23 17:43:52 +0100 |
commit | e609e9a70176d5cad7c823f60ab2a7f736d32e41 (patch) | |
tree | deee593ad3061063aca36eed984f4bc34f7a3cd2 /src/libs/cplusplus | |
parent | 69dfa3566ceadc08d5f9be4dceae65b5b6ceafee (diff) | |
download | qt-creator-e609e9a70176d5cad7c823f60ab2a7f736d32e41.tar.gz |
Simplified ObjC selectors in the AST.
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r-- | src/libs/cplusplus/FindUsages.cpp | 19 | ||||
-rw-r--r-- | src/libs/cplusplus/FindUsages.h | 3 | ||||
-rw-r--r-- | src/libs/cplusplus/ResolveExpression.cpp | 4 |
3 files changed, 11 insertions, 15 deletions
diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index a8d0e456b6..83a6b57135 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -463,29 +463,26 @@ bool FindUsages::visit(SimpleDeclarationAST *ast) return false; } -bool FindUsages::visit(ObjCSelectorWithoutArgumentsAST *ast) +bool FindUsages::visit(ObjCSelectorAST *ast) { - const Identifier *id = identifier(ast->name_token); +#if 1 + const Identifier *id = ast->name->identifier(); if (id == _id) { LookupContext context = currentContext(ast); - const QList<Symbol *> candidates = context.resolve(ast->selector_name); - reportResult(ast->name_token, candidates); + const QList<Symbol *> candidates = context.resolve(ast->name); + reportResult(ast->firstToken(), candidates); } - - return false; -} - -bool FindUsages::visit(ObjCSelectorWithArgumentsAST *ast) -{ +#else for (ObjCSelectorArgumentListAST *iter = ast->selector_argument_list; iter; iter = iter->next) { const Identifier *id = identifier(iter->value->name_token); if (id == _id) { LookupContext context = currentContext(iter->value); - const QList<Symbol *> candidates = context.resolve(ast->selector_name); + const QList<Symbol *> candidates = context.resolve(ast->name); reportResult(iter->value->name_token, candidates); } } +#endif return false; } diff --git a/src/libs/cplusplus/FindUsages.h b/src/libs/cplusplus/FindUsages.h index 313676fc90..ef964deb9e 100644 --- a/src/libs/cplusplus/FindUsages.h +++ b/src/libs/cplusplus/FindUsages.h @@ -99,8 +99,7 @@ protected: virtual bool visit(ExpressionOrDeclarationStatementAST *ast); virtual bool visit(FunctionDeclaratorAST *ast); virtual bool visit(SimpleDeclarationAST *); - virtual bool visit(ObjCSelectorWithoutArgumentsAST *ast); - virtual bool visit(ObjCSelectorWithArgumentsAST *ast); + virtual bool visit(ObjCSelectorAST *ast); private: const Identifier *_id; diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 2425fef422..4102043e74 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -803,12 +803,12 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast) } } - if (klassName&&ast->selector && ast->selector->selector_name) { + if (klassName&&ast->selector && ast->selector->name) { ResolveObjCClass resolveObjCClass; QList<Symbol *> resolvedSymbols = resolveObjCClass(klassName, result, _context); foreach (Symbol *resolvedSymbol, resolvedSymbols) if (ObjCClass *klass = resolvedSymbol->asObjCClass()) - _results.append(resolveMember(ast->selector->selector_name, klass)); + _results.append(resolveMember(ast->selector->name, klass)); } } |