diff options
| author | Manman Ren <manman.ren@gmail.com> | 2016-01-28 23:36:05 +0000 |
|---|---|---|
| committer | Manman Ren <manman.ren@gmail.com> | 2016-01-28 23:36:05 +0000 |
| commit | 494ee5b049f0eabddc2055f337dc4b3b006a6041 (patch) | |
| tree | ae272bba4df7ba952a9a015b895af8e674a31630 /clang/lib/StaticAnalyzer/Checkers | |
| parent | 134de6ffd88fef2c635276f75de4d8307d4385fa (diff) | |
| download | bcm5719-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.cpp | 2 |
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); |

