last property

int last
override

Returns 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 new 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;
}