|
36 | 36 | get_placeholders, |
37 | 37 | get_var_stack, |
38 | 38 | ) |
39 | | -from fortls.json_templates import diagnostic_json, location_json, range_json |
| 39 | +from fortls.json_templates import diagnostic_json, range_json |
40 | 40 | from fortls.jsonrpc import path_to_uri |
41 | 41 | from fortls.parsers.internal.base import FortranObj |
| 42 | +from fortls.parsers.internal.diagnostics import Diagnostic |
42 | 43 | from fortls.parsers.internal.use import Use |
43 | 44 |
|
44 | 45 |
|
@@ -365,49 +366,6 @@ class AssociateMap: |
365 | 366 | link_name: str |
366 | 367 |
|
367 | 368 |
|
368 | | -class Diagnostic: |
369 | | - def __init__( |
370 | | - self, sline: int, message: str, severity: int = 1, find_word: str = None |
371 | | - ): |
372 | | - self.sline: int = sline |
373 | | - self.message: str = message |
374 | | - self.severity: int = severity |
375 | | - self.find_word: str = find_word |
376 | | - self.has_related: bool = False |
377 | | - self.related_path = None |
378 | | - self.related_line = None |
379 | | - self.related_message = None |
380 | | - |
381 | | - def add_related(self, path: str, line: int, message: str): |
382 | | - self.has_related = True |
383 | | - self.related_path = path |
384 | | - self.related_line = line |
385 | | - self.related_message = message |
386 | | - |
387 | | - def build(self, file_obj): |
388 | | - schar = echar = 0 |
389 | | - if self.find_word is not None: |
390 | | - self.sline, obj_range = file_obj.find_word_in_code_line( |
391 | | - self.sline, self.find_word |
392 | | - ) |
393 | | - if obj_range.start >= 0: |
394 | | - schar = obj_range.start |
395 | | - echar = obj_range.end |
396 | | - diag = diagnostic_json( |
397 | | - self.sline, schar, self.sline, echar, self.message, self.severity |
398 | | - ) |
399 | | - if self.has_related: |
400 | | - diag["relatedInformation"] = [ |
401 | | - { |
402 | | - **location_json( |
403 | | - path_to_uri(self.related_path), self.related_line, 0 |
404 | | - ), |
405 | | - "message": self.related_message, |
406 | | - } |
407 | | - ] |
408 | | - return diag |
409 | | - |
410 | | - |
411 | 369 | class Scope(FortranObj): |
412 | 370 | def __init__(self, file_ast, line_number: int, name: str, keywords: list = None): |
413 | 371 | super().__init__() |
|
0 commit comments