1//===----- EditedSource.h - Collection of source edits ----------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_CLANG_EDIT_EDITSRECEIVER_H
11#define LLVM_CLANG_EDIT_EDITSRECEIVER_H
12
13#include "clang/Basic/LLVM.h"
14
15namespace clang {
16  class SourceLocation;
17  class CharSourceRange;
18
19namespace edit {
20
21class EditsReceiver {
22public:
23  virtual ~EditsReceiver() { }
24
25  virtual void insert(SourceLocation loc, StringRef text) = 0;
26  virtual void replace(CharSourceRange range, StringRef text) = 0;
27  /// \brief By default it calls replace with an empty string.
28  virtual void remove(CharSourceRange range);
29};
30
31}
32
33} // end namespace clang
34
35#endif
36