diff options
| author | Gav Wood <i@gavwood.com> | 2015-02-01 00:43:37 +0800 |
|---|---|---|
| committer | Gav Wood <i@gavwood.com> | 2015-02-01 00:43:37 +0800 |
| commit | ef059137437f4d69a0888f52cb8adba975afe14f (patch) | |
| tree | 9a4e5fd39fde5c3732c82efa1439d18056b9002c /AST.cpp | |
| parent | a52da461683280e9abea791c93b7e0035af1cc44 (diff) | |
| parent | bd66ebd7ee4c637c38e3e23ba6e786a66f85b677 (diff) | |
| download | dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar.gz dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar.bz2 dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar.lz dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar.xz dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.tar.zst dexon-solidity-ef059137437f4d69a0888f52cb8adba975afe14f.zip | |
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
libsolidity/InterfaceHandler.cpp
Diffstat (limited to 'AST.cpp')
| -rw-r--r-- | AST.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -152,6 +152,23 @@ void ContractDefinition::checkIllegalOverrides() const } } +std::vector<ASTPointer<EventDefinition>> const& ContractDefinition::getInterfaceEvents() const +{ + if (!m_interfaceEvents) + { + set<string> eventsSeen; + m_interfaceEvents.reset(new std::vector<ASTPointer<EventDefinition>>()); + for (ContractDefinition const* contract: getLinearizedBaseContracts()) + for (ASTPointer<EventDefinition> const& e: contract->getEvents()) + if (eventsSeen.count(e->getName()) == 0) + { + eventsSeen.insert(e->getName()); + m_interfaceEvents->push_back(e); + } + } + return *m_interfaceEvents; +} + vector<pair<FixedHash<4>, FunctionTypePointer>> const& ContractDefinition::getInterfaceFunctionList() const { if (!m_interfaceFunctionList) |
