diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index c4fdf3518e9642f7885cab89c25b6806a463f390..f3d9e7e462fd59f8c63dd29068788042d177fd7e 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -411,6 +411,12 @@ protected: accept(ast->argument_list); return false; } + + virtual bool visit(ObjCMessageArgumentDeclarationAST *ast) + { + accept(ast->param_name); + return false; + } }; diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index 5d3646e3246fddbd25f52376cfa8dd95153289c2..a9ede700cad6c9bf793d67dc90838479138f1c23 100644 --- a/src/shared/cplusplus/CheckDeclaration.cpp +++ b/src/shared/cplusplus/CheckDeclaration.cpp @@ -694,8 +694,8 @@ bool CheckDeclaration::visit(ObjCMethodDeclarationAST *ast) symbol->setStorage(methodTy->storage()); } - symbol->setStartOffset(tokenAt(selector->firstToken()).offset); - symbol->setEndOffset(tokenAt(selector->lastToken()).offset); + symbol->setStartOffset(tokenAt(ast->firstToken()).offset); + symbol->setEndOffset(tokenAt(ast->lastToken()).offset); symbol->setVisibility(semantic()->currentObjCVisibility()); _scope->enterSymbol(symbol); diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp index b16806139364f593b7e6f34db05bf91356a56ff3..860e7d3078d29a5d30518d25a3bd6f26406d7531 100644 --- a/src/shared/cplusplus/CheckDeclarator.cpp +++ b/src/shared/cplusplus/CheckDeclarator.cpp @@ -265,7 +265,6 @@ bool CheckDeclarator::visit(ObjCMethodPrototypeAST *ast) ObjCMethod *method = control()->newObjCMethod(location, ast->selector->selector_name); ast->symbol = method; - method->setSourceLocation(location); method->setScope(_scope); method->setVisibility(semantic()->currentVisibility()); method->setReturnType(returnType);