Update SolidityNameAndTypeResolution to match CompilerStack

This commit is contained in:
Alex Beregszaszi 2017-08-25 15:49:33 +01:00
parent e6f55fb95e
commit 8bc76ecf58

View File

@ -87,16 +87,15 @@ parseAnalyseAndReturnError(string const& _source, bool _reportWarnings = false,
success = false; success = false;
} }
if (success) if (success)
{
TypeChecker typeChecker(errorReporter);
for (ASTPointer<ASTNode> const& node: sourceUnit->nodes()) for (ASTPointer<ASTNode> const& node: sourceUnit->nodes())
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get())) if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
{ {
globalContext->setCurrentContract(*contract);
resolver.updateDeclaration(*globalContext->currentThis());
TypeChecker typeChecker(errorReporter);
bool success = typeChecker.checkTypeRequirements(*contract); bool success = typeChecker.checkTypeRequirements(*contract);
BOOST_CHECK(success || !errorReporter.errors().empty()); BOOST_CHECK(success || !errorReporter.errors().empty());
} }
}
if (success) if (success)
if (!PostTypeChecker(errorReporter).check(*sourceUnit)) if (!PostTypeChecker(errorReporter).check(*sourceUnit))
success = false; success = false;