last property
override
The last element.
Throws a StateError if this
is empty.
Otherwise may iterate through the elements and returns the last one
seen.
Some iterables may have more efficient ways to find the last element
(for example a list can directly access the last element,
without iterating through the previous ones).
Implementation
int get last {
if (string.length == 0) {
throw StateError('No elements.');
}
int length = string.length;
int code = string.codeUnitAt(length - 1);
if (_isTrailSurrogate(code) && string.length > 1) {
int previousCode = string.codeUnitAt(length - 2);
if (_isLeadSurrogate(previousCode)) {
return _combineSurrogatePair(previousCode, code);
}
}
return code;
}