| Index: src/ast/ast.h
|
| diff --git a/src/ast/ast.h b/src/ast/ast.h
|
| index 7f00955a644fcaeeeca1be192c67a5afa7ec0b70..54b5c4eca782ff616259a0bcce409b46dcf6fa0e 100644
|
| --- a/src/ast/ast.h
|
| +++ b/src/ast/ast.h
|
| @@ -1683,6 +1683,19 @@ class ArrayLiteral final : public MaterializedLiteral {
|
| return flags;
|
| }
|
|
|
| + // Provide a mechanism for iterating through values to rewrite spreads.
|
| + ZoneList<Expression*>::iterator FirstSpread() const {
|
| + return (first_spread_index_ >= 0) ? values_->begin() + first_spread_index_
|
| + : values_->end();
|
| + }
|
| + ZoneList<Expression*>::iterator EndValue() const { return values_->end(); }
|
| +
|
| + // Rewind an array literal omitting everything from the first spread on.
|
| + void RewindSpreads() {
|
| + values_->Rewind(first_spread_index_);
|
| + first_spread_index_ = -1;
|
| + }
|
| +
|
| enum Flags {
|
| kNoFlags = 0,
|
| kShallowElements = 1,
|
|
|