diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2018-02-06 22:40:41 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 22:40:41 +0800 |
commit | d786d652434d2010d9af4ef0bf0aa1fdb15c80e8 (patch) | |
tree | 83a1ce096f9cac08e40c96cef5af222b74c9b8bf /libjulia/optimiser/NameCollector.h | |
parent | 6b917eb528fcbcbb11e81810c8f6bd4d554f21e1 (diff) | |
parent | c0abddc9dcbf1f0437ac04119a0c8c238fad44c8 (diff) | |
download | dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar.gz dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar.bz2 dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar.lz dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar.xz dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.tar.zst dexon-solidity-d786d652434d2010d9af4ef0bf0aa1fdb15c80e8.zip |
Merge pull request #3332 from ethereum/elimination_descirption
Rematerialisation step.
Diffstat (limited to 'libjulia/optimiser/NameCollector.h')
-rw-r--r-- | libjulia/optimiser/NameCollector.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libjulia/optimiser/NameCollector.h b/libjulia/optimiser/NameCollector.h index 7fe386f7..2d4a1d4b 100644 --- a/libjulia/optimiser/NameCollector.h +++ b/libjulia/optimiser/NameCollector.h @@ -66,5 +66,19 @@ private: std::map<std::string, size_t> m_references; }; +/** + * Specific AST walker that finds all variables that are assigned to. + */ +class Assignments: public ASTWalker +{ +public: + using ASTWalker::operator (); + virtual void operator()(Assignment const& _assignment) override; + + std::set<std::string> const& names() const { return m_names; } +private: + std::set<std::string> m_names; +}; + } } |