summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2016-01-28 23:36:05 +0000
committerManman Ren <manman.ren@gmail.com>2016-01-28 23:36:05 +0000
commit494ee5b049f0eabddc2055f337dc4b3b006a6041 (patch)
treeae272bba4df7ba952a9a015b895af8e674a31630 /clang/lib/StaticAnalyzer/Checkers
parent134de6ffd88fef2c635276f75de4d8307d4385fa (diff)
downloadbcm5719-llvm-494ee5b049f0eabddc2055f337dc4b3b006a6041.tar.gz
bcm5719-llvm-494ee5b049f0eabddc2055f337dc4b3b006a6041.zip
Class Property: change PropertyMap to include isClassProperty.
PropertyMap used to map IdentifierInfo (name of the property) to ObjcPropertyDecl *. Now that a class property can have the same name as an instance property, we change PropertyMap to map a pair <IdentifierInfo *, unsigned> to ObjcPropertyDecl *. Also update a few places from iterating over instance_properties to iterating over all properties. rdar://23891898 llvm-svn: 259119
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers')
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
index dffff38c91a..153c05bbef1 100644
--- a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
@@ -390,6 +390,8 @@ visit(const ObjCImplementationDecl *ImplD) const {
for (ObjCInterfaceDecl::PropertyMap::iterator
I = PropMap.begin(), E = PropMap.end(); I != E; ++I) {
const ObjCPropertyDecl *PD = I->second;
+ if (PD->isClassProperty())
+ continue;
const ObjCIvarDecl *ID = findPropertyBackingIvar(PD, InterfaceD, Ivars,
&FirstIvarDecl);
OpenPOWER on IntegriCloud