From 4e7881577dce66476f76ad1362353c2bb8bbdac7 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen <erik.verbruggen@nokia.com> Date: Thu, 6 Aug 2009 13:44:33 +0200 Subject: [PATCH] Parser fix for ObjC methods. --- src/shared/cplusplus/Parser.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index ea8b0f98e82..3ed4839928f 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -4347,14 +4347,16 @@ bool Parser::parseObjCMethodDefinition(DeclarationAST *&node) ObjCMethodDeclarationAST *ast = new (_pool) ObjCMethodDeclarationAST; ast->method_prototype = method_prototype; + // Objective-C allows you to write: + // - (void) foo; { body; } + // so a method is a forward declaration when it doesn't have a _body_. + // However, we still need to read the semicolon. if (LA() == T_SEMICOLON) { - // method declaration: ast->semicolon_token = consumeToken(); - } else { - // method definition: - parseFunctionBody(ast->function_body); } + parseFunctionBody(ast->function_body); + node = ast; return true; } -- GitLab