llvm-project/clang/lib/Analysis
Adrian Prantl 2073dd2da7 Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized.
This patch is motivated by (and factored out from)
https://reviews.llvm.org/D66121 which is a debug info bugfix. Starting
with DWARF 5 all Objective-C methods are nested inside their
containing type, and that patch implements this for synthesized
Objective-C properties.

1. SemaObjCProperty populates a list of synthesized accessors that may
   need to inserted into an ObjCImplDecl.

2. SemaDeclObjC::ActOnEnd inserts forward-declarations for all
   accessors for which no override was provided into their
   ObjCImplDecl. This patch does *not* synthesize AST function
   *bodies*. Moving that code from the static analyzer into Sema may
   be a good idea though.

3. Places that expect all methods to have bodies have been updated.

I did not update the static analyzer's inliner for synthesized
properties to point back to the property declaration (see
test/Analysis/Inputs/expected-plists/nullability-notes.m.plist), which
I believed to be more bug than a feature.

Differential Revision: https://reviews.llvm.org/D68108

rdar://problem/53782400
2019-11-08 08:23:22 -08:00
..
plugins Don't install example analyzer plugins 2019-09-28 13:28:50 +00:00
AnalysisDeclContext.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
BodyFarm.cpp Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized. 2019-11-08 08:23:22 -08:00
CFG.cpp New tautological warning for bitwise-or with non-zero constant always true. 2019-10-19 00:57:23 +00:00
CFGReachabilityAnalysis.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CFGStmtMap.cpp [CFG] NFC: Remove implicit conversion from CFGTerminator to Stmt *. 2019-05-24 01:34:22 +00:00
CMakeLists.txt [analyzer] NFC: Move PathDiagnostic classes to libAnalysis. 2019-09-11 20:54:27 +00:00
CallGraph.cpp Teach CallGraph to look into Generic Lambdas. 2019-09-30 19:12:29 +00:00
CloneDetection.cpp [clang] Use the new Regex::isValid() with no parameter 2019-08-20 16:07:31 +00:00
CocoaConventions.cpp [analyzer] Fix more analyzer warnings on analyzer and libAnalysis. 2019-08-28 21:19:58 +00:00
CodeInjector.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ConstructionContext.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Consumed.cpp Revert r373034 2019-09-27 01:58:31 +00:00
Dominators.cpp Make a buildbot using a buggy gcc happy 2019-07-03 12:06:10 +00:00
ExprMutationAnalyzer.cpp [analyzer] handle modification of vars inside an expr with comma operator 2019-03-07 15:50:52 +00:00
LiveVariables.cpp [CFG] NFC: Remove implicit conversion from CFGTerminator to Stmt *. 2019-05-24 01:34:22 +00:00
ObjCNoReturn.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PathDiagnostic.cpp [analyzer] PR43102: Fix an assertion and an out-of-bounds error for diagnostic location construction 2019-09-18 22:24:26 +00:00
PostOrderCFGView.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ProgramPoint.cpp [analyzer] Display cast kinds in program point dumps. 2019-10-17 23:10:05 +00:00
ReachableCode.cpp Improve -Wtautological-overlap-compare 2019-09-21 02:37:10 +00:00
RetainSummaryManager.cpp [analyzer] Fix more analyzer warnings on analyzer and libAnalysis. 2019-08-28 21:19:58 +00:00
ThreadSafety.cpp Thread safety analysis: Peel away NoOp implicit casts in initializers 2019-10-30 00:37:32 +01:00
ThreadSafetyCommon.cpp Thread Safety: also look at ObjC methods 2019-03-25 20:06:32 +00:00
ThreadSafetyLogical.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ThreadSafetyTIL.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UninitializedValues.cpp [OPENMP]Initial fix PR42392: Improve -Wuninitialized warnings for OpenMP programs. 2019-07-11 14:54:17 +00:00