llvm-project/clang/test/FixIt
Douglas Gregor acf4fd3039 Stop back-patching 'readonly' Objective-C properties with 'readwrite' ones.
A 'readonly' Objective-C property declared in the primary class can
effectively be shadowed by a 'readwrite' property declared within an
extension of that class, so long as the types and attributes of the
two property declarations are compatible.

Previously, this functionality was implemented by back-patching the
original 'readonly' property to make it 'readwrite', destroying source
information and causing some hideously redundant, incorrect
code. Simplify the implementation to express how this should actually
be modeled: as a separate property declaration in the extension that
shadows (via the name lookup rules) the declaration in the primary
class. While here, correct some broken Fix-Its, eliminate a pile of
redundant code, clean up the ARC migrator's handling of properties
declared in extensions, and fix debug info's naming of methods that
come from categories.

A wonderous side effect of doing this write is that it eliminates the
"AddedObjCPropertyInClassExtension" method from the AST mutation
listener, which in turn eliminates the last place where we rewrite
entire declarations in a chained PCH file or a module file. This
change (which fixes rdar://problem/18475765) will allow us to
eliminate the rewritten-decls logic from the serialization library,
and fixes a crash (rdar://problem/23247794) illustrated by the
test/PCH/chain-categories.m example.

llvm-svn: 251874
2015-11-03 01:15:46 +00:00
..
atomic-property.m Stop back-patching 'readonly' Objective-C properties with 'readwrite' ones. 2015-11-03 01:15:46 +00:00
auto-fixit.m
auto-isa-fixit.m
bridge-cast-in-arc.mm
bridge-in-non-arc.m
dereference-addressof.c
fixit-autoreleasepool.m
fixit-c90.c
fixit-class-method-messaging.m Objective-C [qoi]. Provide fix-it hint when sending 2014-08-19 23:39:17 +00:00
fixit-cxx0x.cpp Diagnose ref-qualifiers occuring after virt-specifier-seq and generate fixit hints 2015-03-25 00:53:33 +00:00
fixit-cxx1y-compat.cpp C++1y is now C++14! 2014-08-19 15:55:55 +00:00
fixit-cxx11-attributes.cpp
fixit-cxx11-compat.cpp
fixit-eof-space.c [edit] Don't hit an assert when trying to delete a trailing space at EOF 2015-03-29 18:07:29 +00:00
fixit-errors-1.c
fixit-errors.c Improve diagnostics if _Noreturn is placed after a function declarator. (This sometimes happens when a macro is used that expands to either the GNU noreturn attribute or _Noreturn.) 2014-11-10 21:10:32 +00:00
fixit-function-call.cpp
fixit-include.c
fixit-include.h Normalize line endings 2014-03-02 18:46:05 +00:00
fixit-interface-as-param.m
fixit-large-file.cpp [fixit] Use overwriteChangedFiles() to deal with Windows mapped files 2015-06-17 17:47:30 +00:00
fixit-missing-method-return-type.m
fixit-missing-self-in-block.m
fixit-multiple-selector-warnings.m Objective-C. When we use @selector(save:), etc. there may be more 2014-06-24 17:02:19 +00:00
fixit-newline-style.c
fixit-nsstring-compare.m
fixit-nullability-declspec.cpp Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
fixit-objc-arc.m
fixit-objc-bridge-related-attr.m
fixit-objc-bridge-related-property.m
fixit-objc-bridge-related.m Add a bunch of missing "CHECK" colons in tests. NFC. 2015-03-14 01:10:19 +00:00
fixit-objc-message-comma-separator.m
fixit-objc-message.m
fixit-objc.m
fixit-pmem.cpp
fixit-recompile.c
fixit-recursive-block.c Unify warnings/errors from "maybe you meant" to "did you mean". 2015-04-02 22:10:06 +00:00
fixit-static-object-decl.m
fixit-suffix.c
fixit-unicode-with-utf8-output.c
fixit-unicode.c
fixit-uninit.c
fixit-unrecoverable.c
fixit-unrecoverable.cpp Wire up delayed typo correction to DiagnoseEmptyLookup and set up 2014-11-20 22:06:40 +00:00
fixit-vexing-parse-cxx0x.cpp
fixit-vexing-parse.cpp
fixit.c
fixit.cpp Promote a warning on ill-formed code (redeclaration missing an exception 2015-09-30 00:48:50 +00:00
format-darwin.m Temporary revert r221818 until all the problems 2014-11-12 23:15:38 +00:00
format-no-fixit.m
format.m Update tests touched by r249656 2015-10-08 06:31:22 +00:00
format.mm
messages.cpp
multiarg-selector-fixit.m Objective-C [qoi]. Patch to not do Fix-It for fixing 2014-08-12 22:16:41 +00:00
no-diagnostics-fixit-info.c
no-fixit.cpp
no-macro-fixit.c
no-typo.c
objc-literals.m
property-access-fixit.m Objective-C [qoi]. Issue warning and fixit if property-dot syntax 2014-08-08 22:33:24 +00:00
selector-fixit.m
typo-crash.cpp
typo-crash.m
typo-location-bugs.cpp Use the real CXXScopeSpec when setting the correction SourceRange. 2015-01-28 00:46:09 +00:00
typo-using.cpp
typo.c
typo.cpp
typo.m