blob: 1f30cc3842e3f38f9e9c5b4c5957fee0e7083d6f [file]
/* 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.
*/
using System;
using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Sharpen;
using Antlr4.Runtime.Tree.Pattern;
namespace Antlr4.Runtime.Tree.Pattern
{
/// <summary>
/// Represents a span of raw text (concrete syntax) between tags in a tree
/// pattern string.
/// </summary>
/// <remarks>
/// Represents a span of raw text (concrete syntax) between tags in a tree
/// pattern string.
/// </remarks>
internal class TextChunk : Chunk
{
/// <summary>
/// This is the backing field for
/// <see cref="Text()"/>
/// .
/// </summary>
[NotNull]
private readonly string text;
/// <summary>
/// Constructs a new instance of
/// <see cref="TextChunk"/>
/// with the specified text.
/// </summary>
/// <param name="text">The text of this chunk.</param>
/// <exception>
/// IllegalArgumentException
/// if
/// <paramref name="text"/>
/// is
/// <see langword="null"/>
/// .
/// </exception>
public TextChunk(string text)
{
if (text == null)
{
throw new ArgumentException("text cannot be null");
}
this.text = text;
}
/// <summary>Gets the raw text of this chunk.</summary>
/// <remarks>Gets the raw text of this chunk.</remarks>
/// <returns>The text of the chunk.</returns>
[NotNull]
public string Text
{
get
{
return text;
}
}
/// <summary>
/// <inheritDoc/>
/// <p>The implementation for
/// <see cref="TextChunk"/>
/// returns the result of
/// <see cref="Text()"/>
/// in single quotes.</p>
/// </summary>
public override string ToString()
{
return "'" + text + "'";
}
}
}