anchor.diff:      return file;
     }
   
  +  void _checkIsMoorFile(FoundFile file) {
  +    if (file.type != FileType.moor) {
  +      throw RequestFailure(
  +        plugin.RequestError(plugin.RequestErrorCode.INVALID_PARAMETER,
  +            'Not a moor file: ${file.uri}'),
  +      );
  +    }
  +  }
  +
     Future<MoorRequest> _createMoorRequest(String path) async {
       final file = await _waitParsed(path);
  +    _checkIsMoorFile(file);
       return MoorRequest(file, resourceProvider);
     }
   
  
positive.code:       plugin.CompletionGetSuggestionsParams parameters) async {
      final path = parameters.file;
      final file = await _waitParsed(path);
  
      return MoorCompletionRequest(parameters.offset, resourceProvider, file);
    }
  
negative.code:       plugin.AnalysisGetNavigationParams parameters) async {
      final path = parameters.file;
      final file = await _waitParsed(path);
      _checkIsMoorFile(file);
  
      return MoorRequestAtPosition(
          file, parameters.length, parameters.offset, resourceProvider);
  