summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCodeComplete.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2015-07-07 06:20:27 +0000
committerDouglas Gregor <dgregor@apple.com>2015-07-07 06:20:27 +0000
commit9b7b3e90385cbca4af1cc6f2a3afb1da44762780 (patch)
treee49df9bec3c91f22946e3c6ea89434d3b590f31f /clang/lib/Sema/SemaCodeComplete.cpp
parent4c850f3a64d6c5aee4997c3cdaf630c197f08224 (diff)
downloadbcm5719-llvm-9b7b3e90385cbca4af1cc6f2a3afb1da44762780.tar.gz
bcm5719-llvm-9b7b3e90385cbca4af1cc6f2a3afb1da44762780.zip
[libclang] Replace ObjC generic parameters when code-completing method implementations.
rdar://20643768 llvm-svn: 241559
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r--clang/lib/Sema/SemaCodeComplete.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp
index 7d898d8ac1a..252e30563e3 100644
--- a/clang/lib/Sema/SemaCodeComplete.cpp
+++ b/clang/lib/Sema/SemaCodeComplete.cpp
@@ -7076,7 +7076,8 @@ void Sema::CodeCompleteObjCMethodDecl(Scope *S,
// If the result type was not already provided, add it to the
// pattern as (type).
if (ReturnType.isNull())
- AddObjCPassingTypeChunk(Method->getReturnType(),
+ AddObjCPassingTypeChunk(Method->getSendResultType()
+ .stripObjCKindOfType(Context),
Method->getObjCDeclQualifier(), Context, Policy,
Builder);
@@ -7107,6 +7108,8 @@ void Sema::CodeCompleteObjCMethodDecl(Scope *S,
ParamType = (*P)->getType();
else
ParamType = (*P)->getOriginalType();
+ ParamType = ParamType.substObjCTypeArgs(Context, {},
+ ObjCSubstitutionContext::Parameter);
AddObjCPassingTypeChunk(ParamType,
(*P)->getObjCDeclQualifier(),
Context, Policy,
OpenPOWER on IntegriCloud