diff options
author | Gav Wood <i@gavwood.com> | 2015-01-27 07:02:06 +0800 |
---|---|---|
committer | Gav Wood <i@gavwood.com> | 2015-01-27 07:02:06 +0800 |
commit | 8dbdaa79e37619fc79b7111b12d5385f140fd1a1 (patch) | |
tree | 340678643ca5d2394533df2eb168393f970b009e /CallGraph.h | |
parent | 6e33b8cce1a7e4881f207e73fc366df1929de5c3 (diff) | |
parent | 8d09d8deb75a28b43a493d8afee5e743a3b201bb (diff) | |
download | dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar.gz dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar.bz2 dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar.lz dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar.xz dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.tar.zst dexon-solidity-8dbdaa79e37619fc79b7111b12d5385f140fd1a1.zip |
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Diffstat (limited to 'CallGraph.h')
-rw-r--r-- | CallGraph.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/CallGraph.h b/CallGraph.h index 90176e7e..9af5cdf9 100644 --- a/CallGraph.h +++ b/CallGraph.h @@ -39,9 +39,13 @@ namespace solidity class CallGraph: private ASTConstVisitor { public: - using OverrideResolver = std::function<FunctionDefinition const*(std::string const&)>; + using FunctionOverrideResolver = std::function<FunctionDefinition const*(std::string const&)>; + using ModifierOverrideResolver = std::function<ModifierDefinition const*(std::string const&)>; - CallGraph(OverrideResolver const& _overrideResolver): m_overrideResolver(&_overrideResolver) {} + CallGraph(FunctionOverrideResolver const& _functionOverrideResolver, + ModifierOverrideResolver const& _modifierOverrideResolver): + m_functionOverrideResolver(&_functionOverrideResolver), + m_modifierOverrideResolver(&_modifierOverrideResolver) {} void addNode(ASTNode const& _node); @@ -53,11 +57,12 @@ private: virtual bool visit(MemberAccess const& _memberAccess) override; void computeCallGraph(); - void addFunction(FunctionDefinition const& _function); - OverrideResolver const* m_overrideResolver; + FunctionOverrideResolver const* m_functionOverrideResolver; + ModifierOverrideResolver const* m_modifierOverrideResolver; + std::set<ASTNode const*> m_nodesSeen; std::set<FunctionDefinition const*> m_functionsSeen; - std::queue<FunctionDefinition const*> m_workQueue; + std::queue<ASTNode const*> m_workQueue; }; } |