| /* 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() override; |
| }; |
| |
| } // namespace pattern |
| } // namespace tree |
| } // namespace antlr4 |