From d2800a72d3e9387a1bb8b42f140bc62ba9c9f9a0 Mon Sep 17 00:00:00 2001 From: thindil Date: Fri, 5 Apr 2024 04:17:36 +0000 Subject: [PATCH] feat: better messages about results of objects rule check FossilOrigin-Name: ebb60e5691124b4f2f79aec9c18721d490b66418ce241e8dd4bc4643626fc4d5 --- src/rules/objects.nim | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/rules/objects.nim b/src/rules/objects.nim index e8b96be..c9df4e0 100644 --- a/src/rules/objects.nim +++ b/src/rules/objects.nim @@ -87,8 +87,8 @@ import ../rules ruleConfig(ruleName = "objects", ruleFoundMessage = "object's types declarations which can{negation} be upgraded", ruleNotFoundMessage = "object's types declarations which can{negation} be upgraded not found.", - rulePositiveMessage = "object's type declaration, line: {params[0]} {params[1]}", - ruleNegativeMessage = "object's type declaration, line: {params[0]} {params[1]}", + rulePositiveMessage = "declaration of type '{params[2]}', line: {params[0]} {params[1]}", + ruleNegativeMessage = "declaration of type '{params[2]}', line: {params[0]} {params[1]}", ruleOptions = @[custom], ruleOptionValues = @["publicfields"], ruleMinOptions = 1) @@ -115,9 +115,15 @@ checkRule: if rule.ruleType in {RuleTypes.count, search}: checkResult = not checkResult let oldAmount: int = rule.amount - setResult(checkResult = checkResult, positiveMessage = positiveMessage, - negativeMessage = negativeMessage, ruleData = "public fields", - node = node, params = [$node.info.line, message]) + try: + setResult(checkResult = checkResult, positiveMessage = positiveMessage, + negativeMessage = negativeMessage, ruleData = "public fields", + node = node, params = [$node.info.line, message, $astNode[0]]) + except Exception: + rule.amount = errorMessage(text = messagePrefix & + "can't check declaration of type " & + " line: " & + $node.info.line & ". Reason: ", e = getCurrentException()) # To show the rule's explaination the rule.amount must be negative if rule.negation and oldAmount > rule.amount and rule.ruleType == check: rule.amount = -1_000