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