Merge pull request #9166 from TrentZ/develop

Modify blacklist to blocklist
This commit is contained in:
chriseth 2020-06-10 10:21:18 +02:00 committed by GitHub
commit 0a5d99279d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 8 deletions

View File

@ -33,16 +33,16 @@ using namespace solidity::yul;
VarNameCleaner::VarNameCleaner( VarNameCleaner::VarNameCleaner(
Block const& _ast, Block const& _ast,
Dialect const& _dialect, Dialect const& _dialect,
set<YulString> _blacklist set<YulString> _namesToKeep
): ):
m_dialect{_dialect}, m_dialect{_dialect},
m_blacklist{std::move(_blacklist)}, m_namesToKeep{std::move(_namesToKeep)},
m_translatedNames{} m_translatedNames{}
{ {
for (auto const& statement: _ast.statements) for (auto const& statement: _ast.statements)
if (holds_alternative<FunctionDefinition>(statement)) if (holds_alternative<FunctionDefinition>(statement))
m_blacklist.insert(std::get<FunctionDefinition>(statement).name); m_namesToKeep.insert(std::get<FunctionDefinition>(statement).name);
m_usedNames = m_blacklist; m_usedNames = m_namesToKeep;
} }
void VarNameCleaner::operator()(FunctionDefinition& _funDef) void VarNameCleaner::operator()(FunctionDefinition& _funDef)
@ -51,7 +51,7 @@ void VarNameCleaner::operator()(FunctionDefinition& _funDef)
m_insideFunction = true; m_insideFunction = true;
set<YulString> globalUsedNames = std::move(m_usedNames); set<YulString> globalUsedNames = std::move(m_usedNames);
m_usedNames = m_blacklist; m_usedNames = m_namesToKeep;
map<YulString, YulString> globalTranslatedNames; map<YulString, YulString> globalTranslatedNames;
swap(globalTranslatedNames, m_translatedNames); swap(globalTranslatedNames, m_translatedNames);

View File

@ -63,7 +63,7 @@ private:
VarNameCleaner( VarNameCleaner(
Block const& _ast, Block const& _ast,
Dialect const& _dialect, Dialect const& _dialect,
std::set<YulString> _blacklist = {} std::set<YulString> _namesToKeep = {}
); );
/// Tries to rename a list of variables. /// Tries to rename a list of variables.
@ -77,11 +77,13 @@ private:
YulString findCleanName(YulString const& name) const; YulString findCleanName(YulString const& name) const;
/// Tests whether a given name was already used within this pass /// Tests whether a given name was already used within this pass
/// or is on the blacklist. /// or was set to be kept.
bool isUsedName(YulString const& _name) const; bool isUsedName(YulString const& _name) const;
Dialect const& m_dialect; Dialect const& m_dialect;
std::set<YulString> m_blacklist;
/// These names will not be modified.
std::set<YulString> m_namesToKeep;
/// Set of names that are in use. /// Set of names that are in use.
std::set<YulString> m_usedNames; std::set<YulString> m_usedNames;