diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2008-04-10 23:32:45 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-04-10 23:32:45 +0000 |
commit | 1d78cc443084134428c4c333fab25148900c3ca4 (patch) | |
tree | c49cbfdf9fed44afdc2d7f95fe3c0767961b62e4 /lib/Parse/ParseObjc.cpp | |
parent | 61b9f870cc5a446627f6fe18d4895a7058c14fea (diff) |
Patch for:
1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49506 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseObjc.cpp')
-rw-r--r-- | lib/Parse/ParseObjc.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 5a9b980b6d..eb3c5df6fb 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -397,9 +397,9 @@ Parser::DeclTy *Parser::ParseObjCPropertyDecl(DeclTy *interfaceDecl, for (unsigned i = 0, e = FieldDeclarators.size(); i != e; ++i) { FieldDeclarator &FD = FieldDeclarators[i]; // Install the declarator into interfaceDecl. - DeclTy *Field = Actions.ActOnField(CurScope, interfaceDecl, + DeclTy *Field = Actions.ActOnIvar(CurScope, DS.getSourceRange().getBegin(), - FD.D, FD.BitfieldSize); + FD.D, FD.BitfieldSize); PropertyDecls.push_back(Field); } @@ -772,7 +772,6 @@ void Parser::ParseObjCClassInstanceVariables(DeclTy *interfaceDecl, SourceLocation atLoc) { assert(Tok.is(tok::l_brace) && "expected {"); llvm::SmallVector<DeclTy*, 32> AllIvarDecls; - llvm::SmallVector<tok::ObjCKeywordKind, 32> AllVisibilities; llvm::SmallVector<FieldDeclarator, 8> FieldDeclarators; SourceLocation LBraceLoc = ConsumeBrace(); // the "{" @@ -815,11 +814,10 @@ void Parser::ParseObjCClassInstanceVariables(DeclTy *interfaceDecl, for (unsigned i = 0, e = FieldDeclarators.size(); i != e; ++i) { FieldDeclarator &FD = FieldDeclarators[i]; // Install the declarator into interfaceDecl. - DeclTy *Field = Actions.ActOnField(CurScope, interfaceDecl, + DeclTy *Field = Actions.ActOnIvar(CurScope, DS.getSourceRange().getBegin(), - FD.D, FD.BitfieldSize); + FD.D, FD.BitfieldSize, visibility); AllIvarDecls.push_back(Field); - AllVisibilities.push_back(visibility); } if (Tok.is(tok::semi)) { @@ -838,7 +836,7 @@ void Parser::ParseObjCClassInstanceVariables(DeclTy *interfaceDecl, // for code rewriting tools that need to be aware of the empty list. Actions.ActOnFields(CurScope, atLoc, interfaceDecl, &AllIvarDecls[0], AllIvarDecls.size(), - LBraceLoc, RBraceLoc, &AllVisibilities[0]); + LBraceLoc, RBraceLoc); return; } |