[SMTChecker] Fix calls to virtual/overriden functions

This commit is contained in:
Leonardo Alt
2020-12-29 11:25:20 +01:00
parent 840b194bea
commit 9482e7de23
10 changed files with 122 additions and 45 deletions
@@ -0,0 +1,21 @@
pragma experimental SMTChecker;
contract A {
int x = 0;
function f() virtual internal view {
assert(x == 0);
}
function proxy() public view {
f();
}
}
contract C is A {
function f() internal view override {
assert(x == 1);
}
}
// ----
// Warning 6328: (259-273): CHC: Assertion violation happens here.\nCounterexample:\nx = 0\n\n\n\nTransaction trace:\nconstructor()\nState: x = 0\nproxy()