ControlFlowAnalyser: Also consider called functions in a flow

This commit is contained in:
Mathias Baumann
2021-06-01 15:54:37 +02:00
parent 3dfa68a574
commit 56ebea8b2f
33 changed files with 723 additions and 52 deletions
@@ -0,0 +1,27 @@
abstract contract B
{
function iWillRevert() pure public virtual { revert(); }
function test2(bool _param) pure external returns(uint256)
{
if (_param) return 1;
iWillRevert();
}
}
contract C is B
{
function iWillRevert() pure public override { }
function test(bool _param) pure external returns(uint256)
{
if (_param) return 1;
iWillRevert();
}
}
// ----
// Warning 6321: (146-153): Unnamed return variable can remain unassigned when the function is called when "C" is the most derived contract. Add an explicit return with value to all non-reverting code paths or name the variable.
// Warning 6321: (381-388): Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.