def __parse_line(self, regex):
"""Parse a GNATcheck message line.
Adds the message to the current database session.
Retrieves following information:
* source basename
* line in source
* rule identification
* message description
:param re.RegexObject regex: the result of the _MESSAGE regex
"""
# The following Regex results are explained using this example.
# 'input.adb:3:19: use clause for package [USE_PACKAGE_Clauses]'
# Extract each component from the message:
# ('input.adb', '3', '19', 'use clause for package',
# 'USE_PACKAGE_Clauses')
base = regex.group('file')
src = GNAThub.Project.source_file(base)
line = regex.group('line')
column = regex.group('column')
message = regex.group('message')
rule_id = regex.group('rule_id').lower()
self.__add_message(src, line, column, rule_id, message)
评论列表
文章目录