Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 94af73b0ab8b11ebcdde69bc1781b05e6dd77350..2e346260975286808fdc0ddb0047e0e4b6604581 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1843,6 +1843,7 @@ class JSReceiver: public HeapObject { |
Handle<Object> key, PropertyDescriptor* desc, |
ShouldThrow should_throw); |
+ // ES6 9.1.6.1 |
static bool OrdinaryDefineOwnProperty(Isolate* isolate, |
Handle<JSObject> object, |
Handle<Object> key, |
@@ -1851,6 +1852,18 @@ class JSReceiver: public HeapObject { |
static bool OrdinaryDefineOwnProperty(LookupIterator* it, |
PropertyDescriptor* desc, |
ShouldThrow should_throw); |
+ // ES6 9.1.6.2 |
+ static bool IsCompatiblePropertyDescriptor(bool extensible, |
+ PropertyDescriptor* desc, |
+ PropertyDescriptor* current, |
+ Handle<Name> property_name); |
+ // ES6 9.1.6.3 |
+ // |it| can be NULL in cases where the ES spec passes |undefined| as the |
+ // receiver. Exactly one of |it| and |property_name| must be provided. |
+ static bool ValidateAndApplyPropertyDescriptor( |
+ LookupIterator* it, bool extensible, PropertyDescriptor* desc, |
+ PropertyDescriptor* current, ShouldThrow should_throw, |
+ Handle<Name> property_name = Handle<Name>()); |
static bool GetOwnPropertyDescriptor(Isolate* isolate, |
Handle<JSReceiver> object, |