Index: src/accessors.cc |
diff --git a/src/accessors.cc b/src/accessors.cc |
index 8c8fcdd9993a7899043363524cd428a0d4e5c44a..9df63cd86d30c8f02c46785036b83b6cda9a3c3e 100644 |
--- a/src/accessors.cc |
+++ b/src/accessors.cc |
@@ -41,6 +41,21 @@ Handle<AccessorInfo> Accessors::MakeAccessor( |
} |
+Handle<ExecutableAccessorInfo> Accessors::CloneAccessor( |
+ Isolate* isolate, |
+ Handle<ExecutableAccessorInfo> accessor) { |
+ Factory* factory = isolate->factory(); |
+ Handle<ExecutableAccessorInfo> info = factory->NewExecutableAccessorInfo(); |
+ info->set_name(accessor->name()); |
+ info->set_flag(accessor->flag()); |
+ info->set_expected_receiver_type(accessor->expected_receiver_type()); |
+ info->set_getter(accessor->getter()); |
+ info->set_setter(accessor->setter()); |
+ info->set_data(accessor->data()); |
+ return info; |
+} |
+ |
+ |
template <class C> |
static C* FindInstanceOf(Isolate* isolate, Object* obj) { |
for (Object* cur = obj; !cur->IsNull(); cur = cur->GetPrototype(isolate)) { |