From: Chris Lattner Date: Mon, 20 Oct 2008 06:15:13 +0000 (+0000) Subject: simplify some code by using ExpectAndConsume. When an error X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1fed7e3beebf9bb1bc85123f283be3eb631c120;p=clang 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57804 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 6369817ad5..cc5a74d7c6 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/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(),