in sapp/pipeline/mariana_trench_parser.py [0:0]
def _parse_issues(self, model: Dict[str, Any]) -> Iterable[sapp.ParseIssueTuple]:
for issue in model.get("issues", []):
code = issue["rule"]
rule = self._rules[code]
callable = Method.from_json(model["method"])
callable_position = Position.from_json(model["position"], callable)
issue_position = Position.from_json(issue["position"], callable)
features = Features.from_json(issue)
(preconditions, final_sinks) = self._parse_issue_conditions(
issue, callable, callable_position, "sink"
)
(postconditions, initial_sources) = self._parse_issue_conditions(
issue, callable, callable_position, "source"
)
yield Issue(
code=code,
message=f"{rule['name']}: {rule['description']}",
callable=callable,
callable_position=callable_position,
issue_position=issue_position,
preconditions=preconditions,
postconditions=postconditions,
initial_sources=initial_sources,
final_sinks=final_sinks,
features=features,
).to_sapp(self)