Merge pull request #10419 from ethereum/bug-namesimplifier

Fix a bug in NameSimplifier.
This commit is contained in:
chriseth
2020-12-03 17:52:40 +01:00
committed by GitHub
8 changed files with 42 additions and 30 deletions
+8 -1
View File
@@ -35,8 +35,9 @@ using namespace solidity::yul;
using namespace solidity::util;
NameDispenser::NameDispenser(Dialect const& _dialect, Block const& _ast, set<YulString> _reservedNames):
NameDispenser(_dialect, NameCollector(_ast).names() + std::move(_reservedNames))
NameDispenser(_dialect, NameCollector(_ast).names() + _reservedNames)
{
m_reservedNames = move(_reservedNames);
}
NameDispenser::NameDispenser(Dialect const& _dialect, set<YulString> _usedNames):
@@ -61,3 +62,9 @@ bool NameDispenser::illegalName(YulString _name)
{
return isRestrictedIdentifier(m_dialect, _name) || m_usedNames.count(_name);
}
void NameDispenser::reset(Block const& _ast)
{
m_usedNames = NameCollector(_ast).names() + m_reservedNames;
m_counter = 0;
}