diff options
author | Christian <c@ethdev.com> | 2015-01-23 09:46:31 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2015-01-26 17:23:39 +0800 |
commit | fd5899d03806d82e228da12f8cbe151f079ea41f (patch) | |
tree | f839426ef2d921062ac8206ced3089acd318496a /CompilerContext.cpp | |
parent | 7ded95c776717cf96e96dffb7425c86b47ad8b0e (diff) | |
download | dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar.gz dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar.bz2 dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar.lz dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar.xz dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.tar.zst dexon-solidity-fd5899d03806d82e228da12f8cbe151f079ea41f.zip |
Modifier overrides and callgraph analysis.
Diffstat (limited to 'CompilerContext.cpp')
-rw-r--r-- | CompilerContext.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/CompilerContext.cpp b/CompilerContext.cpp index 96d1840e..ad1877ba 100644 --- a/CompilerContext.cpp +++ b/CompilerContext.cpp @@ -66,6 +66,11 @@ void CompilerContext::addFunction(FunctionDefinition const& _function) m_virtualFunctionEntryLabels.insert(make_pair(_function.getName(), tag)); } +void CompilerContext::addModifier(ModifierDefinition const& _modifier) +{ + m_functionModifiers.insert(make_pair(_modifier.getName(), &_modifier)); +} + bytes const& CompilerContext::getCompiledContract(const ContractDefinition& _contract) const { auto ret = m_compiledContracts.find(&_contract); @@ -92,6 +97,13 @@ eth::AssemblyItem CompilerContext::getVirtualFunctionEntryLabel(FunctionDefiniti return res->second.tag(); } +ModifierDefinition const& CompilerContext::getFunctionModifier(string const& _name) const +{ + auto res = m_functionModifiers.find(_name); + solAssert(res != m_functionModifiers.end(), "Function modifier override not found."); + return *res->second; +} + unsigned CompilerContext::getBaseStackOffsetOfVariable(Declaration const& _declaration) const { auto res = m_localVariables.find(&_declaration); |