Context class
An immutable parse context.
class Context { final dynamic _buffer; final int _position; const Context(this._buffer, this._position); /** The buffer we are working on. */ dynamic get buffer => _buffer; /** The current position in the buffer. */ int get position => _position; /** Returns [true] if this result indicates a parse success. */ bool get isSuccess => false; /** Returns [true] if this result indicates a parse failure. */ bool get isFailure => false; /** Returns a result indicating a parse success. */ Result success(dynamic result, [int position]) { return new Success(_buffer, position == null ? _position : position, result); } /** Returns a result indicating a parse failure. */ Result failure(String message, [int position]) { return new Failure(_buffer, position == null ? _position : position, message); } /** Returns a human readable string of the current context */ String toString() => 'Context[${toPositionString()}]'; String toPositionString() { if (_buffer is String) { var lineAndColumn = Token.lineAndColumnOf(buffer, position); return '${lineAndColumn[0]}:${lineAndColumn[1]}'; } else { return '${position}'; } } }
Subclasses
Properties
final buffer #
The buffer we are working on.
dynamic get buffer => _buffer;
final bool isFailure #
Returns true
if this result indicates a parse failure.
bool get isFailure => false;
Methods
Result failure(String message, [int position]) #
Returns a result indicating a parse failure.
Result failure(String message, [int position]) { return new Failure(_buffer, position == null ? _position : position, message); }
Result success(result, [int position]) #
Returns a result indicating a parse success.
Result success(dynamic result, [int position]) { return new Success(_buffer, position == null ? _position : position, result); }