mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #3135 from federicobond/formatter-instance
Convert static SourceReferenceFormatter functions to member ones
This commit is contained in:
@@ -40,12 +40,12 @@ using namespace dev::solidity;
|
||||
|
||||
void dev::julia::test::printErrors(ErrorList const& _errors, Scanner const& _scanner)
|
||||
{
|
||||
SourceReferenceFormatter formatter(cout, [&](std::string const&) -> Scanner const& { return _scanner; });
|
||||
|
||||
for (auto const& error: _errors)
|
||||
SourceReferenceFormatter::printExceptionInformation(
|
||||
cout,
|
||||
formatter.printExceptionInformation(
|
||||
*error,
|
||||
(error->type() == Error::Type::Warning) ? "Warning" : "Error",
|
||||
[&](std::string const&) -> Scanner const& { return _scanner; }
|
||||
(error->type() == Error::Type::Warning) ? "Warning" : "Error"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -136,8 +136,10 @@ BOOST_AUTO_TEST_CASE(non_overlapping_filtered_costs)
|
||||
{
|
||||
BOOST_CHECK_MESSAGE(false, "Source locations should not overlap!");
|
||||
auto scannerFromSource = [&](string const& _sourceName) -> Scanner const& { return m_compiler.scanner(_sourceName); };
|
||||
SourceReferenceFormatter::printSourceLocation(cout, &first->first->location(), scannerFromSource);
|
||||
SourceReferenceFormatter::printSourceLocation(cout, &second->first->location(), scannerFromSource);
|
||||
SourceReferenceFormatter formatter(cout, scannerFromSource);
|
||||
|
||||
formatter.printSourceLocation(&first->first->location());
|
||||
formatter.printSourceLocation(&second->first->location());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,12 +60,13 @@ public:
|
||||
m_compiler.setOptimiserSettings(m_optimize, m_optimizeRuns);
|
||||
if (!m_compiler.compile())
|
||||
{
|
||||
auto scannerFromSourceName = [&](std::string const& _sourceName) -> solidity::Scanner const& { return m_compiler.scanner(_sourceName); };
|
||||
SourceReferenceFormatter formatter(std::cerr, scannerFromSourceName);
|
||||
|
||||
for (auto const& error: m_compiler.errors())
|
||||
SourceReferenceFormatter::printExceptionInformation(
|
||||
std::cerr,
|
||||
formatter.printExceptionInformation(
|
||||
*error,
|
||||
(error->type() == Error::Type::Warning) ? "Warning" : "Error",
|
||||
[&](std::string const& _sourceName) -> solidity::Scanner const& { return m_compiler.scanner(_sourceName); }
|
||||
(error->type() == Error::Type::Warning) ? "Warning" : "Error"
|
||||
);
|
||||
BOOST_ERROR("Compiling contract failed");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user