1234287Sdim//===----- EditedSource.h - Collection of source edits ----------*- C++ -*-===// 2234287Sdim// 3234287Sdim// The LLVM Compiler Infrastructure 4234287Sdim// 5234287Sdim// This file is distributed under the University of Illinois Open Source 6234287Sdim// License. See LICENSE.TXT for details. 7234287Sdim// 8234287Sdim//===----------------------------------------------------------------------===// 9234287Sdim 10234287Sdim#ifndef LLVM_CLANG_EDIT_EDITSRECEIVER_H 11234287Sdim#define LLVM_CLANG_EDIT_EDITSRECEIVER_H 12234287Sdim 13234287Sdim#include "clang/Basic/LLVM.h" 14234287Sdim 15234287Sdimnamespace clang { 16234287Sdim class SourceLocation; 17234287Sdim class CharSourceRange; 18234287Sdim 19234287Sdimnamespace edit { 20234287Sdim 21234287Sdimclass EditsReceiver { 22234287Sdimpublic: 23234287Sdim virtual ~EditsReceiver() { } 24234287Sdim 25234287Sdim virtual void insert(SourceLocation loc, StringRef text) = 0; 26234287Sdim virtual void replace(CharSourceRange range, StringRef text) = 0; 27234287Sdim /// \brief By default it calls replace with an empty string. 28234287Sdim virtual void remove(CharSourceRange range); 29234287Sdim}; 30234287Sdim 31234287Sdim} 32234287Sdim 33234287Sdim} // end namespace clang 34234287Sdim 35234287Sdim#endif 36