diff options
author | chriseth <chris@ethereum.org> | 2018-02-06 01:02:32 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-02-06 19:38:32 +0800 |
commit | 88a5d152d028d597fd8cd90bd99ee5b7f1388191 (patch) | |
tree | dcb194994bd7fcc3c64132aafaf6330db8f3cedc /libjulia/optimiser/DataFlowAnalyzer.h | |
parent | 773be40c19a2c3b72a5cf743e86e150533e0f25f (diff) | |
download | dexon-solidity-88a5d152d028d597fd8cd90bd99ee5b7f1388191.tar.gz dexon-solidity-88a5d152d028d597fd8cd90bd99ee5b7f1388191.tar.zst dexon-solidity-88a5d152d028d597fd8cd90bd99ee5b7f1388191.zip |
Introduce struct for scopes.
Diffstat (limited to 'libjulia/optimiser/DataFlowAnalyzer.h')
-rw-r--r-- | libjulia/optimiser/DataFlowAnalyzer.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libjulia/optimiser/DataFlowAnalyzer.h b/libjulia/optimiser/DataFlowAnalyzer.h index 16d6e72b..4cb3d4cd 100644 --- a/libjulia/optimiser/DataFlowAnalyzer.h +++ b/libjulia/optimiser/DataFlowAnalyzer.h @@ -69,9 +69,15 @@ protected: std::map<std::string, std::set<std::string>> m_references; /// m_referencedBy[b].contains(a) <=> the current expression assigned to a references b std::map<std::string, std::set<std::string>> m_referencedBy; - /// List of scopes, where each scope is a set of variables and a bool that tells - /// whether it is a function body (true) or not. - std::vector<std::pair<std::set<std::string>, bool>> m_variableScopes; + + struct Scope + { + explicit Scope(bool _isFunction): isFunction(_isFunction) {} + std::set<std::string> variables; + bool isFunction; + }; + /// List of scopes. + std::vector<Scope> m_variableScopes; }; } |