| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index d0ea926f2a8c6ad9fd96daf7a05b5d11bdc579b7..f14156f93c6235582325d7894be735c43cb69290 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -259,7 +259,6 @@ class Statement: public AstNode {
|
| Statement() : statement_pos_(RelocInfo::kNoPosition) {}
|
|
|
| bool IsEmpty() { return AsEmptyStatement() != NULL; }
|
| - virtual bool IsJump() const { return false; }
|
|
|
| void set_statement_pos(int statement_pos) { statement_pos_ = statement_pos; }
|
| int statement_pos() const { return statement_pos_; }
|
| @@ -390,7 +389,7 @@ class Expression: public AstNode {
|
|
|
| protected:
|
| explicit Expression(Isolate* isolate)
|
| - : bounds_(Bounds::Unbounded(isolate)),
|
| + : bounds_(Type::None(), Type::Any(), isolate),
|
| id_(GetNextId(isolate)),
|
| test_id_(GetNextId(isolate)) {}
|
| void set_to_boolean_types(byte types) { to_boolean_types_ = types; }
|
| @@ -460,11 +459,6 @@ class Block: public BreakableStatement {
|
| ZoneList<Statement*>* statements() { return &statements_; }
|
| bool is_initializer_block() const { return is_initializer_block_; }
|
|
|
| - virtual bool IsJump() const {
|
| - return !statements_.is_empty() && statements_.last()->IsJump()
|
| - && labels() == NULL; // Good enough as an approximation...
|
| - }
|
| -
|
| Scope* scope() const { return scope_; }
|
| void set_scope(Scope* scope) { scope_ = scope; }
|
|
|
| @@ -1015,7 +1009,6 @@ class ExpressionStatement: public Statement {
|
|
|
| void set_expression(Expression* e) { expression_ = e; }
|
| Expression* expression() const { return expression_; }
|
| - virtual bool IsJump() const { return expression_->IsThrow(); }
|
|
|
| protected:
|
| explicit ExpressionStatement(Expression* expression)
|
| @@ -1026,16 +1019,7 @@ class ExpressionStatement: public Statement {
|
| };
|
|
|
|
|
| -class JumpStatement: public Statement {
|
| - public:
|
| - virtual bool IsJump() const { return true; }
|
| -
|
| - protected:
|
| - JumpStatement() {}
|
| -};
|
| -
|
| -
|
| -class ContinueStatement: public JumpStatement {
|
| +class ContinueStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(ContinueStatement)
|
|
|
| @@ -1050,7 +1034,7 @@ class ContinueStatement: public JumpStatement {
|
| };
|
|
|
|
|
| -class BreakStatement: public JumpStatement {
|
| +class BreakStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(BreakStatement)
|
|
|
| @@ -1065,7 +1049,7 @@ class BreakStatement: public JumpStatement {
|
| };
|
|
|
|
|
| -class ReturnStatement: public JumpStatement {
|
| +class ReturnStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(ReturnStatement)
|
|
|
| @@ -1184,11 +1168,6 @@ class IfStatement: public Statement {
|
| Statement* then_statement() const { return then_statement_; }
|
| Statement* else_statement() const { return else_statement_; }
|
|
|
| - virtual bool IsJump() const {
|
| - return HasThenStatement() && then_statement()->IsJump()
|
| - && HasElseStatement() && else_statement()->IsJump();
|
| - }
|
| -
|
| BailoutId IfId() const { return if_id_; }
|
| BailoutId ThenId() const { return then_id_; }
|
| BailoutId ElseId() const { return else_id_; }
|
|
|