| Index: src/ast.h
|
| ===================================================================
|
| --- src/ast.h (revision 4592)
|
| +++ src/ast.h (working copy)
|
| @@ -351,10 +351,7 @@
|
| bool is_target_for_anonymous() const { return type_ == TARGET_FOR_ANONYMOUS; }
|
|
|
| protected:
|
| - BreakableStatement(ZoneStringList* labels, Type type)
|
| - : labels_(labels), type_(type) {
|
| - ASSERT(labels == NULL || labels->length() > 0);
|
| - }
|
| + inline BreakableStatement(ZoneStringList* labels, Type type);
|
|
|
| explicit BreakableStatement(BreakableStatement* other);
|
|
|
| @@ -367,10 +364,7 @@
|
|
|
| class Block: public BreakableStatement {
|
| public:
|
| - Block(ZoneStringList* labels, int capacity, bool is_initializer_block)
|
| - : BreakableStatement(labels, TARGET_FOR_NAMED_ONLY),
|
| - statements_(capacity),
|
| - is_initializer_block_(is_initializer_block) { }
|
| + inline Block(ZoneStringList* labels, int capacity, bool is_initializer_block);
|
|
|
| // Construct a clone initialized from the original block and
|
| // a deep copy of all statements of the original block.
|
| @@ -437,8 +431,7 @@
|
| BreakTarget* continue_target() { return &continue_target_; }
|
|
|
| protected:
|
| - explicit IterationStatement(ZoneStringList* labels)
|
| - : BreakableStatement(labels, TARGET_FOR_ANONYMOUS), body_(NULL) { }
|
| + explicit inline IterationStatement(ZoneStringList* labels);
|
|
|
| // Construct a clone initialized from original and
|
| // a deep copy of the original body.
|
| @@ -456,9 +449,7 @@
|
|
|
| class DoWhileStatement: public IterationStatement {
|
| public:
|
| - explicit DoWhileStatement(ZoneStringList* labels)
|
| - : IterationStatement(labels), cond_(NULL), condition_position_(-1) {
|
| - }
|
| + explicit inline DoWhileStatement(ZoneStringList* labels);
|
|
|
| void Initialize(Expression* cond, Statement* body) {
|
| IterationStatement::Initialize(body);
|
| @@ -482,11 +473,7 @@
|
|
|
| class WhileStatement: public IterationStatement {
|
| public:
|
| - explicit WhileStatement(ZoneStringList* labels)
|
| - : IterationStatement(labels),
|
| - cond_(NULL),
|
| - may_have_function_literal_(true) {
|
| - }
|
| + explicit WhileStatement(ZoneStringList* labels);
|
|
|
| void Initialize(Expression* cond, Statement* body) {
|
| IterationStatement::Initialize(body);
|
| @@ -511,14 +498,7 @@
|
|
|
| class ForStatement: public IterationStatement {
|
| public:
|
| - explicit ForStatement(ZoneStringList* labels)
|
| - : IterationStatement(labels),
|
| - init_(NULL),
|
| - cond_(NULL),
|
| - next_(NULL),
|
| - may_have_function_literal_(true),
|
| - loop_variable_(NULL),
|
| - peel_this_loop_(false) {}
|
| + explicit inline ForStatement(ZoneStringList* labels);
|
|
|
| // Construct a for-statement initialized from another for-statement
|
| // and deep copies of all parts of the original statement.
|
| @@ -574,8 +554,7 @@
|
|
|
| class ForInStatement: public IterationStatement {
|
| public:
|
| - explicit ForInStatement(ZoneStringList* labels)
|
| - : IterationStatement(labels), each_(NULL), enumerable_(NULL) { }
|
| + explicit inline ForInStatement(ZoneStringList* labels);
|
|
|
| void Initialize(Expression* each, Expression* enumerable, Statement* body) {
|
| IterationStatement::Initialize(body);
|
| @@ -691,8 +670,7 @@
|
|
|
| class CaseClause: public ZoneObject {
|
| public:
|
| - CaseClause(Expression* label, ZoneList<Statement*>* statements)
|
| - : label_(label), statements_(statements) { }
|
| + CaseClause(Expression* label, ZoneList<Statement*>* statements);
|
|
|
| bool is_default() const { return label_ == NULL; }
|
| Expression* label() const {
|
| @@ -711,9 +689,7 @@
|
|
|
| class SwitchStatement: public BreakableStatement {
|
| public:
|
| - explicit SwitchStatement(ZoneStringList* labels)
|
| - : BreakableStatement(labels, TARGET_FOR_ANONYMOUS),
|
| - tag_(NULL), cases_(NULL) { }
|
| + explicit inline SwitchStatement(ZoneStringList* labels);
|
|
|
| void Initialize(Expression* tag, ZoneList<CaseClause*>* cases) {
|
| tag_ = tag;
|
|
|