Merge branch 'ignore-markers' of github.com:futureswap/slither into futureswap-ignore-markers

pull/1317/head
Josselin Feist 2 years ago
commit 1222c59cca
  1. 12
      slither/core/slither_core.py

@ -48,7 +48,7 @@ class SlitherCore(Context):
self._previous_results_ids: Set[str] = set() self._previous_results_ids: Set[str] = set()
# Every slither object has a list of result from detector # Every slither object has a list of result from detector
# Because of the multiple compilation support, we might analyze # Because of the multiple compilation support, we might analyze
# Multiple time the same result, so we remove dupplicate # Multiple time the same result, so we remove duplicates
self._currently_seen_resuts: Set[str] = set() self._currently_seen_resuts: Set[str] = set()
self._paths_to_filter: Set[str] = set() self._paths_to_filter: Set[str] = set()
@ -209,7 +209,7 @@ class SlitherCore(Context):
- There is an ignore comment on the preceding line - There is an ignore comment on the preceding line
""" """
# Remove dupplicate due to the multiple compilation support # Remove duplicate due to the multiple compilation support
if r["id"] in self._currently_seen_resuts: if r["id"] in self._currently_seen_resuts:
return False return False
self._currently_seen_resuts.add(r["id"]) self._currently_seen_resuts.add(r["id"])
@ -245,6 +245,9 @@ class SlitherCore(Context):
if r["elements"] and matching: if r["elements"] and matching:
return False return False
if r["elements"] and self._exclude_dependencies:
if all(element["source_mapping"]["is_dependency"] for element in r["elements"]):
return False
if self._show_ignored_findings: if self._show_ignored_findings:
return True return True
if self.has_ignore_comment(r): if self.has_ignore_comment(r):
@ -254,7 +257,10 @@ class SlitherCore(Context):
if r["elements"] and self._exclude_dependencies: if r["elements"] and self._exclude_dependencies:
return not all(element["source_mapping"]["is_dependency"] for element in r["elements"]) return not all(element["source_mapping"]["is_dependency"] for element in r["elements"])
# Conserve previous result filtering. This is conserved for compatibility, but is meant to be removed # Conserve previous result filtering. This is conserved for compatibility, but is meant to be removed
return not r["description"] in [pr["description"] for pr in self._previous_results] if r["description"] in [pr["description"] for pr in self._previous_results]:
return False
return True
def load_previous_results(self): def load_previous_results(self):
filename = self._previous_results_filename filename = self._previous_results_filename

Loading…
Cancel
Save