object "A" { code { let x := datasize("x") let c := datasize("C") sstore(0, x) sstore(32, c) } object "B" { code { let o := dataoffset("other") sstore(0, o) } data ".metadata" "M1" data "other" "Hello, World2!" } data "C" "ABC" data ".metadata" "M2" data "x" "Hello, World2!" } // ---- // Assembly: // 0x0e // /* "source":26:48 */ // 0x03 // /* "source":90:91 */ // dup2 // /* "source":87:88 */ // 0x00 // /* "source":80:92 */ // sstore // /* "source":108:109 */ // dup1 // /* "source":104:106 */ // 0x20 // /* "source":97:110 */ // sstore // /* "source":20:114 */ // pop // pop // stop // data_211450822d7f8c345093893187e7e1fbebc4ec67af72601920194be14104e336 48656c6c6f2c20576f726c643221 // data_e1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8 414243 // // sub_0: assembly { // data_211450822d7f8c345093893187e7e1fbebc4ec67af72601920194be14104e336 // /* "source":193:194 */ // dup1 // /* "source":190:191 */ // 0x00 // /* "source":183:195 */ // sstore // /* "source":140:201 */ // pop // stop // data_211450822d7f8c345093893187e7e1fbebc4ec67af72601920194be14104e336 48656c6c6f2c20576f726c643221 // // auxdata: 0x4d31 // } // // auxdata: 0x4d32 // Bytecode: 600e600381600055806020555050fe4d32 // Opcodes: PUSH1 0xE PUSH1 0x3 DUP2 PUSH1 0x0 SSTORE DUP1 PUSH1 0x20 SSTORE POP POP INVALID 0x4D ORIGIN // SourceMappings: :::-:0;26:22:0;90:1;87;80:12;108:1;104:2;97:13;20:94;