diff options
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 13f7ff9fb71..9813acbd045 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -654,13 +654,10 @@ ActOnMemberReferenceExpr(ExprTy *Base, SourceLocation OpLoc, return new ObjCPropertyRefExpr(PD, PD->getType(), MemberLoc, BaseExpr); // Lastly, check protocols on qualified interfaces. - if (const ObjCQualifiedInterfaceType *QIT = - dyn_cast<ObjCQualifiedInterfaceType>(IFTy)) { - for (unsigned i = 0; i != QIT->getNumProtocols(); ++i) - if (ObjCPropertyDecl *PD = - QIT->getProtocols(i)->FindPropertyDeclaration(&Member)) - return new ObjCPropertyRefExpr(PD, PD->getType(), MemberLoc,BaseExpr); - } + for (ObjCInterfaceType::qual_iterator I = IFTy->qual_begin(), + E = IFTy->qual_end(); I != E; ++I) + if (ObjCPropertyDecl *PD = (*I)->FindPropertyDeclaration(&Member)) + return new ObjCPropertyRefExpr(PD, PD->getType(), MemberLoc, BaseExpr); } // Handle 'field access' to vectors, such as 'V.xx'. |