From eb1baa9e2e445bbc108b7a8a16d340707923041f Mon Sep 17 00:00:00 2001 From: Erik Verbruggen <erik.verbruggen@nokia.com> Date: Tue, 29 Dec 2009 18:26:01 +0100 Subject: [PATCH] Fix to selector parameter position. --- src/shared/cplusplus/CheckDeclaration.cpp | 14 +++++++------- src/shared/cplusplus/CheckDeclarator.cpp | 3 ++- src/shared/cplusplus/CheckName.cpp | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index 719a0c82eb4..9758f306a22 100644 --- a/src/shared/cplusplus/CheckDeclaration.cpp +++ b/src/shared/cplusplus/CheckDeclaration.cpp @@ -666,22 +666,22 @@ bool CheckDeclaration::visit(ObjCMethodDeclarationAST *ast) return false; FullySpecifiedType ty = semantic()->check(ast->method_prototype, _scope); - ObjCMethod *methodType = ty.type()->asObjCMethodType(); - if (!methodType) + ObjCMethod *methodTy = ty.type()->asObjCMethodType(); + if (!methodTy) return false; Symbol *symbol; if (ast->function_body) { if (!semantic()->skipFunctionBodies()) { - semantic()->check(ast->function_body, methodType->members()); + semantic()->check(ast->function_body, methodTy->members()); } - symbol = methodType; + symbol = methodTy; } else { - Declaration *decl = control()->newDeclaration(ast->firstToken(), methodType->name()); - decl->setType(methodType); + Declaration *decl = control()->newDeclaration(ast->firstToken(), methodTy->name()); + decl->setType(methodTy); symbol = decl; - symbol->setStorage(methodType->storage()); + symbol->setStorage(methodTy->storage()); } symbol->setStartOffset(tokenAt(ast->firstToken()).offset); diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp index 7af4e02268a..d87b0997903 100644 --- a/src/shared/cplusplus/CheckDeclarator.cpp +++ b/src/shared/cplusplus/CheckDeclarator.cpp @@ -97,10 +97,11 @@ FullySpecifiedType CheckDeclarator::check(PtrOperatorListAST *ptrOperators, FullySpecifiedType CheckDeclarator::check(ObjCMethodPrototypeAST *methodPrototype, Scope *scope) { + FullySpecifiedType previousType = switchFullySpecifiedType(FullySpecifiedType()); Scope *previousScope = switchScope(scope); accept(methodPrototype); (void) switchScope(previousScope); - return _fullySpecifiedType; + return switchFullySpecifiedType(previousType); } DeclaratorAST *CheckDeclarator::switchDeclarator(DeclaratorAST *declarator) diff --git a/src/shared/cplusplus/CheckName.cpp b/src/shared/cplusplus/CheckName.cpp index 8f275515dfd..26fa9c21ee1 100644 --- a/src/shared/cplusplus/CheckName.cpp +++ b/src/shared/cplusplus/CheckName.cpp @@ -423,7 +423,7 @@ bool CheckName::visit(ObjCMessageArgumentDeclarationAST *ast) _name = control()->nameId(id); ast->name = _name; - Argument *arg = control()->newArgument(ast->firstToken(), _name); + Argument *arg = control()->newArgument(ast->param_name_token, _name); ast->argument = arg; arg->setType(type); arg->setInitializer(0); -- GitLab