Merge pull request #6322 from ethereum/asm-datasize-exception-fix

Improve exception information in Yul function datasize(name) and dataoffset(name).
This commit is contained in:
chriseth 2019-03-20 10:50:49 +01:00 committed by GitHub
commit 93027c40b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -56,7 +56,10 @@ EVMDialect::EVMDialect(AsmFlavour _flavour, bool _objectAccess, langutil::EVMVer
if (m_currentObject->name == dataName)
_assembly.appendAssemblySize();
else
{
yulAssert(m_subIDs.count(dataName) != 0, "Could not find assembly object <" + dataName.str() + ">.");
_assembly.appendDataSize(m_subIDs.at(dataName));
}
});
addFunction("dataoffset", 1, 1, true, true, [this](
FunctionCall const& _call,
@ -70,7 +73,10 @@ EVMDialect::EVMDialect(AsmFlavour _flavour, bool _objectAccess, langutil::EVMVer
if (m_currentObject->name == dataName)
_assembly.appendConstant(0);
else
{
yulAssert(m_subIDs.count(dataName) != 0, "Could not find assembly object <" + dataName.str() + ">.");
_assembly.appendDataOffset(m_subIDs.at(dataName));
}
});
addFunction("datacopy", 3, 0, false, false, [](
FunctionCall const&,