52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
/* 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
|