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