|
|
@ -1,4 +1,5 @@ |
|
|
|
from typing import List |
|
|
|
from typing import List |
|
|
|
|
|
|
|
from slither.core.cfg.node import Node |
|
|
|
from slither.core.declarations import Function, SolidityVariable |
|
|
|
from slither.core.declarations import Function, SolidityVariable |
|
|
|
from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification |
|
|
|
from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification |
|
|
|
from slither.slithir.operations.high_level_call import HighLevelCall |
|
|
|
from slither.slithir.operations.high_level_call import HighLevelCall |
|
|
@ -44,8 +45,9 @@ contract C { |
|
|
|
|
|
|
|
|
|
|
|
return results |
|
|
|
return results |
|
|
|
|
|
|
|
|
|
|
|
def _detect_var_read_using_this(self, func: Function) -> List: |
|
|
|
@staticmethod |
|
|
|
results = [] |
|
|
|
def _detect_var_read_using_this(func: Function) -> List[Node]: |
|
|
|
|
|
|
|
results: List[Node] = [] |
|
|
|
for node in func.nodes: |
|
|
|
for node in func.nodes: |
|
|
|
for ir in node.irs: |
|
|
|
for ir in node.irs: |
|
|
|
if isinstance(ir, HighLevelCall): |
|
|
|
if isinstance(ir, HighLevelCall): |
|
|
|