aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2016-10-21 21:29:58 +0800
committerGitHub <noreply@github.com>2016-10-21 21:29:58 +0800
commit3e13e59ff96d92f18b972f10f4ef1da1ef249b32 (patch)
treeaeecfbc9d8be123a1f9789b1254d1a3727a53320 /libsolidity
parent984b8ac1b58309757380101aad644d3b1b30a2cd (diff)
parent4b7fdaa0bd75775d7a17f809c6ac33def5a6b523 (diff)
downloaddexon-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')
-rw-r--r--libsolidity/ast/AST.cpp4
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;
}