Turn throw into a syntax error for 0.5.0

This commit is contained in:
Alex Beregszaszi
2018-02-27 02:10:24 +01:00
parent 1f5eb4ba59
commit 5c0d82059f
3 changed files with 23 additions and 5 deletions
+12 -4
View File
@@ -174,10 +174,18 @@ bool SyntaxChecker::visit(Break const& _breakStatement)
bool SyntaxChecker::visit(Throw const& _throwStatement)
{
m_errorReporter.warning(
_throwStatement.location(),
"\"throw\" is deprecated in favour of \"revert()\", \"require()\" and \"assert()\"."
);
bool const v050 = m_sourceUnit->annotation().experimentalFeatures.count(ExperimentalFeature::V050);
if (v050)
m_errorReporter.syntaxError(
_throwStatement.location(),
"\"throw\" is deprecated in favour of \"revert()\", \"require()\" and \"assert()\"."
);
else
m_errorReporter.warning(
_throwStatement.location(),
"\"throw\" is deprecated in favour of \"revert()\", \"require()\" and \"assert()\"."
);
return true;
}