130660a898545416f0fea2d717f16f75640001e38Ted Kremenek//===--- Rewriters.h - Rewritings ---------------------------*- C++ -*-===// 230660a898545416f0fea2d717f16f75640001e38Ted Kremenek// 330660a898545416f0fea2d717f16f75640001e38Ted Kremenek// The LLVM Compiler Infrastructure 430660a898545416f0fea2d717f16f75640001e38Ted Kremenek// 530660a898545416f0fea2d717f16f75640001e38Ted Kremenek// This file is distributed under the University of Illinois Open Source 630660a898545416f0fea2d717f16f75640001e38Ted Kremenek// License. See LICENSE.TXT for details. 730660a898545416f0fea2d717f16f75640001e38Ted Kremenek// 830660a898545416f0fea2d717f16f75640001e38Ted Kremenek//===----------------------------------------------------------------------===// 930660a898545416f0fea2d717f16f75640001e38Ted Kremenek 1030660a898545416f0fea2d717f16f75640001e38Ted Kremenek#ifndef LLVM_CLANG_EDIT_REWRITERS_H 1130660a898545416f0fea2d717f16f75640001e38Ted Kremenek#define LLVM_CLANG_EDIT_REWRITERS_H 128c355831ac3c9e8c12b23ca69b7587dcbd0439efFariborz Jahanian#include "llvm/ADT/SmallVector.h" 1330660a898545416f0fea2d717f16f75640001e38Ted Kremenek 1430660a898545416f0fea2d717f16f75640001e38Ted Kremeneknamespace clang { 1530660a898545416f0fea2d717f16f75640001e38Ted Kremenek class ObjCMessageExpr; 16afcb16f9cff8d5ccd57a6386d65ddc055368d0bcFariborz Jahanian class ObjCMethodDecl; 178c355831ac3c9e8c12b23ca69b7587dcbd0439efFariborz Jahanian class ObjCInterfaceDecl; 188c355831ac3c9e8c12b23ca69b7587dcbd0439efFariborz Jahanian class ObjCProtocolDecl; 1930660a898545416f0fea2d717f16f75640001e38Ted Kremenek class NSAPI; 20bbbb0fe4f466d3163fcbf0a64ebf0f5868833efbFariborz Jahanian class EnumDecl; 21bbbb0fe4f466d3163fcbf0a64ebf0f5868833efbFariborz Jahanian class TypedefDecl; 22a44b97004298a4eb7c270009ea4cb12aad49c543Argyrios Kyrtzidis class ParentMap; 2330660a898545416f0fea2d717f16f75640001e38Ted Kremenek 2430660a898545416f0fea2d717f16f75640001e38Ted Kremeneknamespace edit { 2530660a898545416f0fea2d717f16f75640001e38Ted Kremenek class Commit; 2630660a898545416f0fea2d717f16f75640001e38Ted Kremenek 2730660a898545416f0fea2d717f16f75640001e38Ted Kremenekbool rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg, 2830660a898545416f0fea2d717f16f75640001e38Ted Kremenek const NSAPI &NS, Commit &commit); 2930660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3030660a898545416f0fea2d717f16f75640001e38Ted Kremenekbool rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg, 31a44b97004298a4eb7c270009ea4cb12aad49c543Argyrios Kyrtzidis const NSAPI &NS, Commit &commit, 32a44b97004298a4eb7c270009ea4cb12aad49c543Argyrios Kyrtzidis const ParentMap *PMap); 33afcb16f9cff8d5ccd57a6386d65ddc055368d0bcFariborz Jahanian 3430660a898545416f0fea2d717f16f75640001e38Ted Kremenekbool rewriteToObjCSubscriptSyntax(const ObjCMessageExpr *Msg, 3530660a898545416f0fea2d717f16f75640001e38Ted Kremenek const NSAPI &NS, Commit &commit); 3630660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3730660a898545416f0fea2d717f16f75640001e38Ted Kremenek} 3830660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3930660a898545416f0fea2d717f16f75640001e38Ted Kremenek} // end namespace clang 4030660a898545416f0fea2d717f16f75640001e38Ted Kremenek 4130660a898545416f0fea2d717f16f75640001e38Ted Kremenek#endif 42