99
1010from codemodder .context import CodemodExecutionContext
1111from codemodder .logging import logger
12- from codemodder .result import LineInfo , Result , ResultSet , SarifLocation , SarifResult
12+ from codemodder .result import Result , ResultSet , SarifLocation , SarifResult
1313from codemodder .sarifs import AbstractSarifToolDetector
1414
1515
@@ -23,24 +23,11 @@ def detect(cls, run_data: dict) -> bool:
2323
2424
2525class SemgrepLocation (SarifLocation ):
26- @classmethod
27- def from_sarif (cls , sarif_location ) -> Self :
28- artifact_location = sarif_location ["physicalLocation" ]["artifactLocation" ]
29- file = Path (artifact_location ["uri" ])
30- snippet = (
26+ @staticmethod
27+ def get_snippet (sarif_location ) -> str :
28+ return (
3129 sarif_location ["physicalLocation" ]["region" ].get ("snippet" , {}).get ("text" )
3230 )
33- start = LineInfo (
34- line = sarif_location ["physicalLocation" ]["region" ]["startLine" ],
35- column = sarif_location ["physicalLocation" ]["region" ]["startColumn" ],
36- snippet = snippet ,
37- )
38- end = LineInfo (
39- line = sarif_location ["physicalLocation" ]["region" ]["endLine" ],
40- column = sarif_location ["physicalLocation" ]["region" ]["endColumn" ],
41- snippet = snippet ,
42- )
43- return cls (file = file , start = start , end = end )
4431
4532
4633class SemgrepResult (SarifResult ):
0 commit comments