summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-09-04 16:43:57 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-09-04 16:43:57 +0000
commit8b10230f54e9b97750834a2a57db4920ed3abd90 (patch)
treea697de2dfa869f7dd736be23ab96bd90c1476413 /clang/lib
parentbb556156a4ae7cd6de66c42649387476e076326e (diff)
downloadbcm5719-llvm-8b10230f54e9b97750834a2a57db4920ed3abd90.tar.gz
bcm5719-llvm-8b10230f54e9b97750834a2a57db4920ed3abd90.zip
ObjectiveC migrator. Refactor last patch on
annotations. (was r189892). llvm-svn: 189956
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp25
1 files changed, 8 insertions, 17 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index e778c76f4a4..86312b6e0c0 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -1090,11 +1090,12 @@ void ObjCMigrateASTConsumer::migrateAddMethodAnnotation(
(MethodDecl->param_begin() == MethodDecl->param_end()))
return;
- bool ReturnCFAudited = false;
if (!MethodIsReturnAnnotated) {
RetEffect Ret = CE.getReturnValue();
- if (Ret.getObjKind() == RetEffect::CF && (Ret.isOwned() || Ret.notOwned()))
- ReturnCFAudited = true;
+ if (Ret.getObjKind() == RetEffect::CF && (Ret.isOwned() || Ret.notOwned())) {
+ AddCFAnnotations(Ctx, CE, MethodDecl, false);
+ return;
+ }
else if (!AuditedType(MethodDecl->getResultType()))
return;
}
@@ -1103,26 +1104,16 @@ void ObjCMigrateASTConsumer::migrateAddMethodAnnotation(
// Now, how about argument types.
llvm::ArrayRef<ArgEffect> AEArgs = CE.getArgs();
unsigned i = 0;
- bool ArgCFAudited = false;
for (ObjCMethodDecl::param_const_iterator pi = MethodDecl->param_begin(),
pe = MethodDecl->param_end(); pi != pe; ++pi, ++i) {
const ParmVarDecl *pd = *pi;
ArgEffect AE = AEArgs[i];
- if (AE == DecRef /*CFConsumed annotated*/ || AE == IncRef) {
- if ((AE == DecRef && !pd->getAttr<CFConsumedAttr>()) ||
- AE == IncRef)
- ArgCFAudited = true;
- }
- else {
- QualType AT = pd->getType();
- if (!AuditedType(AT)) {
- AddCFAnnotations(Ctx, CE, MethodDecl, MethodIsReturnAnnotated);
- return;
- }
+ if ((AE == DecRef && !pd->getAttr<CFConsumedAttr>()) || AE == IncRef ||
+ !AuditedType(pd->getType())) {
+ AddCFAnnotations(Ctx, CE, MethodDecl, MethodIsReturnAnnotated);
+ return;
}
}
- if (ReturnCFAudited || ArgCFAudited)
- AddCFAnnotations(Ctx, CE, MethodDecl, MethodIsReturnAnnotated);
return;
}
OpenPOWER on IntegriCloud