resolve top level var used as yul identifiers

pull/1188/head
alpharush 3 years ago
parent e94e02e32d
commit 18483c46d2
  1. 5
      slither/solc_parsing/yul/parse_yul.py

@ -35,6 +35,7 @@ from slither.solc_parsing.yul.evm_functions import (
unary_ops, unary_ops,
binary_ops, binary_ops,
) )
from slither.solc_parsing.expressions.find_variable import _find_top_level
from slither.visitors.expression.find_calls import FindCalls from slither.visitors.expression.find_calls import FindCalls
from slither.visitors.expression.read_var import ReadVar from slither.visitors.expression.read_var import ReadVar
from slither.visitors.expression.write_var import WriteVar from slither.visitors.expression.write_var import WriteVar
@ -797,6 +798,10 @@ def parse_yul_identifier(root: YulScope, _node: YulNode, ast: Dict) -> Optional[
if magic_suffix: if magic_suffix:
return magic_suffix return magic_suffix
ret, _ = _find_top_level(name, root._contract.file_scope)
if ret:
return Identifier(ret)
raise SlitherException(f"unresolved reference to identifier {name}") raise SlitherException(f"unresolved reference to identifier {name}")

Loading…
Cancel
Save