MCPcopy Create free account
hub / github.com/argotorg/solidity / returnDataToArray

Method returnDataToArray

libsolidity/codegen/CompilerUtils.cpp:122–140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122void CompilerUtils::returnDataToArray()
123{
124 if (m_context.evmVersion().supportsReturndata())
125 {
126 m_context << Instruction::RETURNDATASIZE;
127 m_context.appendInlineAssembly(R"({
128 switch v case 0 {
129 v := 0x60
130 } default {
131 v := mload(0x40)
132 mstore(0x40, add(v, and(add(returndatasize(), 0x3f), not(0x1f))))
133 mstore(v, returndatasize())
134 returndatacopy(add(v, 0x20), 0, returndatasize())
135 }
136 })", {"v"});
137 }
138 else
139 pushZeroPointer();
140}
141
142void CompilerUtils::accessCalldataTail(Type const& _type)
143{

Callers 2

handleCatchMethod · 0.80

Calls 3

supportsReturndataMethod · 0.80
appendInlineAssemblyMethod · 0.80
evmVersionMethod · 0.45

Tested by

no test coverage detected