130660a898545416f0fea2d717f16f75640001e38Ted Kremenek//===----- EditedSource.h - Collection of source edits ----------*- 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_EDITSRECEIVER_H 1130660a898545416f0fea2d717f16f75640001e38Ted Kremenek#define LLVM_CLANG_EDIT_EDITSRECEIVER_H 1230660a898545416f0fea2d717f16f75640001e38Ted Kremenek 1330660a898545416f0fea2d717f16f75640001e38Ted Kremenek#include "clang/Basic/LLVM.h" 1430660a898545416f0fea2d717f16f75640001e38Ted Kremenek 1530660a898545416f0fea2d717f16f75640001e38Ted Kremeneknamespace clang { 1630660a898545416f0fea2d717f16f75640001e38Ted Kremenek class SourceLocation; 1730660a898545416f0fea2d717f16f75640001e38Ted Kremenek class CharSourceRange; 1830660a898545416f0fea2d717f16f75640001e38Ted Kremenek 1930660a898545416f0fea2d717f16f75640001e38Ted Kremeneknamespace edit { 2030660a898545416f0fea2d717f16f75640001e38Ted Kremenek 2130660a898545416f0fea2d717f16f75640001e38Ted Kremenekclass EditsReceiver { 2230660a898545416f0fea2d717f16f75640001e38Ted Kremenekpublic: 2330660a898545416f0fea2d717f16f75640001e38Ted Kremenek virtual ~EditsReceiver() { } 2430660a898545416f0fea2d717f16f75640001e38Ted Kremenek 2530660a898545416f0fea2d717f16f75640001e38Ted Kremenek virtual void insert(SourceLocation loc, StringRef text) = 0; 2630660a898545416f0fea2d717f16f75640001e38Ted Kremenek virtual void replace(CharSourceRange range, StringRef text) = 0; 2730660a898545416f0fea2d717f16f75640001e38Ted Kremenek /// \brief By default it calls replace with an empty string. 2830660a898545416f0fea2d717f16f75640001e38Ted Kremenek virtual void remove(CharSourceRange range); 2930660a898545416f0fea2d717f16f75640001e38Ted Kremenek}; 3030660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3130660a898545416f0fea2d717f16f75640001e38Ted Kremenek} 3230660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3330660a898545416f0fea2d717f16f75640001e38Ted Kremenek} // end namespace clang 3430660a898545416f0fea2d717f16f75640001e38Ted Kremenek 3530660a898545416f0fea2d717f16f75640001e38Ted Kremenek#endif 36