SpanScanner class
A subclass of LineScanner that exposes matched ranges as source map FileSpans.
- Inheritance
-
- Object
- StringScanner
- SpanScanner
- Implemented types
Constructors
- SpanScanner(String string, {Object? sourceUrl, int? position})
-
Creates a new SpanScanner that starts scanning from
position
. - SpanScanner.eager(String string, {dynamic sourceUrl, int? position})
-
Creates a new SpanScanner that eagerly computes line and column numbers.
factory
- SpanScanner.within(FileSpan span)
-
Creates a new SpanScanner that scans within
span
.factory
Properties
- column → int
-
The scanner's current (zero-based) column number.
no setteroverride
- emptySpan → FileSpan
-
Returns an empty span at the current location.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDone → bool
-
Whether the scanner has completely consumed string.
no setterinherited
- lastMatch → Match?
-
The data about the previous match made by the scanner.
no setterinherited
- lastSpan → FileSpan?
-
The FileSpan for lastMatch.
no setter
- line → int
-
The scanner's current (zero-based) line number.
no setteroverride
- location → FileLocation
-
The current location of the scanner.
no setter
- position ↔ int
-
The current position of the scanner in the string, in characters.
getter/setter pairinherited
- rest → String
-
The portion of the string that hasn't yet been scanned.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sourceUrl → Uri?
-
The URL of the source of the string being scanned.
finalinherited
- state ↔ LineScannerState
-
The scanner's state, including line and column information.
getter/setter pairoverride
- string → String
-
The string being scanned through.
finalinherited
Methods
-
error(
String message, {Match? match, int? position, int? length}) → Never -
Throws a FormatException with
message
as well as a detailed description of the location of the error in the string.override -
expect(
Pattern pattern, {String? name}) → void -
If
pattern
matches at the current position of the string, scans forward until the end of the match.inherited -
expectChar(
int character, {String? name}) → void -
If the next character in the string is
character
, consumes it.inherited -
expectDone(
) → void -
If the string has not been fully consumed, this throws a
FormatException.
inherited
-
matches(
Pattern pattern) → bool -
Returns whether or not
pattern
matches at the current position of the string.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
peekChar(
[int? offset]) → int? -
Returns the character code of the character
offset
away from position.inherited -
peekCodePoint(
) → int? -
Returns the Unicode code point immediately after position.
inherited
-
readChar(
) → int -
Consumes a single character and returns its character code.
inherited
-
readCodePoint(
) → int -
Consumes a single Unicode code unit and returns it.
inherited
-
scan(
Pattern pattern) → bool -
If
pattern
matches at the current position of the string, scans forward until the end of the match.inherited -
scanChar(
int character) → bool -
If the next character in the string is
character
, consumes it.inherited -
spanFrom(
LineScannerState startState, [LineScannerState? endState]) → FileSpan -
Creates a FileSpan representing the source range between
startState
and the current position. -
spanFromPosition(
int startPosition, [int? endPosition]) → FileSpan -
Creates a FileSpan representing the source range between
startPosition
andendPosition
, or the current position ifendPosition
is null. -
substring(
int start, [int? end]) → String -
Returns the substring of string between
start
andend
.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited