Skip to content

Commit 9a41a51

Browse files
authored
SarifResult class should not be abstract (#1032)
* SarifResult class should not be abstract * Add finding message extraction
1 parent 4bd01a3 commit 9a41a51

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/codemodder/result.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ class SASTResult(Result):
9696

9797

9898
@dataclass(frozen=True, kw_only=True)
99-
class SarifResult(SASTResult, ABCDataclass):
99+
class SarifResult(SASTResult):
100+
finding_msg: str | None = None
100101
location_type: ClassVar[Type[SarifLocation]]
101102

102103
@classmethod
@@ -119,12 +120,17 @@ def from_sarif(
119120
url=cls.rule_url_from_id(sarif_result, sarif_run, rule_id),
120121
),
121122
),
123+
finding_msg=cls.extract_finding_message(sarif_result, sarif_run),
122124
)
123125

124126
@classmethod
125-
@abstractmethod
126-
def rule_url_from_id(cls, result: dict, run: dict, rule_id: str) -> str:
127-
raise NotImplementedError
127+
def extract_finding_message(cls, sarif_result: dict, sarif_run: dict) -> str | None:
128+
return sarif_result.get("message", {}).get("text", None)
129+
130+
@classmethod
131+
def rule_url_from_id(cls, result: dict, run: dict, rule_id: str) -> str | None:
132+
del result, run, rule_id
133+
return None
128134

129135
@classmethod
130136
def extract_locations(cls, sarif_result) -> Sequence[Location]:

0 commit comments

Comments
 (0)