processOtherExtensions method

void processOtherExtensions(
  1. String singleton
)

Consumes tags matched by other_extensions in the specification, except that the singleton in question must already be accepted and passed as parameter.

If parsing fails, atEnd() will be false and/or problems will not be empty.

Implementation

void processOtherExtensions(String singleton) {
  final values = <String>[];
  while (acceptLowAlphaNumeric2to8()) {
    values.add(_accepted);
  }
  if (values.isEmpty) return;
  if (_otherExtensions == null) {
    _otherExtensions = <String, String>{};
  } else if (_otherExtensions!.containsKey(singleton)) {
    problems.add('duplicate "$singleton"');
    return;
  }
  _otherExtensions![singleton] = values.join('-');
}