diff options
Diffstat (limited to 'pyGHDL/libghdl/errorout_memory.py')
-rw-r--r-- | pyGHDL/libghdl/errorout_memory.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/pyGHDL/libghdl/errorout_memory.py b/pyGHDL/libghdl/errorout_memory.py index 444c53e80..97873a1d3 100644 --- a/pyGHDL/libghdl/errorout_memory.py +++ b/pyGHDL/libghdl/errorout_memory.py @@ -43,6 +43,26 @@ from pyGHDL.libghdl._types import ErrorIndex @export class Error_Message(Structure): + """ + Id : Msgid_Type + Message error/warning id + + Group : Group_Type; + Whether this is an single message or a related one. + + File : Source_File_Entry; + Error soure file. + + Line : Natural; + The first line is line 1, 0 can be used when line number is not relevant. + + Offset : Natural; + Offset in the line. The first character is at offset 0. + + Length : Natural; + Length of the location (for a range). It is assumed to be on the same line; + use 0 when unknown. + """ _fields_ = [ ("id", c_int8), ("group", c_int8), @@ -62,24 +82,43 @@ Msg_Last = 3 @export def Install_Handler() -> None: + """Install the handlers for reporting errors.""" libghdl.errorout__memory__install_handler() @export def Get_Nbr_Messages() -> ErrorIndex: + """ + Get number of error messages available. + + :return: Number of messages available. + """ return libghdl.errorout__memory__get_nbr_messages() @export -def Get_Error_Record(Idx: ErrorIndex): # FIXME: returns Error_Message +def Get_Error_Record(Idx: ErrorIndex) -> Error_Message: + """ + Get error messages by index :obj:`Idy` as structure :class:`Error_Message`. + + :param Idx: Index from 1 to ``Nbr_Messages`` See :func:`Get_Nbr_Messages`. + :return: Type: ``Error_Message`` + """ func = libghdl.errorout__memory__get_error_record func.argstypes = [c_int32] func.restype = Error_Message + return func(Idx) @export def Get_Error_Message(Idx: ErrorIndex) -> str: + """ + Get error messages by index :obj:`Idy` as string. + + :param Idx: Index from 1 to ``Nbr_Messages`` See :func:`Get_Nbr_Messages`. + :return: Type: ``Error_Message`` + """ func = libghdl.errorout__memory__get_error_message_addr func.argstype = [c_int32] func.restype = c_char_p @@ -89,4 +128,5 @@ def Get_Error_Message(Idx: ErrorIndex) -> str: @export def Clear_Errors() -> None: + """Remove all error messages.""" libghdl.errorout__memory__clear_errors() |