1234287Sdim//===--- Rewriters.h - Rewritings ---------------------------*- C++ -*-===// 2234287Sdim// 3234287Sdim// The LLVM Compiler Infrastructure 4234287Sdim// 5234287Sdim// This file is distributed under the University of Illinois Open Source 6234287Sdim// License. See LICENSE.TXT for details. 7234287Sdim// 8234287Sdim//===----------------------------------------------------------------------===// 9234287Sdim 10234287Sdim#ifndef LLVM_CLANG_EDIT_REWRITERS_H 11234287Sdim#define LLVM_CLANG_EDIT_REWRITERS_H 12263508Sdim#include "llvm/ADT/SmallVector.h" 13234287Sdim 14234287Sdimnamespace clang { 15234287Sdim class ObjCMessageExpr; 16263508Sdim class ObjCMethodDecl; 17263508Sdim class ObjCInterfaceDecl; 18263508Sdim class ObjCProtocolDecl; 19234287Sdim class NSAPI; 20263508Sdim class EnumDecl; 21263508Sdim class TypedefDecl; 22249423Sdim class ParentMap; 23234287Sdim 24234287Sdimnamespace edit { 25234287Sdim class Commit; 26234287Sdim 27234287Sdimbool rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg, 28234287Sdim const NSAPI &NS, Commit &commit); 29234287Sdim 30234287Sdimbool rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg, 31249423Sdim const NSAPI &NS, Commit &commit, 32249423Sdim const ParentMap *PMap); 33263508Sdim 34234287Sdimbool rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg, 35234287Sdim const NSAPI &NS, Commit &commit); 36234287Sdim 37234287Sdim} 38234287Sdim 39234287Sdim} // end namespace clang 40234287Sdim 41234287Sdim#endif 42