diff options
author | chriseth <chris@ethereum.org> | 2016-10-21 21:29:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-21 21:29:58 +0800 |
commit | 3e13e59ff96d92f18b972f10f4ef1da1ef249b32 (patch) | |
tree | aeecfbc9d8be123a1f9789b1254d1a3727a53320 /libsolidity/ast/AST.cpp | |
parent | 984b8ac1b58309757380101aad644d3b1b30a2cd (diff) | |
parent | 4b7fdaa0bd75775d7a17f809c6ac33def5a6b523 (diff) | |
download | dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar.gz dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar.bz2 dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar.lz dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar.xz dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.tar.zst dexon-solidity-3e13e59ff96d92f18b972f10f4ef1da1ef249b32.zip |
Merge pull request #1243 from ethereum/1131
Add enums as inheritable members
Diffstat (limited to 'libsolidity/ast/AST.cpp')
-rw-r--r-- | libsolidity/ast/AST.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp index cca19a4e..695d9881 100644 --- a/libsolidity/ast/AST.cpp +++ b/libsolidity/ast/AST.cpp @@ -189,6 +189,7 @@ vector<Declaration const*> const& ContractDefinition::inheritableMembers() const m_inheritableMembers.reset(new vector<Declaration const*>()); auto addInheritableMember = [&](Declaration const* _decl) { + solAssert(_decl, "addInheritableMember got a nullpointer."); if (memberSeen.count(_decl->name()) == 0 && _decl->isVisibleInDerivedContracts()) { memberSeen.insert(_decl->name()); @@ -204,6 +205,9 @@ vector<Declaration const*> const& ContractDefinition::inheritableMembers() const for (StructDefinition const* s: definedStructs()) addInheritableMember(s); + + for (EnumDefinition const* e: definedEnums()) + addInheritableMember(e); } return *m_inheritableMembers; } |