{"contracts":{"A":{"C":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"object":""}},"ir":"/*=====================================================* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *=====================================================*/ /// @use-src 0:\"A\" object \"C_3\" { code { /// @src 0:79:92 \"contract C {}\" mstore(64, 128) if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_3() let _1 := allocate_unbounded() codecopy(_1, dataoffset(\"C_3_deployed\"), datasize(\"C_3_deployed\")) return(_1, datasize(\"C_3_deployed\")) function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { revert(0, 0) } /// @src 0:79:92 \"contract C {}\" function constructor_C_3() { /// @src 0:79:92 \"contract C {}\" } /// @src 0:79:92 \"contract C {}\" } /// @use-src 0:\"A\" object \"C_3_deployed\" { code { /// @src 0:79:92 \"contract C {}\" mstore(64, 128) if iszero(lt(calldatasize(), 4)) { let selector := shift_right_224_unsigned(calldataload(0)) switch selector default {} } if iszero(calldatasize()) { } revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function shift_right_224_unsigned(value) -> newValue { newValue := shr(224, value) } function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { revert(0, 0) } } data \".metadata\" hex\"\" } } "},"D":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"object":""}},"ir":"/*=====================================================* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *=====================================================*/ /// @use-src 0:\"A\" object \"D_16\" { code { /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" mstore(64, 128) if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_D_16() let _1 := allocate_unbounded() codecopy(_1, dataoffset(\"D_16_deployed\"), datasize(\"D_16_deployed\")) return(_1, datasize(\"D_16_deployed\")) function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { revert(0, 0) } /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" function constructor_D_16() { /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" } /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" } /// @use-src 0:\"A\" object \"D_16_deployed\" { code { /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" mstore(64, 128) if iszero(lt(calldatasize(), 4)) { let selector := shift_right_224_unsigned(calldataload(0)) switch selector case 0x26121ff0 { // f() if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } abi_decode_tuple_(4, calldatasize()) fun_f_15() let memPos := allocate_unbounded() let memEnd := abi_encode_tuple__to__fromStack(memPos ) return(memPos, sub(memEnd, memPos)) } default {} } if iszero(calldatasize()) { } revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function shift_right_224_unsigned(value) -> newValue { newValue := shr(224, value) } function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { revert(0, 0) } function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() { revert(0, 0) } function abi_decode_tuple_(headStart, dataEnd) { if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() } } function abi_encode_tuple__to__fromStack(headStart ) -> tail { tail := add(headStart, 0) } function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { revert(0, 0) } function panic_error_0x41() { mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856) mstore(4, 0x41) revert(0, 0x24) } function revert_forward_1() { let pos := allocate_unbounded() returndatacopy(pos, 0, returndatasize()) revert(pos, returndatasize()) } /// @src 0:106:144 \"function f() public { C c = new C(); }\" function fun_f_15() { /// @src 0:134:141 \"new C()\" let _1 := allocate_unbounded() let _2 := add(_1, datasize(\"C_3\")) if or(gt(_2, 0xffffffffffffffff), lt(_2, _1)) { panic_error_0x41() } datacopy(_1, dataoffset(\"C_3\"), datasize(\"C_3\")) _2 := abi_encode_tuple__to__fromStack(_2) let expr_12_address := create(0, _1, sub(_2, _1)) if iszero(expr_12_address) { revert_forward_1() } /// @src 0:128:141 \"C c = new C()\" let var_c_8_address := expr_12_address } /// @src 0:93:146 \"contract D { function f() public { C c = new C(); } }\" } /*=====================================================* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *=====================================================*/ /// @use-src 0:\"A\" object \"C_3\" { code { /// @src 0:79:92 \"contract C {}\" mstore(64, 128) if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() } constructor_C_3() let _1 := allocate_unbounded() codecopy(_1, dataoffset(\"C_3_deployed\"), datasize(\"C_3_deployed\")) return(_1, datasize(\"C_3_deployed\")) function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() { revert(0, 0) } /// @src 0:79:92 \"contract C {}\" function constructor_C_3() { /// @src 0:79:92 \"contract C {}\" } /// @src 0:79:92 \"contract C {}\" } /// @use-src 0:\"A\" object \"C_3_deployed\" { code { /// @src 0:79:92 \"contract C {}\" mstore(64, 128) if iszero(lt(calldatasize(), 4)) { let selector := shift_right_224_unsigned(calldataload(0)) switch selector default {} } if iszero(calldatasize()) { } revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() function shift_right_224_unsigned(value) -> newValue { newValue := shr(224, value) } function allocate_unbounded() -> memPtr { memPtr := mload(64) } function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() { revert(0, 0) } } data \".metadata\" hex\"\" } } data \".metadata\" hex\"\" } } "}}},"errors":[{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable. --> A:2:93: | 2 | pragma solidity >=0.0; pragma abicoder v2; contract C {} contract D { function f() public { C c = new C(); } } | ^^^ ","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":131,"file":"A","start":128},"type":"Warning"}],"sources":{"A":{"id":0}}}