Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 0882b250ffde424f2f86925d1416c4fa54288f54..fb19e8e09bf98b2b58c048edc7b60f7607070875 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -1447,12 +1447,14 @@ class ObjectLiteralProperty V8_FINAL : public ZoneObject { |
COMPUTED, // Property with computed value (execution time). |
MATERIALIZED_LITERAL, // Property value is a materialized literal. |
GETTER, SETTER, // Property is an accessor function. |
- PROTOTYPE // Property is __proto__. |
+ PROTOTYPE, // Property is __proto__. |
+ COMPUTED_NAME // Property with computed name. |
}; |
- ObjectLiteralProperty(Zone* zone, Literal* key, Expression* value); |
+ ObjectLiteralProperty(Zone* zone, Expression* key, Expression* value, |
+ bool is_computed_name); |
- Literal* key() { return key_; } |
+ Expression* key() { return key_; } |
Expression* value() { return value_; } |
Kind kind() { return kind_; } |
@@ -1470,10 +1472,10 @@ class ObjectLiteralProperty V8_FINAL : public ZoneObject { |
template<class> friend class AstNodeFactory; |
ObjectLiteralProperty(Zone* zone, bool is_getter, FunctionLiteral* value); |
- void set_key(Literal* key) { key_ = key; } |
+ void set_key(Expression* key) { key_ = key; } |
private: |
- Literal* key_; |
+ Expression* key_; |
Expression* value_; |
Kind kind_; |
bool emit_store_; |
@@ -3154,9 +3156,11 @@ class AstNodeFactory V8_FINAL BASE_EMBEDDED { |
VISIT_AND_RETURN(ObjectLiteral, lit) |
} |
- ObjectLiteral::Property* NewObjectLiteralProperty(Literal* key, |
- Expression* value) { |
- return new(zone_) ObjectLiteral::Property(zone_, key, value); |
+ ObjectLiteral::Property* NewObjectLiteralProperty(Expression* key, |
+ Expression* value, |
+ bool is_computed_name) { |
+ return new(zone_) ObjectLiteral::Property(zone_, key, value, |
+ is_computed_name); |
} |
ObjectLiteral::Property* NewObjectLiteralProperty(bool is_getter, |