@@ -806,17 +806,23 @@ class TryCatch {
806806 , int argc
807807 , v8::Local<v8::Value>* argv) {
808808#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
809- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
810- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
811- target->ToObject ();
809+ v8::Local<v8::Object> target_obj;
810+ if (target->IsUndefined () || target->IsNull ()) {
811+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
812+ } else {
813+ target_obj = target->ToObject ();
814+ }
812815 return New (node::MakeCallback (
813- v8::Isolate::GetCurrent (), target_ , func, argc, argv));
816+ v8::Isolate::GetCurrent (), target_obj , func, argc, argv));
814817#else
815- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
816- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
817- Nan::To<v8::Object>(target).ToLocalChecked ();
818+ v8::Local<v8::Object> target_obj;
819+ if (target->IsUndefined () || target->IsNull ()) {
820+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
821+ } else {
822+ target_obj = Nan::To<v8::Object>(target).ToLocalChecked ();
823+ }
818824 return node::MakeCallback (
819- v8::Isolate::GetCurrent (), target_ , func, argc, argv);
825+ v8::Isolate::GetCurrent (), target_obj , func, argc, argv);
820826#endif
821827 }
822828
@@ -826,17 +832,23 @@ class TryCatch {
826832 , int argc
827833 , v8::Local<v8::Value>* argv) {
828834#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
829- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
830- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
831- target->ToObject ();
835+ v8::Local<v8::Object> target_obj;
836+ if (target->IsUndefined () || target->IsNull ()) {
837+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
838+ } else {
839+ target_obj = target->ToObject ();
840+ }
832841 return New (node::MakeCallback (
833- v8::Isolate::GetCurrent (), target_ , symbol, argc, argv));
842+ v8::Isolate::GetCurrent (), target_obj , symbol, argc, argv));
834843#else
835- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
836- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
837- Nan::To<v8::Object>(target).ToLocalChecked ();
844+ v8::Local<v8::Object> target_obj;
845+ if (target->IsUndefined () || target->IsNull ()) {
846+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
847+ } else {
848+ target_obj = Nan::To<v8::Object>(target).ToLocalChecked ();
849+ }
838850 return node::MakeCallback (
839- v8::Isolate::GetCurrent (), target_ , symbol, argc, argv);
851+ v8::Isolate::GetCurrent (), target_obj , symbol, argc, argv);
840852#endif
841853 }
842854
@@ -846,17 +858,23 @@ class TryCatch {
846858 , int argc
847859 , v8::Local<v8::Value>* argv) {
848860#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
849- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
850- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
851- target->ToObject ();
861+ v8::Local<v8::Object> target_obj;
862+ if (target->IsUndefined () || target->IsNull ()) {
863+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
864+ } else {
865+ target_obj = target->ToObject ();
866+ }
852867 return New (node::MakeCallback (
853- v8::Isolate::GetCurrent (), target_ , method, argc, argv));
868+ v8::Isolate::GetCurrent (), target_obj , method, argc, argv));
854869#else
855- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
856- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
857- Nan::To<v8::Object>(target).ToLocalChecked ();
870+ v8::Local<v8::Object> target_obj;
871+ if (target->IsUndefined () || target->IsNull ()) {
872+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
873+ } else {
874+ target_obj = Nan::To<v8::Object>(target).ToLocalChecked ();
875+ }
858876 return node::MakeCallback (
859- v8::Isolate::GetCurrent (), target_ , method, argc, argv);
877+ v8::Isolate::GetCurrent (), target_obj , method, argc, argv);
860878#endif
861879 }
862880
@@ -1160,32 +1178,41 @@ widenString(std::vector<uint16_t> *ws, const uint8_t *s, int l) {
11601178 , v8::Local<v8::Function> func
11611179 , int argc
11621180 , v8::Local<v8::Value>* argv) {
1163- v8::Local<v8::Object> target_ =
1164- target->IsUndefined () || target->IsNull () ?
1165- v8::Context::GetCurrent ()->Global () : target->ToObject ();
1166- return New (node::MakeCallback (target_, func, argc, argv));
1181+ v8::Local<v8::Object> target_obj;
1182+ if (target->IsUndefined () || target->IsNull ()) {
1183+ target_obj = v8::Context::GetCurrent ()->Global ();
1184+ } else {
1185+ target_obj = target->ToObject ();
1186+ }
1187+ return New (node::MakeCallback (target_obj, func, argc, argv));
11671188 }
11681189
11691190 NAN_INLINE v8::Local<v8::Value> MakeCallback (
11701191 v8::Local<v8::Value> target
11711192 , v8::Local<v8::String> symbol
11721193 , int argc
11731194 , v8::Local<v8::Value>* argv) {
1174- v8::Local<v8::Object> target_ =
1175- target->IsUndefined () || target->IsNull () ?
1176- v8::Context::GetCurrent ()->Global () : target->ToObject ();
1177- return New (node::MakeCallback (target_, symbol, argc, argv));
1195+ v8::Local<v8::Object> target_obj;
1196+ if (target->IsUndefined () || target->IsNull ()) {
1197+ target_obj = v8::Context::GetCurrent ()->Global ();
1198+ } else {
1199+ target_obj = target->ToObject ();
1200+ }
1201+ return New (node::MakeCallback (target_obj, symbol, argc, argv));
11781202 }
11791203
11801204 NAN_INLINE v8::Local<v8::Value> MakeCallback (
11811205 v8::Local<v8::Value> target
11821206 , const char * method
11831207 , int argc
11841208 , v8::Local<v8::Value>* argv) {
1185- v8::Local<v8::Object> target_ =
1186- target->IsUndefined () || target->IsNull () ?
1187- v8::Context::GetCurrent ()->Global () : target->ToObject ();
1188- return New (node::MakeCallback (target_, method, argc, argv));
1209+ v8::Local<v8::Object> target_obj;
1210+ if (target->IsUndefined () || target->IsNull ()) {
1211+ target_obj = v8::Context::GetCurrent ()->Global ();
1212+ } else {
1213+ target_obj = target->ToObject ();
1214+ }
1215+ return New (node::MakeCallback (target_obj, method, argc, argv));
11891216 }
11901217
11911218 NAN_INLINE void FatalException (const TryCatch& try_catch) {
@@ -1469,23 +1496,29 @@ class Callback {
14691496 v8::Local<v8::Function> callback = New (handle)->
14701497 Get (kCallbackIndex ).As <v8::Function>();
14711498# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
1472- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
1473- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
1474- target->ToObject ();
1499+ v8::Local<v8::Object> target_obj;
1500+ if (target->IsUndefined () || target->IsNull ()) {
1501+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
1502+ } else {
1503+ target_obj = target->ToObject ();
1504+ }
14751505 return scope.Escape (New (node::MakeCallback (
14761506 isolate
1477- , target_
1507+ , target_obj
14781508 , callback
14791509 , argc
14801510 , argv
14811511 )));
14821512# else
1483- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
1484- v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global () :
1485- Nan::To<v8::Object>(target).ToLocalChecked ();
1513+ v8::Local<v8::Object> target_obj;
1514+ if (target->IsUndefined () || target->IsNull ()) {
1515+ target_obj = v8::Isolate::GetCurrent ()->GetCurrentContext ()->Global ();
1516+ } else {
1517+ target_obj = Nan::To<v8::Object>(target).ToLocalChecked ();
1518+ }
14861519 return scope.Escape (node::MakeCallback (
14871520 isolate
1488- , target_
1521+ , target_obj
14891522 , callback
14901523 , argc
14911524 , argv
@@ -1498,12 +1531,16 @@ class Callback {
14981531 , v8::Local<v8::Value> argv[]) const {
14991532 EscapableHandleScope scope;
15001533
1501- v8::Local<v8::Object> target_ = target->IsUndefined () || target->IsNull () ?
1502- v8::Context::GetCurrent ()->Global () : target->ToObject ();
1534+ v8::Local<v8::Object> target_obj;
1535+ if (target->IsUndefined () || target->IsNull ()) {
1536+ target_obj = v8::Context::GetCurrent ()->Global ();
1537+ } else {
1538+ target_obj = target->ToObject ();
1539+ }
15031540 v8::Local<v8::Function> callback = New (handle)->
15041541 Get (kCallbackIndex ).As <v8::Function>();
15051542 return scope.Escape (New (node::MakeCallback (
1506- target_
1543+ target_obj
15071544 , callback
15081545 , argc
15091546 , argv
0 commit comments