2020-02-04 09:59:23 +00:00
|
|
|
interface A {}
|
|
|
|
contract test {
|
|
|
|
mapping(A => uint8) public table;
|
|
|
|
function set(A k, uint8 v) public {
|
|
|
|
table[k] = v;
|
|
|
|
}
|
|
|
|
function get(A k) public returns (uint8) {
|
|
|
|
return this.table(k);
|
|
|
|
}
|
|
|
|
}
|
2020-04-17 20:24:33 +00:00
|
|
|
// ====
|
|
|
|
// compileViaYul: also
|
2020-02-04 09:59:23 +00:00
|
|
|
// ----
|
|
|
|
// table(address): 0 -> 0
|
|
|
|
// table(address): 0x01 -> 0
|
|
|
|
// table(address): 0xa7 -> 0
|
|
|
|
// get(address): 0 -> 0
|
|
|
|
// get(address): 0x01 -> 0
|
|
|
|
// get(address): 0xa7 -> 0
|
|
|
|
// set(address,uint8): 0x01, 0xa1 ->
|
|
|
|
// table(address): 0 -> 0
|
|
|
|
// table(address): 0x01 -> 0xa1
|
|
|
|
// table(address): 0xa7 -> 0
|
|
|
|
// get(address): 0 -> 0
|
|
|
|
// get(address): 0x01 -> 0xa1
|
|
|
|
// get(address): 0xa7 -> 0
|
|
|
|
// set(address,uint8): 0x00, 0xef ->
|
|
|
|
// table(address): 0 -> 0xef
|
|
|
|
// table(address): 0x01 -> 0xa1
|
|
|
|
// table(address): 0xa7 -> 0
|
|
|
|
// get(address): 0 -> 0xef
|
|
|
|
// get(address): 0x01 -> 0xa1
|
|
|
|
// get(address): 0xa7 -> 0
|
|
|
|
// set(address,uint8): 0x01, 0x05 ->
|
|
|
|
// table(address): 0 -> 0xef
|
|
|
|
// table(address): 0x01 -> 0x05
|
|
|
|
// table(address): 0xa7 -> 0
|
|
|
|
// get(address): 0 -> 0xef
|
|
|
|
// get(address): 0x01 -> 0x05
|
|
|
|
// get(address): 0xa7 -> 0
|