diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/SolidityNameAndTypeResolution.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index 961c10b4..c386e2b4 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -72,22 +72,20 @@ parseAnalyseAndReturnError(string const& _source, bool _reportWarnings = false) globalContext->setCurrentContract(*contract); resolver.updateDeclaration(*globalContext->currentThis()); TypeChecker typeChecker; - if (!typeChecker.checkTypeRequirements(*contract)) + bool success = typeChecker.checkTypeRequirements(*contract); + BOOST_CHECK(success || !typeChecker.errors().empty()); + for (auto const& firstError: typeChecker.errors()) { - for (auto const& firstError: typeChecker.errors()) + if (_reportWarnings || !dynamic_pointer_cast<Warning const>(firstError)) { - if (_reportWarnings || !dynamic_pointer_cast<Warning const>(firstError)) - { - err = firstError; - break; - } - else if (_reportWarnings) - { - err = firstError; - break; - } + err = firstError; + break; + } + else if (_reportWarnings) + { + err = firstError; + break; } - break; } } } |