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