1218887Sdim//===- CocoaConventions.h - Special handling of Cocoa conventions -*- C++ -*--//
2218887Sdim//
3218887Sdim//                     The LLVM Compiler Infrastructure
4218887Sdim//
5218887Sdim// This file is distributed under the University of Illinois Open Source
6218887Sdim// License. See LICENSE.TXT for details.
7218887Sdim//
8218887Sdim//===----------------------------------------------------------------------===//
9218887Sdim//
10224145Sdim// This file implements cocoa naming convention analysis.
11218887Sdim//
12218887Sdim//===----------------------------------------------------------------------===//
13218887Sdim
14218887Sdim#ifndef LLVM_CLANG_ANALYSIS_DS_COCOA
15218887Sdim#define LLVM_CLANG_ANALYSIS_DS_COCOA
16218887Sdim
17234353Sdim#include "clang/Basic/LLVM.h"
18224145Sdim#include "llvm/ADT/StringRef.h"
19218887Sdim
20218887Sdimnamespace clang {
21226633Sdimclass FunctionDecl;
22226633Sdimclass QualType;
23224145Sdim
24218887Sdimnamespace ento {
25218887Sdimnamespace cocoa {
26218887Sdim
27226633Sdim  bool isRefType(QualType RetTy, StringRef Prefix,
28226633Sdim                 StringRef Name = StringRef());
29224145Sdim
30224145Sdim  bool isCocoaObjectRef(QualType T);
31224145Sdim
32224145Sdim}
33224145Sdim
34224145Sdimnamespace coreFoundation {
35218887Sdim  bool isCFObjectRef(QualType T);
36218887Sdim
37226633Sdim  bool followsCreateRule(const FunctionDecl *FD);
38224145Sdim}
39218887Sdim
40224145Sdim}} // end: "clang:ento"
41218887Sdim
42218887Sdim#endif
43