diff options
author | chriseth <chris@ethereum.org> | 2017-07-06 01:45:12 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2017-07-06 03:15:00 +0800 |
commit | 0400e61e284bd595384d859752d97993b1f5ca45 (patch) | |
tree | 81d1fbebb3b698fb49970e63a8c04029fc10d56a /libsolidity/analysis | |
parent | 4bde6fa96122a308296e00dfb32da25905c5ef34 (diff) | |
download | dexon-solidity-0400e61e284bd595384d859752d97993b1f5ca45.tar.gz dexon-solidity-0400e61e284bd595384d859752d97993b1f5ca45.tar.zst dexon-solidity-0400e61e284bd595384d859752d97993b1f5ca45.zip |
Deprecate throw.
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r-- | libsolidity/analysis/SyntaxChecker.cpp | 10 | ||||
-rw-r--r-- | libsolidity/analysis/SyntaxChecker.h | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libsolidity/analysis/SyntaxChecker.cpp b/libsolidity/analysis/SyntaxChecker.cpp index 02e2fdcf..bde0e616 100644 --- a/libsolidity/analysis/SyntaxChecker.cpp +++ b/libsolidity/analysis/SyntaxChecker.cpp @@ -135,6 +135,16 @@ bool SyntaxChecker::visit(Break const& _breakStatement) return true; } +bool SyntaxChecker::visit(Throw const& _throwStatement) +{ + m_errorReporter.warning( + _throwStatement.location(), + "\"throw\" is deprecated in favour of \"revert()\", \"require()\" and \"assert()\"." + ); + + return true; +} + bool SyntaxChecker::visit(UnaryOperation const& _operation) { if (_operation.getOperator() == Token::Add) diff --git a/libsolidity/analysis/SyntaxChecker.h b/libsolidity/analysis/SyntaxChecker.h index ec6ac434..fb5cc6d7 100644 --- a/libsolidity/analysis/SyntaxChecker.h +++ b/libsolidity/analysis/SyntaxChecker.h @@ -33,6 +33,7 @@ namespace solidity * - whether continue/break is in a for/while loop. * - whether a modifier contains at least one '_' * - issues deprecation warnings for unary '+' + * - issues deprecation warning for throw */ class SyntaxChecker: private ASTConstVisitor { @@ -59,6 +60,8 @@ private: virtual bool visit(Continue const& _continueStatement) override; virtual bool visit(Break const& _breakStatement) override; + virtual bool visit(Throw const& _throwStatement) override; + virtual bool visit(UnaryOperation const& _operation) override; virtual bool visit(PlaceholderStatement const& _placeholderStatement) override; |