LValues and state variables of value type.

This commit is contained in:
chriseth
2019-05-02 17:03:22 +02:00
parent dcca6f6318
commit aa4d4afcdc
13 changed files with 382 additions and 25 deletions
@@ -0,0 +1,16 @@
contract C {
uint16 x;
byte y;
uint16 z;
function f(uint8 a) public returns (uint _x) {
x = a;
y = byte(uint8(x) + 1);
z = uint8(y) + 1;
x = z + 1;
_x = x;
}
}
// ====
// compileViaYul: true
// ----
// f(uint8): 6 -> 9
@@ -0,0 +1,17 @@
contract C {
uint x;
uint y;
function setX(uint a) public returns (uint _x) {
x = a;
_x = x;
}
function setY(uint a) public returns (uint _y) {
y = a;
_y = y;
}
}
// ====
// compileViaYul: true
// ----
// setX(uint256): 6 -> 6
// setY(uint256): 2 -> 2