Index: src/api.h |
diff --git a/src/api.h b/src/api.h |
index 0cd16f1f01f4fcc60d9c3deb5c6ad34fe725a326..4a30c7e917bc0bd75bf77046714913af200c78a4 100644 |
--- a/src/api.h |
+++ b/src/api.h |
@@ -259,12 +259,21 @@ v8::internal::Handle<T> v8::internal::Handle<T>::EscapeFrom( |
} |
+class InternalHandleHelper { |
Sven Panne
2013/04/30 07:31:22
Why do we need to stuff this template into a helpe
dcarney
2013/04/30 07:43:21
I made this helper class a friend of Persistent an
|
+ public: |
+ template<class From, class To> |
+ static inline Local<To> Convert(v8::internal::Handle<From> obj) { |
+ return Local<To>(reinterpret_cast<To*>(obj.location())); |
+ } |
+}; |
+ |
+ |
// Implementations of ToLocal |
#define MAKE_TO_LOCAL(Name, From, To) \ |
Local<v8::To> Utils::Name(v8::internal::Handle<v8::internal::From> obj) { \ |
ASSERT(obj.is_null() || !obj->IsTheHole()); \ |
- return Local<To>(reinterpret_cast<To*>(obj.location())); \ |
+ return InternalHandleHelper::Convert<v8::internal::From, v8::To>(obj); \ |
} |
MAKE_TO_LOCAL(ToLocal, Context, Context) |