mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #9166 from TrentZ/develop
Modify blacklist to blocklist
This commit is contained in:
commit
0a5d99279d
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user