From e0d3fe9b972409456ed952154d69b661d3a7d883 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 20 Oct 2008 06:15:13 +0000 Subject: [PATCH] simplify some code by using ExpectAndConsume. When an error occurs, skip to an @ or ; instead of to a } or ;. Properties don't necessarily live in {}'s. llvm-svn: 57804 --- clang/lib/Parse/ParseObjc.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp index 6369817ad546..cc5a74d7c6f8 100644 --- a/clang/lib/Parse/ParseObjc.cpp +++ b/clang/lib/Parse/ParseObjc.cpp @@ -310,20 +310,17 @@ void Parser::ParseObjCInterfaceDeclList(DeclTy *interfaceDecl, llvm::SmallVector FieldDeclarators; ParseStructDeclaration(DS, FieldDeclarators); - if (Tok.is(tok::semi)) - ConsumeToken(); - else { - Diag(Tok, diag::err_expected_semi_decl_list); - SkipUntil(tok::r_brace, true, true); - } + ExpectAndConsume(tok::semi, diag::err_expected_semi_decl_list, "", + tok::at); + // Convert them all to property declarations. for (unsigned i = 0, e = FieldDeclarators.size(); i != e; ++i) { FieldDeclarator &FD = FieldDeclarators[i]; // Install the property declarator into interfaceDecl. Selector GetterSel = - PP.getSelectorTable().getNullarySelector(OCDS.getGetterName() - ? OCDS.getGetterName() - : FD.D.getIdentifier()); + PP.getSelectorTable().getNullarySelector(OCDS.getGetterName() + ? OCDS.getGetterName() + : FD.D.getIdentifier()); IdentifierInfo *SetterName = OCDS.getSetterName(); if (!SetterName) SetterName = constructSetterName(PP.getIdentifierTable(),