aboutsummaryrefslogtreecommitdiffstats
path: root/CallGraph.h
diff options
context:
space:
mode:
authorGav Wood <i@gavwood.com>2015-01-27 07:02:06 +0800
committerGav Wood <i@gavwood.com>2015-01-27 07:02:06 +0800
commit8dbdaa79e37619fc79b7111b12d5385f140fd1a1 (patch)
tree340678643ca5d2394533df2eb168393f970b009e /CallGraph.h
parent6e33b8cce1a7e4881f207e73fc366df1929de5c3 (diff)
parent8d09d8deb75a28b43a493d8afee5e743a3b201bb (diff)
downloaddexon-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.h15
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;
};
}