Skip to content

Commit

Permalink
Get rid of Handles
Browse files Browse the repository at this point in the history
  • Loading branch information
kkoopa committed Jul 20, 2015
1 parent b5b73d6 commit e6c0daf
Show file tree
Hide file tree
Showing 47 changed files with 357 additions and 323 deletions.
246 changes: 151 additions & 95 deletions nan.h

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion nan_callbacks.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ typedef void(*IndexQueryCallback)(
const PropertyCallbackInfo<v8::Integer>&);

namespace imp {
typedef v8::Handle<v8::AccessorSignature> Sig;
typedef v8::Local<v8::AccessorSignature> Sig;

#define X(NAME) \
struct NAME ## Wrapper { \
Expand Down
2 changes: 1 addition & 1 deletion nan_callbacks_12_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class ReturnValue {
}

// Handle setters
template <typename S> inline void Set(const v8::Handle<S> &handle) {
template <typename S> inline void Set(const v8::Local<S> &handle) {
TYPE_CHECK(T, S);
value_.Set(handle);
}
Expand Down
2 changes: 1 addition & 1 deletion nan_callbacks_pre_12_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class ReturnValue {
}

// Handle setters
template <typename S> inline void Set(const v8::Handle<S> &handle) {
template <typename S> inline void Set(const v8::Local<S> &handle) {
TYPE_CHECK(T, S);
value_->Dispose();
*value_ = v8::Persistent<T>::New(handle);
Expand Down
6 changes: 3 additions & 3 deletions nan_converters.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ template<typename T> struct ToFactory;
#define X(TYPE) \
template<> \
struct ToFactory<v8::TYPE> : ToFactoryBase<v8::TYPE> { \
static inline return_t convert(v8::Handle<v8::Value> val); \
static inline return_t convert(v8::Local<v8::Value> val); \
};

X(Boolean)
Expand All @@ -36,7 +36,7 @@ X(Int32)
#define X(TYPE) \
template<> \
struct ToFactory<TYPE> : ValueFactoryBase<TYPE> { \
static inline return_t convert(v8::Handle<v8::Value> val); \
static inline return_t convert(v8::Local<v8::Value> val); \
};

X(bool)
Expand All @@ -50,7 +50,7 @@ X(int32_t)

template<typename T>
NAN_INLINE
typename imp::ToFactory<T>::return_t To(v8::Handle<v8::Value> val) {
typename imp::ToFactory<T>::return_t To(v8::Local<v8::Value> val) {
return imp::ToFactory<T>::convert(val);
}

Expand Down
4 changes: 2 additions & 2 deletions nan_converters_43_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#define X(TYPE) \
imp::ToFactory<v8::TYPE>::return_t \
imp::ToFactory<v8::TYPE>::convert(v8::Handle<v8::Value> val) { \
imp::ToFactory<v8::TYPE>::convert(v8::Local<v8::Value> val) { \
return val->To ## TYPE(GetCurrentContext()); \
}

Expand All @@ -27,7 +27,7 @@ X(Int32)

#define X(TYPE, NAME) \
imp::ToFactory<TYPE>::return_t \
imp::ToFactory<TYPE>::convert(v8::Handle<v8::Value> val) { \
imp::ToFactory<TYPE>::convert(v8::Local<v8::Value> val) { \
return val->NAME ## Value(GetCurrentContext()); \
}

Expand Down
4 changes: 2 additions & 2 deletions nan_converters_pre_43_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#define X(TYPE) \
imp::ToFactory<v8::TYPE>::return_t \
imp::ToFactory<v8::TYPE>::convert(v8::Handle<v8::Value> val) { \
imp::ToFactory<v8::TYPE>::convert(v8::Local<v8::Value> val) { \
return MaybeLocal<v8::TYPE>(val->To ## TYPE()); \
}

Expand All @@ -27,7 +27,7 @@ X(Int32)

#define X(TYPE, NAME) \
imp::ToFactory<TYPE>::return_t \
imp::ToFactory<TYPE>::convert(v8::Handle<v8::Value> val) { \
imp::ToFactory<TYPE>::convert(v8::Local<v8::Value> val) { \
return Just<TYPE>(val->NAME ##Value()); \
}

Expand Down
18 changes: 10 additions & 8 deletions nan_implementation_12_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ Factory<v8::BooleanObject>::New(bool value) {

Factory<v8::Context>::return_t
Factory<v8::Context>::New( v8::ExtensionConfiguration* extensions
, v8::Handle<v8::ObjectTemplate> tmpl
, v8::Handle<v8::Value> obj) {
, v8::Local<v8::ObjectTemplate> tmpl
, v8::Local<v8::Value> obj) {
return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
}

Expand Down Expand Up @@ -82,7 +82,7 @@ Factory<v8::External>::New(void * value) {

Factory<v8::Function>::return_t
Factory<v8::Function>::New( FunctionCallback callback
, v8::Handle<v8::Value> data) {
, v8::Local<v8::Value> data) {
v8::Isolate *isolate = v8::Isolate::GetCurrent();
v8::EscapableHandleScope scope(isolate);
static std::map<FunctionCallback, imp::FunctionWrapper*> cbmap;
Expand Down Expand Up @@ -115,8 +115,8 @@ Factory<v8::Function>::New( FunctionCallback callback

Factory<v8::FunctionTemplate>::return_t
Factory<v8::FunctionTemplate>::New( FunctionCallback callback
, v8::Handle<v8::Value> data
, v8::Handle<v8::Signature> signature) {
, v8::Local<v8::Value> data
, v8::Local<v8::Signature> signature) {
v8::Isolate *isolate = v8::Isolate::GetCurrent();
v8::EscapableHandleScope scope(isolate);
static std::map<FunctionCallback, // NOLINT(build/include_what_you_use)
Expand Down Expand Up @@ -208,14 +208,14 @@ Factory<v8::ObjectTemplate>::New() {
(V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
Factory<v8::RegExp>::return_t
Factory<v8::RegExp>::New(
v8::Handle<v8::String> pattern
v8::Local<v8::String> pattern
, v8::RegExp::Flags flags) {
return v8::RegExp::New(GetCurrentContext(), pattern, flags);
}
#else
Factory<v8::RegExp>::return_t
Factory<v8::RegExp>::New(
v8::Handle<v8::String> pattern
v8::Local<v8::String> pattern
, v8::RegExp::Flags flags) {
return Factory<v8::RegExp>::return_t(v8::RegExp::New(pattern, flags));
}
Expand Down Expand Up @@ -348,7 +348,7 @@ Factory<v8::String>::New(ExternalOneByteStringResource * value) {
//=== String Object ============================================================

Factory<v8::StringObject>::return_t
Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
Factory<v8::StringObject>::New(v8::Local<v8::String> value) {
return v8::StringObject::New(value).As<v8::StringObject>();
}

Expand Down Expand Up @@ -391,10 +391,12 @@ Factory<v8::UnboundScript>::New( v8::Local<v8::String> source

//=== Presistents and Handles ==================================================

#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
template <typename T>
inline v8::Local<T> New(v8::Handle<T> h) {
return v8::Local<T>::New(v8::Isolate::GetCurrent(), h);
}
#endif

template <typename T, typename M>
inline v8::Local<T> New(v8::Persistent<T, M> const& p) {
Expand Down
16 changes: 8 additions & 8 deletions nan_implementation_pre_12_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ Factory<v8::BooleanObject>::New(bool value) {

Factory<v8::Context>::return_t
Factory<v8::Context>::New( v8::ExtensionConfiguration* extensions
, v8::Handle<v8::ObjectTemplate> tmpl
, v8::Handle<v8::Value> obj) {
, v8::Local<v8::ObjectTemplate> tmpl
, v8::Local<v8::Value> obj) {
v8::Persistent<v8::Context> ctx = v8::Context::New(extensions, tmpl, obj);
v8::Local<v8::Context> lctx = v8::Local<v8::Context>::New(ctx);
ctx.Dispose();
Expand All @@ -71,10 +71,10 @@ Factory<v8::External>::New(void * value) {

Factory<v8::Function>::return_t
Factory<v8::Function>::New( FunctionCallback callback
, v8::Handle<v8::Value> data) {
, v8::Local<v8::Value> data) {
return Factory<v8::FunctionTemplate>::New( callback
, data
, v8::Handle<v8::Signature>()
, v8::Local<v8::Signature>()
)->GetFunction();
}

Expand All @@ -83,8 +83,8 @@ Factory<v8::Function>::New( FunctionCallback callback

Factory<v8::FunctionTemplate>::return_t
Factory<v8::FunctionTemplate>::New( FunctionCallback callback
, v8::Handle<v8::Value> data
, v8::Handle<v8::Signature> signature) {
, v8::Local<v8::Value> data
, v8::Local<v8::Signature> signature) {
v8::HandleScope scope;

static std::map<FunctionCallback, // NOLINT(build/include_what_you_use)
Expand Down Expand Up @@ -168,7 +168,7 @@ Factory<v8::ObjectTemplate>::New() {

Factory<v8::RegExp>::return_t
Factory<v8::RegExp>::New(
v8::Handle<v8::String> pattern
v8::Local<v8::String> pattern
, v8::RegExp::Flags flags) {
return Factory<v8::RegExp>::return_t(v8::RegExp::New(pattern, flags));
}
Expand Down Expand Up @@ -231,7 +231,7 @@ Factory<v8::String>::New(v8::String::ExternalAsciiStringResource * value) {
//=== String Object ============================================================

Factory<v8::StringObject>::return_t
Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
Factory<v8::StringObject>::New(v8::Local<v8::String> value) {
return v8::StringObject::New(value).As<v8::StringObject>();
}

Expand Down

0 comments on commit e6c0daf

Please sign in to comment.