aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/ParseObjc.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-10-20 06:15:13 +0000
committerChris Lattner <sabre@nondot.org>2008-10-20 06:15:13 +0000
commita1fed7e3beebf9bb1bc85123f283be3eb631c120 (patch)
tree2aa57c4e27d0f846d26bb9dac37f96941643080b /lib/Parse/ParseObjc.cpp
parentbc662afa1cb9b61cb1e7808bb1463dd6291b8095 (diff)
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
Diffstat (limited to 'lib/Parse/ParseObjc.cpp')
-rw-r--r--lib/Parse/ParseObjc.cpp15
1 files changed, 6 insertions, 9 deletions
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<FieldDeclarator, 8> 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(),