Commit eb1baa9e authored by Erik Verbruggen's avatar Erik Verbruggen
Browse files

Fix to selector parameter position.

parent 5723682b
......@@ -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);
......
......@@ -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)
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment