From ec5b9c2e92959b28d4f7f74245fac0c42ae82314 Mon Sep 17 00:00:00 2001 From: LianaHus Date: Thu, 15 Oct 2015 18:15:52 +0200 Subject: changed the way of reporting error during contract checking --- libsolidity/CompilerStack.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'libsolidity/CompilerStack.cpp') diff --git a/libsolidity/CompilerStack.cpp b/libsolidity/CompilerStack.cpp index 1165d6f6..12e49b58 100644 --- a/libsolidity/CompilerStack.cpp +++ b/libsolidity/CompilerStack.cpp @@ -113,7 +113,6 @@ bool CompilerStack::parse() resolveImports(); m_globalContext = make_shared(); - bool success = true; NameAndTypeResolver resolver(m_globalContext->declarations(), m_errors); for (Source const* source: m_sourceOrder) if (!resolver.registerDeclarations(*source->ast)) @@ -124,17 +123,12 @@ bool CompilerStack::parse() if (ContractDefinition* contract = dynamic_cast(node.get())) { m_globalContext->setCurrentContract(*contract); - success = success && resolver.updateDeclaration(*m_globalContext->currentThis()); - success = success && resolver.updateDeclaration(*m_globalContext->currentSuper()); - success = success && resolver.resolveNamesAndTypes(*contract); + if (!resolver.updateDeclaration(*m_globalContext->currentThis())) return false; + if (!resolver.updateDeclaration(*m_globalContext->currentSuper())) return false; + if (!resolver.resolveNamesAndTypes(*contract)) return false; m_contracts[contract->name()].contract = contract; } - if (!success) - { - m_parseSuccessful = false; - return m_parseSuccessful; - } InterfaceHandler interfaceHandler; bool typesFine = true; for (Source const* source: m_sourceOrder) -- cgit v1.2.3