scanAfterElementIdentifierOpen method

  1. @override
RecoverySolution scanAfterElementIdentifierOpen(
  1. NgSimpleToken current,
  2. NgTokenReversibleReader<Object> reader
)
override

Implementation

@override
RecoverySolution scanAfterElementIdentifierOpen(
    NgSimpleToken current, NgTokenReversibleReader<Object> reader) {
  NgScannerState? returnState;
  NgToken? returnToken;
  var type = current.type;

  if (type == NgSimpleTokenType.openBracket ||
      type == NgSimpleTokenType.openParen ||
      type == NgSimpleTokenType.openBanana ||
      type == NgSimpleTokenType.hash ||
      type == NgSimpleTokenType.star ||
      type == NgSimpleTokenType.atSign ||
      type == NgSimpleTokenType.equalSign ||
      type == NgSimpleTokenType.closeBracket ||
      type == NgSimpleTokenType.closeParen ||
      type == NgSimpleTokenType.closeBanana ||
      type == NgSimpleTokenType.doubleQuote ||
      type == NgSimpleTokenType.singleQuote) {
    reader.putBack(current);
    returnToken = NgToken.generateErrorSynthetic(
        current.offset, NgTokenType.beforeElementDecorator,
        lexeme: ' ');
    returnState = NgScannerState.scanElementDecorator;
  } else if (type == NgSimpleTokenType.commentBegin ||
      type == NgSimpleTokenType.openTagStart ||
      type == NgSimpleTokenType.closeTagStart ||
      type == NgSimpleTokenType.EOF) {
    reader.putBack(current);
    returnToken = NgToken.generateErrorSynthetic(
        current.offset, NgTokenType.openElementEnd);
    returnState = NgScannerState.scanStart;
  }

  return RecoverySolution(returnState, returnToken);
}