Add documentation to diagnostic and reformat file.

This commit is contained in:
Joey de l'Arago 2022-11-23 14:59:53 +01:00
parent 4f4523c4b7
commit 44af869a2c

View File

@ -1,5 +1,20 @@
from pathlib import Path
from typing import Optional, List
from .replacement import Replacement
class Diagnostic:
def __init__(self, file, diagnostic_name, message, level, offset, replacements=None) -> None:
def __init__(self, file: Path, diagnostic_name: str, message: str, level: str, offset: int, replacements: Optional[List[Replacement]] = None) -> None:
""" A diagnosis of an issue in "file" at "offset" in that file. May include suggested replacements.
@param file: The path to the file this diagnostic is for.
@param diagnostic_name: The name of the diagnostic rule that spawned this result. A list can be found in .printer-linter.
@param message: A message explaining the issue with this piece of text.
@param level: How important this diagnostic is, ranges from Warning -> Error.
@param offset: The offset in file where the issue is.
@param replacements: A list of Replacement that contain replacement text.
"""
self.file = file
self.diagnostic_name = diagnostic_name
self.message = message
@ -8,13 +23,12 @@ class Diagnostic:
self.replacements = replacements
def toDict(self) -> dict:
diagnostic_dict = {"DiagnosticName": self.diagnostic_name,
"DiagnosticMessage": {
"Message": self.message,
"FilePath": self.file.as_posix(),
"FileOffset": self.offset,
"Replacements": [] if self.replacements is None else [r.toDict() for r in self.replacements],
},
"Level": self.level
}
return diagnostic_dict
return {"DiagnosticName": self.diagnostic_name,
"DiagnosticMessage": {
"Message": self.message,
"FilePath": self.file.as_posix(),
"FileOffset": self.offset,
"Replacements": [] if self.replacements is None else [r.toDict() for r in self.replacements],
},
"Level": self.level
}