aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorAnurag Dashputre <anurag4u80@gmail.com>2018-12-02 01:20:56 +0800
committerchriseth <chris@ethereum.org>2018-12-03 19:25:31 +0800
commit82f5763e7afa498f891e9d41b30278c4482ddb8b (patch)
treeffe9d7a020cf8e5bb475d0a283d26d73569fc3e5 /libsolidity/ast
parent4b98946e5a6cbc477ca5c61ca0a0dc8c2d1b27ca (diff)
downloaddexon-solidity-82f5763e7afa498f891e9d41b30278c4482ddb8b.tar.gz
dexon-solidity-82f5763e7afa498f891e9d41b30278c4482ddb8b.tar.zst
dexon-solidity-82f5763e7afa498f891e9d41b30278c4482ddb8b.zip
Fix internal compiler error for unimplemented base contract function.
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/Types.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 16e9cf89..6cadb5f3 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -1943,8 +1943,9 @@ MemberList::MemberMap ContractType::nativeMembers(ContractDefinition const* _con
for (ContractDefinition const* base: bases | boost::adaptors::sliced(1, bases.size()))
for (FunctionDefinition const* function: base->definedFunctions())
{
- if (!function->isVisibleInDerivedContracts())
+ if (!function->isVisibleInDerivedContracts() || !function->isImplemented())
continue;
+
auto functionType = make_shared<FunctionType>(*function, true);
bool functionWithEqualArgumentsFound = false;
for (auto const& member: members)