llvm-project/clang/lib/Index
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
..
CMakeLists.txt [clang][Index] Replace CodegenNameGenerator with ASTNameGenerator 2019-09-05 20:33:52 +00:00
CommentToXML.cpp Use llvm::stable_sort 2019-04-24 14:43:05 +00:00
FileIndexRecord.cpp Change std::{lower,upper}_bound to llvm::{lower,upper}_bound or llvm::partition_point. NFC 2019-07-03 08:13:17 +00:00
FileIndexRecord.h [clang][index-while-building][NFC] FileIndexRecord - Comments, replace auto with type 2019-02-27 21:48:02 +00:00
IndexBody.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IndexDecl.cpp Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized. 2019-11-08 08:23:22 -08:00
IndexSymbol.cpp [clang][NFCI] Fix random typos 2019-07-23 16:54:11 +00:00
IndexTypeSourceInfo.cpp [Index] Fix reported references in presence of template type aliases 2019-05-23 16:48:47 +00:00
IndexingAction.cpp [Index] Added a ShouldSkipFunctionBody callback to libIndex, and refactored clients to use it instead of inventing their own solution 2019-08-29 11:47:34 +00:00
IndexingContext.cpp Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
IndexingContext.h [clang][Index] Enable indexing of Template Type Parameters behind a flag 2019-02-21 09:52:33 +00:00
SimpleFormatContext.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
USRGeneration.cpp Add SVE opaque built-in types 2019-08-09 08:52:54 +00:00