diff options
author | Anna Zaks <ganna@apple.com> | 2012-10-31 01:18:22 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-10-31 01:18:22 +0000 |
commit | e63aedd0cb064fc106636ad856cc0e645e6374ce (patch) | |
tree | 54cb8ba4d2e6e500408f86081e8c0cacb84e564a | |
parent | 399f2c40032062862d13009982ba03b97ac1c4e0 (diff) |
Address Jordan's review: comments, spaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167091 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/DeclObjC.h | 9 | ||||
-rw-r--r-- | lib/AST/DeclObjC.cpp | 7 | ||||
-rw-r--r-- | lib/Sema/SemaObjCProperty.cpp | 6 |
3 files changed, 13 insertions, 9 deletions
diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h index 4d48efda82..8b27dd8e9e 100644 --- a/include/clang/AST/DeclObjC.h +++ b/include/clang/AST/DeclObjC.h @@ -541,11 +541,12 @@ public: ObjCPropertyDecl *FindPropertyDeclaration(IdentifierInfo *PropertyId) const; - typedef llvm::DenseMap<IdentifierInfo *, ObjCPropertyDecl*> PropertyMap; + typedef llvm::DenseMap<IdentifierInfo*, ObjCPropertyDecl*> PropertyMap; /// This routine collects list of properties to be implemented in the class. /// This includes, class's and its conforming protocols' properties. - virtual void collectPropertiesToImplement(PropertyMap& PM) const {} + /// Note, the superclass's properties are not included in the list. + virtual void collectPropertiesToImplement(PropertyMap &PM) const {} SourceLocation getAtStartLoc() const { return AtStart; } void setAtStartLoc(SourceLocation Loc) { AtStart = Loc; } @@ -906,7 +907,7 @@ public: ObjCPropertyDecl *FindPropertyVisibleInPrimaryClass(IdentifierInfo *PropertyId) const; - virtual void collectPropertiesToImplement(PropertyMap& PM) const; + virtual void collectPropertiesToImplement(PropertyMap &PM) const; /// isSuperClassOf - Return true if this class is the specified class or is a /// super class of the specified interface class. @@ -1302,7 +1303,7 @@ public: return getFirstDeclaration(); } - virtual void collectPropertiesToImplement(PropertyMap& PM) const; + virtual void collectPropertiesToImplement(PropertyMap &PM) const; static bool classof(const Decl *D) { return classofKind(D->getKind()); } static bool classofKind(Kind K) { return K == ObjCProtocol; } diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index 5eb9cdc5dc..65a987836f 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -190,7 +190,7 @@ ObjCInterfaceDecl::FindPropertyVisibleInPrimaryClass( return 0; } -void ObjCInterfaceDecl::collectPropertiesToImplement(PropertyMap& PM) const { +void ObjCInterfaceDecl::collectPropertiesToImplement(PropertyMap &PM) const { for (ObjCContainerDecl::prop_iterator P = prop_begin(), E = prop_end(); P != E; ++P) { ObjCPropertyDecl *Prop = *P; @@ -200,6 +200,9 @@ void ObjCInterfaceDecl::collectPropertiesToImplement(PropertyMap& PM) const { PI = all_referenced_protocol_begin(), E = all_referenced_protocol_end(); PI != E; ++PI) (*PI)->collectPropertiesToImplement(PM); + // Note, the properties declared only in class extensions are still copied + // into the main @interface's property list, and therefore we don't + // explicitly, have to search class extension properties. } void ObjCInterfaceDecl::mergeClassExtensionProtocolList( @@ -1325,7 +1328,7 @@ void ObjCProtocolDecl::startDefinition() { RD->Data = this->Data; } -void ObjCProtocolDecl::collectPropertiesToImplement(PropertyMap& PM) const { +void ObjCProtocolDecl::collectPropertiesToImplement(PropertyMap &PM) const { for (ObjCProtocolDecl::prop_iterator P = prop_begin(), E = prop_end(); P != E; ++P) { ObjCPropertyDecl *Prop = *P; diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp index de608a129f..8d708607f6 100644 --- a/lib/Sema/SemaObjCProperty.cpp +++ b/lib/Sema/SemaObjCProperty.cpp @@ -1440,8 +1440,8 @@ bool Sema::isPropertyReadonly(ObjCPropertyDecl *PDecl, /// CollectImmediateProperties - This routine collects all properties in /// the class and its conforming protocols; but not those it its super class. void Sema::CollectImmediateProperties(ObjCContainerDecl *CDecl, - ObjCContainerDecl::PropertyMap& PropMap, - ObjCContainerDecl::PropertyMap& SuperPropMap) { + ObjCContainerDecl::PropertyMap &PropMap, + ObjCContainerDecl::PropertyMap &SuperPropMap) { if (ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) { for (ObjCContainerDecl::prop_iterator P = IDecl->prop_begin(), E = IDecl->prop_end(); P != E; ++P) { @@ -1491,7 +1491,7 @@ void Sema::CollectImmediateProperties(ObjCContainerDecl *CDecl, /// properties to be implemented in super class(s) and also coming from their /// conforming protocols. static void CollectSuperClassPropertyImplementations(ObjCInterfaceDecl *CDecl, - ObjCInterfaceDecl::PropertyMap& PropMap) { + ObjCInterfaceDecl::PropertyMap &PropMap) { if (ObjCInterfaceDecl *SDecl = CDecl->getSuperClass()) { while (SDecl) { SDecl->collectPropertiesToImplement(PropMap); |