From ab7a22f4a0d95faacf453b76415eaee167aacdec Mon Sep 17 00:00:00 2001 From: chriseth Date: Mon, 6 Jun 2016 19:36:19 +0200 Subject: Disallow implementation of abstract function by constructor of derived class. --- libsolidity/codegen/ContractCompiler.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libsolidity/codegen') diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp index 3623046e..bcfd33f2 100644 --- a/libsolidity/codegen/ContractCompiler.cpp +++ b/libsolidity/codegen/ContractCompiler.cpp @@ -776,7 +776,10 @@ void ContractCompiler::appendModifierOrFunctionCode() { solAssert(m_currentFunction, ""); if (m_modifierDepth >= m_currentFunction->modifiers().size()) + { + solAssert(m_currentFunction->isImplemented(), ""); m_currentFunction->body().accept(*this); + } else { ASTPointer const& modifierInvocation = m_currentFunction->modifiers()[m_modifierDepth]; -- cgit v1.2.3