mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
commit
f693262b81
@ -519,9 +519,9 @@ bool AsmAnalyzer::operator()(Continue const& _continue)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AsmAnalyzer::operator()(Leave const& _leave)
|
bool AsmAnalyzer::operator()(Leave const& _leaveStatement)
|
||||||
{
|
{
|
||||||
m_info.stackHeightInfo[&_leave] = m_stackHeight;
|
m_info.stackHeightInfo[&_leaveStatement] = m_stackHeight;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -649,15 +649,15 @@ void CodeTransform::operator()(Continue const& _continue)
|
|||||||
checkStackHeight(&_continue);
|
checkStackHeight(&_continue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeTransform::operator()(Leave const& _leave)
|
void CodeTransform::operator()(Leave const& _leaveStatement)
|
||||||
{
|
{
|
||||||
yulAssert(!m_context->functionExitPoints.empty(), "Invalid leave-statement. Requires surrounding function in code generation.");
|
yulAssert(!m_context->functionExitPoints.empty(), "Invalid leave-statement. Requires surrounding function in code generation.");
|
||||||
m_assembly.setSourceLocation(_leave.location);
|
m_assembly.setSourceLocation(_leaveStatement.location);
|
||||||
|
|
||||||
Context::JumpInfo const& jump = m_context->functionExitPoints.top();
|
Context::JumpInfo const& jump = m_context->functionExitPoints.top();
|
||||||
m_assembly.appendJumpTo(jump.label, appendPopUntil(jump.targetStackHeight));
|
m_assembly.appendJumpTo(jump.label, appendPopUntil(jump.targetStackHeight));
|
||||||
|
|
||||||
checkStackHeight(&_leave);
|
checkStackHeight(&_leaveStatement);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeTransform::operator()(Block const& _block)
|
void CodeTransform::operator()(Block const& _block)
|
||||||
|
@ -130,9 +130,9 @@ Statement ASTCopier::operator()(Continue const& _continue)
|
|||||||
return Continue{ _continue };
|
return Continue{ _continue };
|
||||||
}
|
}
|
||||||
|
|
||||||
Statement ASTCopier::operator()(Leave const& _leave)
|
Statement ASTCopier::operator()(Leave const& _leaveStatement)
|
||||||
{
|
{
|
||||||
return Leave{_leave};
|
return Leave{_leaveStatement};
|
||||||
}
|
}
|
||||||
|
|
||||||
Statement ASTCopier::operator ()(Block const& _block)
|
Statement ASTCopier::operator ()(Block const& _block)
|
||||||
|
@ -173,10 +173,10 @@ void BlockHasher::operator()(Continue const& _continue)
|
|||||||
ASTWalker::operator()(_continue);
|
ASTWalker::operator()(_continue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlockHasher::operator()(Leave const& _leave)
|
void BlockHasher::operator()(Leave const& _leaveStatement)
|
||||||
{
|
{
|
||||||
hash64(compileTimeLiteralHash("Leave"));
|
hash64(compileTimeLiteralHash("Leave"));
|
||||||
ASTWalker::operator()(_leave);
|
ASTWalker::operator()(_leaveStatement);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlockHasher::operator()(Block const& _block)
|
void BlockHasher::operator()(Block const& _block)
|
||||||
|
Loading…
Reference in New Issue
Block a user