Reapply r95546, no intended change in performance or functionality.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95552 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Checker/CocoaConventions.cpp b/lib/Checker/CocoaConventions.cpp
index ff3a0c9..3ba887c 100644
--- a/lib/Checker/CocoaConventions.cpp
+++ b/lib/Checker/CocoaConventions.cpp
@@ -131,19 +131,18 @@
   return C;
 }
 
-bool cocoa::isRefType(QualType RetTy, const char* prefix,
-                      const char* name) {
-  
+bool cocoa::isRefType(QualType RetTy, llvm::StringRef Prefix,
+                      llvm::StringRef Name) {
   // Recursively walk the typedef stack, allowing typedefs of reference types.
   while (TypedefType* TD = dyn_cast<TypedefType>(RetTy.getTypePtr())) {
     llvm::StringRef TDName = TD->getDecl()->getIdentifier()->getName();
-    if (TDName.startswith(prefix) && TDName.endswith("Ref"))
+    if (TDName.startswith(Prefix) && TDName.endswith("Ref"))
       return true;
     
     RetTy = TD->getDecl()->getUnderlyingType();
   }
   
-  if (!name)
+  if (Name.empty())
     return false;
   
   // Is the type void*?
@@ -152,7 +151,7 @@
     return false;
   
   // Does the name start with the prefix?
-  return llvm::StringRef(name).startswith(prefix);
+  return Name.startswith(Prefix);
 }
 
 bool cocoa::isCFObjectRef(QualType T) {