mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[Sol->Yul] Implement getters.
This commit is contained in:
@@ -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 #
|
||||
|
||||
Reference in New Issue
Block a user