mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Fix ICE in inherited state var
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract Base {
|
||||
uint x;
|
||||
uint z;
|
||||
uint private t;
|
||||
}
|
||||
|
||||
contract C is Base {
|
||||
function f(uint y) public {
|
||||
require(x < 10);
|
||||
require(y < 100);
|
||||
z = x + y;
|
||||
assert(z < 150);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
@@ -0,0 +1,21 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract Base1 {
|
||||
uint x;
|
||||
uint private t;
|
||||
}
|
||||
|
||||
contract Base2 is Base1 {
|
||||
uint z;
|
||||
uint private t;
|
||||
}
|
||||
|
||||
contract C is Base2 {
|
||||
function f(uint y) public {
|
||||
require(x < 10);
|
||||
require(y < 100);
|
||||
z = x + y;
|
||||
assert(z < 150);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
@@ -0,0 +1,18 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract Base {
|
||||
uint x;
|
||||
uint private t;
|
||||
}
|
||||
|
||||
contract C is Base {
|
||||
|
||||
uint private z;
|
||||
function f(uint y) public {
|
||||
require(x < 10);
|
||||
require(y < 100);
|
||||
z = x + y;
|
||||
assert(z < 150);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
Reference in New Issue
Block a user