mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Correctly resolve current scope contract in VariableUsage.
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract Context {}
|
||||
|
||||
contract ERC20 is Context {
|
||||
function approve() public virtual { _approve(); }
|
||||
function _approve() internal virtual {}
|
||||
}
|
||||
|
||||
contract __unstable__ERC20Owned is ERC20 {
|
||||
function _approve() internal override {
|
||||
if (true) {
|
||||
super._approve();
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
pragma experimental SMTChecker;
|
||||
contract A {
|
||||
function f() internal virtual {
|
||||
v();
|
||||
}
|
||||
function v() internal virtual {
|
||||
}
|
||||
}
|
||||
|
||||
contract B is A {
|
||||
function f() internal virtual override {
|
||||
super.f();
|
||||
}
|
||||
}
|
||||
|
||||
contract C is B {
|
||||
function v() internal override {
|
||||
if (0==1)
|
||||
f();
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6838: (303-307): BMC: Condition is always false.
|
||||
Reference in New Issue
Block a user