Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index c7093a817bfc46bb939701f7a63497de22a1261d..529b9d73d71c5d285d8178ec82a50356a1de0c34 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1627,9 +1627,14 @@ class JSObject: public JSReceiver { |
| String* name, |
| bool continue_search); |
| + static void DefineAccessor(Handle<JSObject> object, |
| + Handle<String> name, |
| + Handle<Object> getter, |
| + Handle<Object> setter, |
| + PropertyAttributes attributes); |
| MUST_USE_RESULT MaybeObject* DefineAccessor(String* name, |
| - AccessorComponent component, |
| - Object* fun, |
| + Object* getter, |
| + Object* setter, |
| PropertyAttributes attributes); |
| Object* LookupAccessor(String* name, AccessorComponent component); |
| @@ -2178,13 +2183,13 @@ class JSObject: public JSReceiver { |
| PropertyAttributes attributes); |
| MUST_USE_RESULT MaybeObject* DefineElementAccessor( |
| uint32_t index, |
| - AccessorComponent component, |
| - Object* fun, |
| + Object* getter, |
| + Object* setter, |
| PropertyAttributes attributes); |
| MUST_USE_RESULT MaybeObject* DefinePropertyAccessor( |
| String* name, |
| - AccessorComponent component, |
| - Object* fun, |
| + Object* getter, |
| + Object* setter, |
| PropertyAttributes attributes); |
| void LookupInDescriptor(String* name, LookupResult* result); |
| @@ -8045,23 +8050,15 @@ class AccessorPair: public Struct { |
| MUST_USE_RESULT MaybeObject* CopyWithoutTransitions(); |
| - Object* get(AccessorComponent component) { |
| - ASSERT(component == ACCESSOR_GETTER || component == ACCESSOR_SETTER); |
| - return (component == ACCESSOR_GETTER) ? getter() : setter(); |
| - } |
| + // Getter for a component, returns undefined instead of the hole. |
| + Object* SafeGet(AccessorComponent component); |
|
Michael Starzinger
2012/03/21 12:33:08
Since there is no "unsafe" version anymore, can we
Sven Panne
2012/03/21 13:14:18
I think I'll go for GetComponent, sounds like the
|
| - void set(AccessorComponent component, Object* value) { |
| - ASSERT(component == ACCESSOR_GETTER || component == ACCESSOR_SETTER); |
| - if (component == ACCESSOR_GETTER) { |
| - set_getter(value); |
| - } else { |
| - set_setter(value); |
| - } |
| + // Set both components, skipping arguments which are a JavaScript null. |
| + void SetComponents(Object* getter, Object* setter) { |
| + if (!getter->IsNull()) set_getter(getter); |
| + if (!setter->IsNull()) set_setter(setter); |
| } |
| - // Same as get, but returns undefined instead of the hole. |
| - Object* SafeGet(AccessorComponent component); |
| - |
| bool ContainsAccessor() { |
| return IsJSAccessor(getter()) || IsJSAccessor(setter()); |
| } |