[objc] Refactor and improve functionality for the -Wunused-property-ivar warning.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 3 Jan 2014 18:32:18 +0000 (18:32 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 3 Jan 2014 18:32:18 +0000 (18:32 +0000)
commit2080d90f375da9fd56b5545f76a9065c8d2f571c
tree2aa0d5371934f0b6775bfa22af1684bf54f824bf
parentd41295da72e2f264699672c97aeaff55fff219a2
[objc] Refactor and improve functionality for the -Wunused-property-ivar warning.

- Remove the additions to ObjCMethodDecl & ObjCIVarDecl that were getting de/serialized and consolidate
  all functionality for the checking for this warning in Sema::DiagnoseUnusedBackingIvarInAccessor
- Don't check immediately after the method body is finished, check when the @implementation is finished.
  This is so we can see if the ivar was referenced by any other method, even if the method was defined after the accessor.
- Don't silence the warning if any method is called from the accessor silence it if the accessor delegates to another method via self.

rdar://15727325

llvm-svn: 198432
12 files changed:
clang/include/clang/AST/DeclObjC.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTDumper.cpp
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/DeclObjC.cpp
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaDeclObjC.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaExprObjC.cpp
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/SemaObjC/unused-backing-ivar-warning.m