diff options
Diffstat (limited to 'lib/Analysis/CocoaConventions.cpp')
| -rw-r--r-- | lib/Analysis/CocoaConventions.cpp | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Analysis/CocoaConventions.cpp b/lib/Analysis/CocoaConventions.cpp index be1262dc9910..4d57623e2161 100644 --- a/lib/Analysis/CocoaConventions.cpp +++ b/lib/Analysis/CocoaConventions.cpp @@ -47,12 +47,19 @@ bool cocoa::isRefType(QualType RetTy, StringRef Prefix,    return Name.startswith(Prefix);  } +/// Returns true when the passed-in type is a CF-style reference-counted +/// type from the DiskArbitration framework. +static bool isDiskArbitrationAPIRefType(QualType T) { +  return cocoa::isRefType(T, "DADisk") || +      cocoa::isRefType(T, "DADissenter") || +      cocoa::isRefType(T, "DASessionRef"); +} +  bool coreFoundation::isCFObjectRef(QualType T) {    return cocoa::isRefType(T, "CF") || // Core Foundation.           cocoa::isRefType(T, "CG") || // Core Graphics. -         cocoa::isRefType(T, "DADisk") || // Disk Arbitration API. -         cocoa::isRefType(T, "DADissenter") || -         cocoa::isRefType(T, "DASessionRef"); +         cocoa::isRefType(T, "CM") || // Core Media. +         isDiskArbitrationAPIRefType(T);  }  | 
