//===- CocoaConventions.h - Special handling of Cocoa conventions -*- C++ -*--// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file implements cocoa naming convention analysis. // //===----------------------------------------------------------------------===// #include "clang/Analysis/DomainSpecific/CocoaConventions.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclObjC.h" #include "clang/AST/Type.h" #include "clang/Basic/CharInfo.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Support/ErrorHandling.h" usingnamespaceclang; usingnamespaceento; bool cocoa::isRefType(QualType RetTy, StringRef Prefix, StringRef Name) { … } /// Returns true when the passed-in type is a CF-style reference-counted /// type from the DiskArbitration framework. static bool isDiskArbitrationAPIRefType(QualType T) { … } bool coreFoundation::isCFObjectRef(QualType T) { … } bool cocoa::isCocoaObjectRef(QualType Ty) { … } bool coreFoundation::followsCreateRule(const FunctionDecl *fn) { … }