1 //===- CocoaConventions.h - Special handling of Cocoa conventions -*- C++ -*--// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file implements cocoa naming convention analysis. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_COCOACONVENTIONS_H 15 #define LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_COCOACONVENTIONS_H 16 17 #include "clang/Basic/LLVM.h" 18 #include "llvm/ADT/StringRef.h" 19 20 namespace clang { 21 class FunctionDecl; 22 class QualType; 23 24 namespace ento { 25 namespace cocoa { 26 27 bool isRefType(QualType RetTy, StringRef Prefix, 28 StringRef Name = StringRef()); 29 30 bool isCocoaObjectRef(QualType T); 31 32 } 33 34 namespace coreFoundation { 35 bool isCFObjectRef(QualType T); 36 37 bool followsCreateRule(const FunctionDecl *FD); 38 } 39 40 }} // end: "clang:ento" 41 42 #endif 43