Rewriters.h revision 8c355831ac3c9e8c12b23ca69b7587dcbd0439ef
1//===--- Rewriters.h - Rewritings ---------------------------*- 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#ifndef LLVM_CLANG_EDIT_REWRITERS_H 11#define LLVM_CLANG_EDIT_REWRITERS_H 12#include "llvm/ADT/SmallVector.h" 13 14namespace clang { 15 class ObjCMessageExpr; 16 class ObjCMethodDecl; 17 class ObjCInterfaceDecl; 18 class ObjCProtocolDecl; 19 class NSAPI; 20 class ParentMap; 21 22namespace edit { 23 class Commit; 24 25bool rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg, 26 const NSAPI &NS, Commit &commit); 27 28bool rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg, 29 const NSAPI &NS, Commit &commit, 30 const ParentMap *PMap); 31 32bool rewriteToObjCProperty(const ObjCMethodDecl *Getter, 33 const ObjCMethodDecl *Setter, 34 const NSAPI &NS, Commit &commit); 35bool rewriteToObjCInterfaceDecl(const ObjCInterfaceDecl *IDecl, 36 llvm::SmallVectorImpl<ObjCProtocolDecl*> &Protocols, 37 const NSAPI &NS, Commit &commit); 38 39bool rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg, 40 const NSAPI &NS, Commit &commit); 41 42} 43 44} // end namespace clang 45 46#endif 47