======= viair_subobjects/input.sol:C ======= Binary: Binary of the runtime part: Optimized IR: /// @use-src 0:"viair_subobjects/input.sol" object "C_3" { code { { /// @src 0:82:95 "contract C {}" let _1 := memoryguard(0x80) mstore(64, _1) if callvalue() { revert(0, 0) } let _2 := datasize("C_3_deployed") codecopy(_1, dataoffset("C_3_deployed"), _2) return(_1, _2) } } /// @use-src 0:"viair_subobjects/input.sol" object "C_3_deployed" { code { { /// @src 0:82:95 "contract C {}" revert(0, 0) } } data ".metadata" hex"" } } ======= viair_subobjects/input.sol:D ======= Binary: Binary of the runtime part: Optimized IR: /// @use-src 0:"viair_subobjects/input.sol" object "D_16" { code { { /// @src 0:96:165 "contract D {..." let _1 := memoryguard(0x80) mstore(64, _1) if callvalue() { revert(0, 0) } let _2 := datasize("D_16_deployed") codecopy(_1, dataoffset("D_16_deployed"), _2) return(_1, _2) } } /// @use-src 0:"viair_subobjects/input.sol" object "D_16_deployed" { code { { /// @src 0:96:165 "contract D {..." let _1 := memoryguard(0x80) mstore(64, _1) if iszero(lt(calldatasize(), 4)) { if eq(0x26121ff0, shr(224, calldataload(0))) { if callvalue() { revert(0, 0) } if slt(add(calldatasize(), not(3)), 0) { revert(0, 0) } /// @src 0:149:156 "new C()" let _2 := datasize("C_3") let _3 := add(_1, _2) if or(gt(_3, 0xffffffffffffffff), lt(_3, _1)) { /// @src 0:96:165 "contract D {..." mstore(0, shl(224, 0x4e487b71)) mstore(4, 0x41) revert(0, 0x24) } /// @src 0:149:156 "new C()" datacopy(_1, dataoffset("C_3"), _2) if iszero(create(/** @src 0:96:165 "contract D {..." */ 0, /** @src 0:149:156 "new C()" */ _1, sub(_3, _1))) { /// @src 0:96:165 "contract D {..." let pos := mload(64) returndatacopy(pos, 0, returndatasize()) revert(pos, returndatasize()) } return(0, 0) } } revert(0, 0) } } /// @use-src 0:"viair_subobjects/input.sol" object "C_3" { code { { /// @src 0:82:95 "contract C {}" let _1 := memoryguard(0x80) mstore(64, _1) if callvalue() { revert(0, 0) } let _2 := datasize("C_3_deployed") codecopy(_1, dataoffset("C_3_deployed"), _2) return(_1, _2) } } /// @use-src 0:"viair_subobjects/input.sol" object "C_3_deployed" { code { { /// @src 0:82:95 "contract C {}" revert(0, 0) } } data ".metadata" hex"" } } data ".metadata" hex"" } }