Skip to content

Commit

Permalink
Merge pull request #2165 from crytic/dokzai-issue-2127
Browse files Browse the repository at this point in the history
PR2158 update
  • Loading branch information
montyly authored Oct 12, 2023
2 parents a8dc662 + 98da04f commit 1f1deb4
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
3 changes: 2 additions & 1 deletion slither/core/variables/variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,5 +179,6 @@ def solidity_signature(self) -> str:
return f'{name}({",".join(parameters)})'

def __str__(self) -> str:
assert self._name
if self._name is None:
return ""
return self._name
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
contract TestSlither {
function testFunction(uint256 param1, uint256, address param3) public {

}
}
17 changes: 17 additions & 0 deletions tests/e2e/compilation/test_resolution.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,20 @@ def test_cycle(solc_binary_path) -> None:
solc_path = solc_binary_path("0.8.0")
slither = Slither(Path(TEST_DATA_DIR, "test_cyclic_import", "a.sol").as_posix(), solc=solc_path)
_run_all_detectors(slither)


def test_contract_function_parameter(solc_binary_path) -> None:
solc_path = solc_binary_path("0.8.0")
standard_json = SolcStandardJson()
standard_json.add_source_file(
Path(TEST_DATA_DIR, "test_contract_data", "test_contract_data.sol").as_posix()
)
compilation = CryticCompile(standard_json, solc=solc_path)
slither = Slither(compilation)
contract = slither.contracts[0]
function = contract.functions[0]
parameters = function.parameters

assert (parameters[0].name == 'param1')
assert (parameters[1].name == '')
assert (parameters[2].name == 'param3')

0 comments on commit 1f1deb4

Please sign in to comment.