]> granicus.if.org Git - clang/commit
[analyzer] Add experimental ObjC invalidation method checker.
authorAnna Zaks <ganna@apple.com>
Wed, 26 Sep 2012 18:55:16 +0000 (18:55 +0000)
committerAnna Zaks <ganna@apple.com>
Wed, 26 Sep 2012 18:55:16 +0000 (18:55 +0000)
commit5bf5c2ec54ede5352293e5739e9b44bea2f6b01b
tree3d8ab6c6322ffed0c514e982cb03c1d3006d20fb
parent0be2638cc5809bbf8645a2721e80507abd076790
[analyzer] Add experimental ObjC invalidation method checker.

This checker is annotation driven. It checks that the annotated
invalidation method accesses all ivars of the enclosing objects that are
objects of type, which in turn contains an invalidation method.

This is driven by
__attribute((annotation("objc_instance_variable_invalidator")).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164716 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaObjCProperty.cpp
lib/StaticAnalyzer/Checkers/CMakeLists.txt
lib/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp [new file with mode: 0644]
test/Analysis/objc_invalidation.m [new file with mode: 0644]