diff options
author | chriseth <chris@ethereum.org> | 2017-12-07 22:43:09 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-05-02 23:36:10 +0800 |
commit | 79c415b104a69c24ae2e5e5a99c496856e7be504 (patch) | |
tree | f92fb2fcacc9da562e625a524981d9c31ba4dd0c /libjulia/optimiser | |
parent | e681f4ee7924ebc419e0bd878b8640c63b17a0c8 (diff) | |
download | dexon-solidity-79c415b104a69c24ae2e5e5a99c496856e7be504.tar.gz dexon-solidity-79c415b104a69c24ae2e5e5a99c496856e7be504.tar.zst dexon-solidity-79c415b104a69c24ae2e5e5a99c496856e7be504.zip |
Use hoisting.
Diffstat (limited to 'libjulia/optimiser')
-rw-r--r-- | libjulia/optimiser/NameCollector.cpp | 1 | ||||
-rw-r--r-- | libjulia/optimiser/NameCollector.h | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/libjulia/optimiser/NameCollector.cpp b/libjulia/optimiser/NameCollector.cpp index 510ee289..c0d0b707 100644 --- a/libjulia/optimiser/NameCollector.cpp +++ b/libjulia/optimiser/NameCollector.cpp @@ -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) diff --git a/libjulia/optimiser/NameCollector.h b/libjulia/optimiser/NameCollector.h index 2d4a1d4b..29856172 100644 --- a/libjulia/optimiser/NameCollector.h +++ b/libjulia/optimiser/NameCollector.h @@ -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; }; /** |