From b2daa5a9d818f80df0c12e0afedb9ff549bd63d8 Mon Sep 17 00:00:00 2001 From: LianaHus Date: Fri, 15 Jan 2016 17:36:06 +0100 Subject: fixed assert on EI creation for structs containing only mapping or arrays --- libsolidity/analysis/TypeChecker.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'libsolidity/analysis') diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index ab1151a1..e9e76d27 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -292,17 +292,19 @@ void TypeChecker::checkContractExternalTypeClashes(ContractDefinition const& _co if (f->isPartOfExternalInterface()) { auto functionType = make_shared(*f); - externalDeclarations[functionType->externalSignature()].push_back( - make_pair(f, functionType) - ); + if (functionType->interfaceFunctionType()) + externalDeclarations[functionType->externalSignature()].push_back( + make_pair(f, functionType) + ); } for (VariableDeclaration const* v: contract->stateVariables()) if (v->isPartOfExternalInterface()) { auto functionType = make_shared(*v); - externalDeclarations[functionType->externalSignature()].push_back( - make_pair(v, functionType) - ); + if (functionType->interfaceFunctionType()) + externalDeclarations[functionType->externalSignature()].push_back( + make_pair(v, functionType) + ); } } for (auto const& it: externalDeclarations) -- cgit