From ce0cef7cbc2bc4d242726bdf3211770bd94b7644 Mon Sep 17 00:00:00 2001 From: Alexander Arlt Date: Fri, 8 Nov 2019 12:06:40 -0500 Subject: [PATCH] Output which functions are not implemented --- libsolidity/analysis/ContractLevelChecker.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libsolidity/analysis/ContractLevelChecker.cpp b/libsolidity/analysis/ContractLevelChecker.cpp index be4eca4b6..6755d0c85 100644 --- a/libsolidity/analysis/ContractLevelChecker.cpp +++ b/libsolidity/analysis/ContractLevelChecker.cpp @@ -424,10 +424,14 @@ void ContractLevelChecker::checkAbstractFunctions(ContractDefinition const& _con !_contract.abstract() && !_contract.annotation().unimplementedFunctions.empty() ) - m_errorReporter.typeError( - _contract.location(), - "Contract \"" + _contract.annotation().canonicalName + "\" should be marked as abstract." - ); + { + SecondarySourceLocation ssl; + for (auto function: _contract.annotation().unimplementedFunctions) + ssl.append("Missing implementation:", function->location()); + m_errorReporter.typeError(_contract.location(), ssl, + "Contract \"" + _contract.annotation().canonicalName + + "\" should be marked as abstract."); + } }