clang API Documentation
00001 //===- CocoaConventions.h - Special handling of Cocoa conventions -*- C++ -*--// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file implements cocoa naming convention analysis. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_COCOACONVENTIONS_H 00015 #define LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_COCOACONVENTIONS_H 00016 00017 #include "clang/Basic/LLVM.h" 00018 #include "llvm/ADT/StringRef.h" 00019 00020 namespace clang { 00021 class FunctionDecl; 00022 class QualType; 00023 00024 namespace ento { 00025 namespace cocoa { 00026 00027 bool isRefType(QualType RetTy, StringRef Prefix, 00028 StringRef Name = StringRef()); 00029 00030 bool isCocoaObjectRef(QualType T); 00031 00032 } 00033 00034 namespace coreFoundation { 00035 bool isCFObjectRef(QualType T); 00036 00037 bool followsCreateRule(const FunctionDecl *FD); 00038 } 00039 00040 }} // end: "clang:ento" 00041 00042 #endif