diff options
author | Anna Zaks <ganna@apple.com> | 2013-01-11 03:52:40 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2013-01-11 03:52:40 +0000 |
commit | ca49e535ae5c42de49cbd2e259d95ed81b9b7623 (patch) | |
tree | 6af0927693bbfab3e61487cc259fdc0d43623802 /clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp | |
parent | 2975cf27e465de75dd1b9866244cdda0539785d2 (diff) | |
download | bcm5719-llvm-ca49e535ae5c42de49cbd2e259d95ed81b9b7623.tar.gz bcm5719-llvm-ca49e535ae5c42de49cbd2e259d95ed81b9b7623.zip |
[analyzer]Recognize ivar invalidation protocol even if it was redeclared
This will get rid of some false positives as well as false negatives.
llvm-svn: 172169
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp index 527470a17c5..4f2a9097b4f 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp @@ -233,7 +233,7 @@ void IvarInvalidationChecker::containsInvalidationMethod( for (ObjCInterfaceDecl::protocol_iterator I = InterfD->protocol_begin(), E = InterfD->protocol_end(); I != E; ++I) { - containsInvalidationMethod(*I, OutInfo); + containsInvalidationMethod((*I)->getDefinition(), OutInfo); } // Visit all categories in case the invalidation method is declared in @@ -252,7 +252,7 @@ void IvarInvalidationChecker::containsInvalidationMethod( for (ObjCInterfaceDecl::protocol_iterator I = ProtD->protocol_begin(), E = ProtD->protocol_end(); I != E; ++I) { - containsInvalidationMethod(*I, OutInfo); + containsInvalidationMethod((*I)->getDefinition(), OutInfo); } return; } |