From 83e8fdecc545744f894d9f3b71647aafba1579b3 Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Tue, 18 Oct 2016 13:01:22 +0200 Subject: ast: ContractDefinition::inheritableMembers contains enums as well as structs This fixes #1131 --- libsolidity/ast/AST.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libsolidity/ast/AST.cpp') diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp index cca19a4e..21c65c7b 100644 --- a/libsolidity/ast/AST.cpp +++ b/libsolidity/ast/AST.cpp @@ -204,6 +204,9 @@ vector const& ContractDefinition::inheritableMembers() const for (StructDefinition const* s: definedStructs()) addInheritableMember(s); + + for (EnumDefinition const* e: definedEnums()) + addInheritableMember(e); } return *m_inheritableMembers; } -- cgit v1.2.3 From 9d9380d30ededcd29ad31c93f857ec7fa149f4a3 Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Fri, 21 Oct 2016 12:14:24 +0200 Subject: ast: add a null check --- libsolidity/ast/AST.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'libsolidity/ast/AST.cpp') diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp index 21c65c7b..695d9881 100644 --- a/libsolidity/ast/AST.cpp +++ b/libsolidity/ast/AST.cpp @@ -189,6 +189,7 @@ vector const& ContractDefinition::inheritableMembers() const m_inheritableMembers.reset(new vector()); auto addInheritableMember = [&](Declaration const* _decl) { + solAssert(_decl, "addInheritableMember got a nullpointer."); if (memberSeen.count(_decl->name()) == 0 && _decl->isVisibleInDerivedContracts()) { memberSeen.insert(_decl->name()); -- cgit v1.2.3