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 12 namespace 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 22 namespace edit { 23 class Commit; 24 25 bool rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg, 26 const NSAPI &NS, Commit &commit); 27 28 bool rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg, 29 const NSAPI &NS, Commit &commit, 30 const ParentMap *PMap); 31 32 bool rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg, 33 const NSAPI &NS, Commit &commit); 34 35 } 36 37 } // end namespace clang 38 39 #endif 40