anchor.diff:      }
     }
   
  -  Token reportUnrecoverableErrorWithToken(
  -      Token token, Template<_MessageWithArgument<Token>> template) {
  -    Token next;
  -    if (token is ErrorToken) {
  -      next = reportErrorToken(token, false);
  -    } else {
  -      next = listener.handleUnrecoverableError(
  -          token, template.withArguments(token));
  -    }
  -    return next ?? skipToEof(token);
  -  }
  -
     void reportRecoverableErrorWithToken(
         Token token, Template<_MessageWithArgument<Token>> template) {
       if (token is ErrorToken) {
  
positive.code:     }
      listener.handleInvalidTopLevelDeclaration(next);
      return next;
    }
  
    Token reportUnexpectedToken(Token token) {
      return reportUnrecoverableErrorWithToken(
          token, fasta.templateUnexpectedToken);
    }
  
    Token reportAndSkipClassInClass(Token token) {
  
negative.code:             replacement.endToken = replacement.next;
              token = parseArgumentOrIndexStar(token, null);
            } else {
              // Recovery
              reportRecoverableErrorWithToken(
                  token.next, fasta.templateUnexpectedToken);
            }
          } else if (identical(type, TokenType.IS)) {
            token = parseIsOperatorRest(token);
  