[Sol->Yul] Implement getters.

This commit is contained in:
chriseth
2020-06-03 10:33:37 +02:00
parent 8ab8d5b1b0
commit 37e8d78cff
6 changed files with 179 additions and 85 deletions
@@ -0,0 +1,14 @@
contract C {
uint8[][2] public a;
constructor() public {
a[1].push(3);
a[1].push(4);
}
}
// ====
// compileViaYul: also
// ----
// a(uint256,uint256): 0, 0 -> FAILURE
// a(uint256,uint256): 1, 0 -> 3
// a(uint256,uint256): 1, 1 -> 4
// a(uint256,uint256): 2, 0 -> FAILURE
@@ -0,0 +1,11 @@
contract C {
mapping(uint => mapping(uint => uint)) public x;
constructor() public {
x[1][2] = 3;
}
}
// ====
// compileViaYul: also
// ----
// x(uint256,uint256): 1, 2 -> 3
// x(uint256,uint256): 0, 0 -> 0
@@ -0,0 +1,19 @@
contract C {
uint8 public a;
uint16 public b;
uint128 public c;
uint public d;
constructor() public {
a = 3;
b = 4;
c = 5;
d = 6;
}
}
// ====
// compileViaYul: also
// ----
// a() -> 3
// b() -> 4
// c() -> 5
// d() -> 6
@@ -8,6 +8,8 @@ contract test {
dynamicData[2][2] = 8;
}
}
// ====
// compileViaYul: also
// ----
// data(uint256,uint256): 2, 2 -> 8
// data(uint256,uint256): 2, 8 -> FAILURE # NB: the original code contained a bug here #