|
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