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