Allow test frameworks to filter out some warnings.

This commit is contained in:
chriseth 2017-09-28 10:59:02 +02:00
parent b921846880
commit 9d8edb46f2
2 changed files with 14 additions and 3 deletions

View File

@ -56,8 +56,18 @@ AnalysisFramework::parseAnalyseAndReturnError(
for (auto const& currentError: m_compiler.errors())
{
solAssert(currentError->comment(), "");
if (currentError->comment()->find("This is a pre-release compiler version") == 0)
continue;
if (currentError->type() == Error::Type::Warning)
{
bool ignoreWarning = false;
for (auto const& filter: m_warningsToFilter)
if (currentError->comment()->find(filter) == 0)
{
ignoreWarning = true;
break;
}
if (ignoreWarning)
continue;
}
if (_reportWarnings || (currentError->type() != Error::Type::Warning))
{

View File

@ -45,7 +45,7 @@ class AnalysisFramework
{
protected:
std::pair<SourceUnit const*, std::shared_ptr<Error const>>
virtual std::pair<SourceUnit const*, std::shared_ptr<Error const>>
parseAnalyseAndReturnError(
std::string const& _source,
bool _reportWarnings = false,
@ -65,6 +65,7 @@ protected:
std::string const& _signature
);
std::vector<std::string> m_warningsToFilter = {"This is a pre-release compiler version"};
dev::solidity::CompilerStack m_compiler;
};