1//===--- Rewriters.h - Rewritings ---------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_CLANG_EDIT_REWRITERS_H
10#define LLVM_CLANG_EDIT_REWRITERS_H
11
12namespace clang {
13 class ObjCMessageExpr;
14 class ObjCMethodDecl;
15 class ObjCInterfaceDecl;
16 class ObjCProtocolDecl;
17 class NSAPI;
18 class EnumDecl;
19 class TypedefDecl;
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 rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg,
33 const NSAPI &NS, Commit &commit);
34
35}
36
37} // end namespace clang
38
39#endif
40