summaryrefslogtreecommitdiff
path: root/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h
blob: 7a9686cb904eb7aa9f0eba325b1e8d317fc9bbf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
 * Use of this file is governed by the BSD 3-clause license that
 * can be found in the LICENSE.txt file in the project root.
 */

#pragma once

#include "Chunk.h"

namespace antlr4 {
namespace tree {
namespace pattern {

/// <summary>
/// Represents a span of raw text (concrete syntax) between tags in a tree
/// pattern string.
/// </summary>
class ANTLR4CPP_PUBLIC TextChunk : public Chunk {
 private:
  /// <summary>
  /// This is the backing field for <seealso cref="#getText"/>.
  /// </summary>
  const std::string text;

  /// <summary>
  /// Constructs a new instance of <seealso cref="TextChunk"/> with the
  /// specified text.
  /// </summary>
  /// <param name="text"> The text of this chunk. </param>
  /// <exception cref="IllegalArgumentException"> if {@code text} is {@code
  /// null}. </exception>
 public:
  TextChunk(const std::string& text);
  virtual ~TextChunk();

  /// <summary>
  /// Gets the raw text of this chunk.
  /// </summary>
  /// <returns> The text of the chunk. </returns>
  std::string getText();

  /// <summary>
  /// {@inheritDoc}
  /// <p/>
  /// The implementation for <seealso cref="TextChunk"/> returns the result of
  /// <seealso cref="#getText()"/> in single quotes.
  /// </summary>
  virtual std::string toString();
};

}  // namespace pattern
}  // namespace tree
}  // namespace antlr4