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
13namespace clang {
14  class ObjCMessageExpr;
15  class NSAPI;
16  class ParentMap;
17
18namespace edit {
19  class Commit;
20
21bool rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg,
22                                         const NSAPI &NS, Commit &commit);
23
24bool rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg,
25                                const NSAPI &NS, Commit &commit,
26                                const ParentMap *PMap);
27
28bool rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg,
29                                  const NSAPI &NS, Commit &commit);
30
31}
32
33}  // end namespace clang
34
35#endif
36