Fragment

References
public abstract class Fragment
A single categorised span of a string. Fragments are created only by Fragments and are immutable once that collection is built.

Properties

After

#
public int After { get; }
Gets the index of the character after this fragment.

Defect

#
public string Defect { get; }
Gets a description of what is wrong with this fragment, or null when no problem exists.

Kind

#
public abstract FragmentKind Kind { get; }
Gets the category of this fragment.

Length

#
public int Length { get; }
Gets the number of characters covered by this fragment.

NextMeaningful

#
public Fragment NextMeaningful { get; }
Gets the following fragment, skipping whitespace and single line comments. Line breaks and multi line comments are boundaries rather than trivia, and are returned rather than skipped.

PrevMeaningful

#
public Fragment PrevMeaningful { get; }
Gets the preceding fragment, skipping whitespace and single line comments. Line breaks and multi line comments are boundaries rather than trivia, and are returned rather than skipped.

Start

#
public int Start { get; }
Gets the index of the first character of this fragment within Fragments.Source. This index is absolute, and remains valid in every view derived from the original collection.

Text

#
public string Text { get; }
Gets the characters covered by this fragment.

Methods

IsAdjacentTo

#
public bool IsAdjacentTo(Fragment other)
Gets whether this fragment is directly adjacent to the given one, with no intervening characters. Used to match multi character operators.
other (Fragment)

IsAll

#
public bool IsAll(params FragmentKind[] filter)
Tests whether this fragment matches all of the provided filter kinds. Note: this fragment may have additional kinds not covered by the filter, if you want an exact match, just compare against Kind.
filter (params FragmentKind[])

IsAny

#
public bool IsAny(params FragmentKind[] filter)
Tests whether this fragment is any of the provided filter kinds.
filter (params FragmentKind[])

ToString

#
public override string ToString()
Gets a description of this fragment, for debugging purposes.
Object.ToString