For context, see
https://bugs.llvm.org/show_bug.cgi?id=46248
This handles only the easy cases in Sema/SemaDeclObjC.cpp. The cases in AST/DeclObjC.{h,cpp} will require much more work, but there's no reason not to get the easy work out of the way now.