| 4713 | } |
| 4714 | |
| 4715 | std::string YulUtilFunctions::tryDecodePanicDataFunction() |
| 4716 | { |
| 4717 | std::string const functionName = "try_decode_panic_data"; |
| 4718 | solAssert(m_evmVersion.supportsReturndata(), ""); |
| 4719 | |
| 4720 | return m_functionCollector.createFunction(functionName, [&]() { |
| 4721 | return util::Whiskers(R"( |
| 4722 | function <functionName>() -> success, data { |
| 4723 | if gt(returndatasize(), 0x23) { |
| 4724 | returndatacopy(0, 4, 0x20) |
| 4725 | success := 1 |
| 4726 | data := mload(0) |
| 4727 | } |
| 4728 | } |
| 4729 | )") |
| 4730 | ("functionName", functionName) |
| 4731 | .render(); |
| 4732 | }); |
| 4733 | } |
| 4734 | |
| 4735 | std::string YulUtilFunctions::extractReturndataFunction() |
| 4736 | { |
no test coverage detected