aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/Assembly.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-05-30 22:45:36 +0800
committerGitHub <noreply@github.com>2017-05-30 22:45:36 +0800
commit254b55728f66ea164e9085700a294ac4837f2029 (patch)
treea4c464d4d40baaa260f071c1028f347bd287e44d /test/libsolidity/Assembly.cpp
parent0066a08aa8f6c469cde7947ec50ca662a32123a0 (diff)
parent89b60ffbd4c2dde26fa5e9f1d750729b5c89373e (diff)
downloaddexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar.gz
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar.bz2
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar.lz
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar.xz
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.tar.zst
dexon-solidity-254b55728f66ea164e9085700a294ac4837f2029.zip
Merge pull request #2264 from roadriverrail/refactor_error_log
Refactor error reporting
Diffstat (limited to 'test/libsolidity/Assembly.cpp')
-rw-r--r--test/libsolidity/Assembly.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/test/libsolidity/Assembly.cpp b/test/libsolidity/Assembly.cpp
index c4ec0d20..e52f4d50 100644
--- a/test/libsolidity/Assembly.cpp
+++ b/test/libsolidity/Assembly.cpp
@@ -31,6 +31,7 @@
#include <libsolidity/codegen/Compiler.h>
#include <libsolidity/ast/AST.h>
#include <libsolidity/analysis/TypeChecker.h>
+#include <libsolidity/interface/ErrorReporter.h>
using namespace std;
using namespace dev::eth;
@@ -48,28 +49,29 @@ namespace
eth::AssemblyItems compileContract(const string& _sourceCode)
{
ErrorList errors;
- Parser parser(errors);
+ ErrorReporter errorReporter(errors);
+ Parser parser(errorReporter);
ASTPointer<SourceUnit> sourceUnit;
BOOST_REQUIRE_NO_THROW(sourceUnit = parser.parse(make_shared<Scanner>(CharStream(_sourceCode))));
BOOST_CHECK(!!sourceUnit);
map<ASTNode const*, shared_ptr<DeclarationContainer>> scopes;
- NameAndTypeResolver resolver({}, scopes, errors);
- solAssert(Error::containsOnlyWarnings(errors), "");
+ NameAndTypeResolver resolver({}, scopes, errorReporter);
+ solAssert(Error::containsOnlyWarnings(errorReporter.errors()), "");
resolver.registerDeclarations(*sourceUnit);
for (ASTPointer<ASTNode> const& node: sourceUnit->nodes())
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
{
BOOST_REQUIRE_NO_THROW(resolver.resolveNamesAndTypes(*contract));
- if (!Error::containsOnlyWarnings(errors))
+ if (!Error::containsOnlyWarnings(errorReporter.errors()))
return AssemblyItems();
}
for (ASTPointer<ASTNode> const& node: sourceUnit->nodes())
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
{
- TypeChecker checker(errors);
+ TypeChecker checker(errorReporter);
BOOST_REQUIRE_NO_THROW(checker.checkTypeRequirements(*contract));
- if (!Error::containsOnlyWarnings(errors))
+ if (!Error::containsOnlyWarnings(errorReporter.errors()))
return AssemblyItems();
}
for (ASTPointer<ASTNode> const& node: sourceUnit->nodes())