mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #10641 from ethereum/yul-error
Simplify StackTooDeepError in Yul
This commit is contained in:
commit
2fa0e3c88a
@ -483,8 +483,10 @@ void CodeTransform::operator()(FunctionDefinition const& _function)
|
||||
|
||||
if (stackLayout.size() > 17)
|
||||
{
|
||||
StackTooDeepError error(_function.name, YulString{}, static_cast<int>(stackLayout.size()) - 17);
|
||||
error << errinfo_comment(
|
||||
StackTooDeepError error(
|
||||
_function.name,
|
||||
YulString{},
|
||||
static_cast<int>(stackLayout.size()) - 17,
|
||||
"The function " +
|
||||
_function.name.str() +
|
||||
" has " +
|
||||
@ -716,8 +718,9 @@ size_t CodeTransform::variableHeightDiff(Scope::Variable const& _var, YulString
|
||||
size_t limit = _forSwap ? 17 : 16;
|
||||
if (heightDiff > limit)
|
||||
{
|
||||
m_stackErrors.emplace_back(_varName, heightDiff - limit);
|
||||
m_stackErrors.back() << errinfo_comment(
|
||||
m_stackErrors.emplace_back(
|
||||
_varName,
|
||||
heightDiff - limit,
|
||||
"Variable " +
|
||||
_varName.str() +
|
||||
" is " +
|
||||
|
@ -43,10 +43,16 @@ class EVMAssembly;
|
||||
|
||||
struct StackTooDeepError: virtual YulException
|
||||
{
|
||||
StackTooDeepError(YulString _variable, int _depth): variable(_variable), depth(_depth) {}
|
||||
StackTooDeepError(YulString _functionName, YulString _variable, int _depth):
|
||||
StackTooDeepError(YulString _variable, int _depth, std::string const& _message):
|
||||
variable(_variable), depth(_depth)
|
||||
{
|
||||
*this << util::errinfo_comment(_message);
|
||||
}
|
||||
StackTooDeepError(YulString _functionName, YulString _variable, int _depth, std::string const& _message):
|
||||
functionName(_functionName), variable(_variable), depth(_depth)
|
||||
{}
|
||||
{
|
||||
*this << util::errinfo_comment(_message);
|
||||
}
|
||||
YulString functionName;
|
||||
YulString variable;
|
||||
int depth;
|
||||
|
Loading…
Reference in New Issue
Block a user