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

Method handleCatchFallback

libsolidity/codegen/ir/IRGeneratorForStatements.cpp:3523–3540  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3521}
3522
3523void IRGeneratorForStatements::handleCatchFallback(TryCatchClause const& _fallback)
3524{
3525 setLocation(_fallback);
3526 if (_fallback.parameters())
3527 {
3528 solAssert(m_context.evmVersion().supportsReturndata());
3529 solAssert(
3530 _fallback.parameters()->parameters().size() == 1 &&
3531 _fallback.parameters()->parameters().front() &&
3532 *_fallback.parameters()->parameters().front()->annotation().type == *TypeProvider::bytesMemory(),
3533 ""
3534 );
3535
3536 VariableDeclaration const& paramDecl = *_fallback.parameters()->parameters().front();
3537 define(m_context.addLocalVariable(paramDecl)) << m_utils.extractReturndataFunction() << "()\n";
3538 }
3539 _fallback.accept(*this);
3540}
3541
3542void IRGeneratorForStatements::revertWithError(
3543 std::string const& _signature,

Callers

nothing calls this directly

Calls 7

parametersMethod · 0.80
supportsReturndataMethod · 0.80
addLocalVariableMethod · 0.80
evmVersionMethod · 0.45
sizeMethod · 0.45
acceptMethod · 0.45

Tested by

no test coverage detected