diff options
| author | Steve Naroff <snaroff@apple.com> | 2007-10-02 21:43:37 +0000 |
|---|---|---|
| committer | Steve Naroff <snaroff@apple.com> | 2007-10-02 21:43:37 +0000 |
| commit | d1741552040fc6cef96acc96c11f06c6ff3a8734 (patch) | |
| tree | 1dc51f04293685932bc9bfb6370c89de3de9e2c4 /clang/Sema/SemaDecl.cpp | |
| parent | f214ff87014f953269d099b1798a4a662d58dc32 (diff) | |
| download | bcm5719-llvm-d1741552040fc6cef96acc96c11f06c6ff3a8734.tar.gz bcm5719-llvm-d1741552040fc6cef96acc96c11f06c6ff3a8734.zip | |
Remove Action::ActOnImpleIvarVsClassIvars(), it is only called by Sema (not Parser).
Add Sema::CheckImplementationIvars() to replace the previous action.
llvm-svn: 42553
Diffstat (limited to 'clang/Sema/SemaDecl.cpp')
| -rw-r--r-- | clang/Sema/SemaDecl.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/clang/Sema/SemaDecl.cpp b/clang/Sema/SemaDecl.cpp index 64789bc3f50..1e0198aa853 100644 --- a/clang/Sema/SemaDecl.cpp +++ b/clang/Sema/SemaDecl.cpp @@ -1168,17 +1168,18 @@ Sema::DeclTy *Sema::ObjcStartClassImplementation(Scope *S, return IMPDecl; } -void Sema::ActOnImpleIvarVsClassIvars(DeclTy *ClassDecl, - DeclTy **Fields, unsigned numIvars) { - ObjcInterfaceDecl* IDecl = - cast<ObjcInterfaceDecl>(static_cast<Decl*>(ClassDecl)); - assert(IDecl && "missing named interface class decl"); - ObjcIvarDecl** ivars = reinterpret_cast<ObjcIvarDecl**>(Fields); +void Sema::CheckImplementationIvars(ObjcImplementationDecl *ImpDecl, + ObjcIvarDecl **ivars, unsigned numIvars) { + assert(ImpDecl && "missing implementation decl"); + ObjcInterfaceDecl* IDecl = getObjCInterfaceDecl(ImpDecl->getIdentifier()); + + if (!IDecl) + return; assert(ivars && "missing @implementation ivars"); - // Check interface's Ivar list against those in the implementation. - // names and types must match. - // + // Check interface's Ivar list against those in the implementation. + // names and types must match. + // ObjcIvarDecl** IntfIvars = IDecl->getIntfDeclIvars(); int IntfNumIvars = IDecl->getIntfDeclNumIvars(); unsigned j = 0; @@ -1676,10 +1677,7 @@ void Sema::ActOnFields(Scope* S, cast<ObjcImplementationDecl>(static_cast<Decl*>(RecDecl)); assert(IMPDecl && "ActOnFields - missing ObjcImplementationDecl"); IMPDecl->ObjcAddInstanceVariablesToClassImpl(ClsFields, RecFields.size()); - ObjcInterfaceDecl* IDecl = getObjCInterfaceDecl(IMPDecl->getIdentifier()); - if (IDecl) - ActOnImpleIvarVsClassIvars(static_cast<DeclTy*>(IDecl), - reinterpret_cast<DeclTy**>(&RecFields[0]), RecFields.size()); + CheckImplementationIvars(IMPDecl, ClsFields, RecFields.size()); } } } |

