mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use hoisting.
This commit is contained in:
parent
e681f4ee79
commit
79c415b104
@ -35,7 +35,6 @@ void NameCollector::operator()(VariableDeclaration const& _varDecl)
|
||||
void NameCollector::operator ()(FunctionDefinition const& _funDef)
|
||||
{
|
||||
m_names.insert(_funDef.name);
|
||||
m_functions[_funDef.name] = &_funDef;
|
||||
for (auto const arg: _funDef.parameters)
|
||||
m_names.insert(arg.name);
|
||||
for (auto const ret: _funDef.returnVariables)
|
||||
|
@ -37,15 +37,18 @@ namespace julia
|
||||
class NameCollector: public ASTWalker
|
||||
{
|
||||
public:
|
||||
explicit NameCollector(Block const& _block)
|
||||
{
|
||||
(*this)(_block);
|
||||
}
|
||||
|
||||
using ASTWalker::operator ();
|
||||
virtual void operator()(VariableDeclaration const& _varDecl) override;
|
||||
virtual void operator()(FunctionDefinition const& _funDef) override;
|
||||
|
||||
std::set<std::string> const& names() const { return m_names; }
|
||||
std::map<std::string, FunctionDefinition const*> const& functions() const { return m_functions; }
|
||||
std::set<std::string> names() const { return m_names; }
|
||||
private:
|
||||
std::set<std::string> m_names;
|
||||
std::map<std::string, FunctionDefinition const*> m_functions;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user