@@ -60,19 +60,15 @@ Factory<v8::Context>::New( v8::ExtensionConfiguration* extensions
6060 (V8_MAJOR_VERSION == 4 && defined (V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3 ))
6161Factory<v8::Date>::return_t
6262Factory<v8::Date>::New(double value) {
63- v8::Local<v8::Date> ret;
64- if (v8::Date::New (GetCurrentContext (), value).
65- ToLocal (reinterpret_cast <v8::Local<v8::Value>*>(&ret))) {
66- return v8::MaybeLocal<v8::Date>(ret);
67- } else {
68- return v8::MaybeLocal<v8::Date>(ret);
69- }
63+ v8::Isolate *isolate = v8::Isolate::GetCurrent ();
64+ v8::EscapableHandleScope scope (isolate);
65+ return scope.Escape (v8::Date::New (isolate->GetCurrentContext (), value)
66+ .FromMaybe (v8::Local<v8::Value>()).As <v8::Date>());
7067}
7168#else
7269Factory<v8::Date>::return_t
7370Factory<v8::Date>::New(double value) {
74- return Factory<v8::Date>::return_t (
75- v8::Date::New (v8::Isolate::GetCurrent (), value).As <v8::Date>());
71+ return v8::Date::New (v8::Isolate::GetCurrent (), value).As <v8::Date>();
7672}
7773#endif
7874
@@ -203,14 +199,18 @@ Factory<v8::RegExp>::return_t
203199Factory<v8::RegExp>::New(
204200 v8::Local<v8::String> pattern
205201 , v8::RegExp::Flags flags) {
206- return v8::RegExp::New (GetCurrentContext (), pattern, flags);
202+ v8::Isolate *isolate = v8::Isolate::GetCurrent ();
203+ v8::EscapableHandleScope scope (isolate);
204+ return scope.Escape (
205+ v8::RegExp::New (isolate->GetCurrentContext (), pattern, flags)
206+ .FromMaybe (v8::Local<v8::RegExp>()));
207207}
208208#else
209209Factory<v8::RegExp>::return_t
210210Factory<v8::RegExp>::New(
211211 v8::Local<v8::String> pattern
212212 , v8::RegExp::Flags flags) {
213- return Factory< v8::RegExp>:: return_t ( v8::RegExp:: New (pattern, flags) );
213+ return v8::RegExp:: New (pattern, flags);
214214}
215215#endif
216216
@@ -220,30 +220,36 @@ Factory<v8::RegExp>::New(
220220 (V8_MAJOR_VERSION == 4 && defined (V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3 ))
221221Factory<v8::Script>::return_t
222222Factory<v8::Script>::New( v8::Local<v8::String> source) {
223+ v8::Isolate *isolate = v8::Isolate::GetCurrent ();
224+ v8::EscapableHandleScope scope (isolate);
223225 v8::ScriptCompiler::Source src (source);
224- return v8::ScriptCompiler::Compile (GetCurrentContext (), &src);
226+ return scope.Escape (
227+ v8::ScriptCompiler::Compile (isolate->GetCurrentContext (), &src)
228+ .FromMaybe (v8::Local<v8::Script>()));
225229}
226230
227231Factory<v8::Script>::return_t
228232Factory<v8::Script>::New( v8::Local<v8::String> source
229233 , v8::ScriptOrigin const & origin) {
234+ v8::Isolate *isolate = v8::Isolate::GetCurrent ();
235+ v8::EscapableHandleScope scope (isolate);
230236 v8::ScriptCompiler::Source src (source, origin);
231- return v8::ScriptCompiler::Compile (GetCurrentContext (), &src);
237+ return scope.Escape (
238+ v8::ScriptCompiler::Compile (isolate->GetCurrentContext (), &src)
239+ .FromMaybe (v8::Local<v8::Script>()));
232240}
233241#else
234242Factory<v8::Script>::return_t
235243Factory<v8::Script>::New( v8::Local<v8::String> source) {
236244 v8::ScriptCompiler::Source src (source);
237- return Factory<v8::Script>::return_t (
238- v8::ScriptCompiler::Compile (v8::Isolate::GetCurrent (), &src));
245+ return v8::ScriptCompiler::Compile (v8::Isolate::GetCurrent (), &src);
239246}
240247
241248Factory<v8::Script>::return_t
242249Factory<v8::Script>::New( v8::Local<v8::String> source
243250 , v8::ScriptOrigin const & origin) {
244251 v8::ScriptCompiler::Source src (source, origin);
245- return Factory<v8::Script>::return_t (
246- v8::ScriptCompiler::Compile (v8::Isolate::GetCurrent (), &src));
252+ return v8::ScriptCompiler::Compile (v8::Isolate::GetCurrent (), &src);
247253}
248254#endif
249255
@@ -258,8 +264,7 @@ Factory<v8::Signature>::New(Factory<v8::Signature>::FTH receiver) {
258264
259265Factory<v8::String>::return_t
260266Factory<v8::String>::New() {
261- return Factory<v8::String>::return_t (
262- v8::String::Empty (v8::Isolate::GetCurrent ()));
267+ return v8::String::Empty (v8::Isolate::GetCurrent ());
263268}
264269
265270#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
@@ -295,46 +300,33 @@ Factory<v8::String>::New(ExternalOneByteStringResource * value) {
295300#else
296301Factory<v8::String>::return_t
297302Factory<v8::String>::New(const char * value, int length) {
298- return Factory<v8::String>::return_t (
299- v8::String::NewFromUtf8 (
300- v8::Isolate::GetCurrent ()
301- , value
302- , v8::String::kNormalString
303- , length));
303+ return v8::String::NewFromUtf8 (v8::Isolate::GetCurrent (), value,
304+ v8::String::kNormalString , length);
304305}
305306
306307Factory<v8::String>::return_t
307308Factory<v8::String>::New(
308309 std::string const & value) /* NOLINT(build/include_what_you_use) */ {
309310 assert (value.size () <= INT_MAX && " string too long" );
310- return Factory<v8::String>::return_t (
311- v8::String::NewFromUtf8 (
312- v8::Isolate::GetCurrent ()
313- , value.data ()
314- , v8::String::kNormalString
315- , static_cast <int >(value.size ())));
311+ return v8::String::NewFromUtf8 (v8::Isolate::GetCurrent (), value.data (),
312+ v8::String::kNormalString ,
313+ static_cast <int >(value.size ()));
316314}
317315
318316Factory<v8::String>::return_t
319317Factory<v8::String>::New(const uint16_t * value, int length) {
320- return Factory<v8::String>::return_t (
321- v8::String::NewFromTwoByte (
322- v8::Isolate::GetCurrent ()
323- , value
324- , v8::String::kNormalString
325- , length));
318+ return v8::String::NewFromTwoByte (v8::Isolate::GetCurrent (), value,
319+ v8::String::kNormalString , length);
326320}
327321
328322Factory<v8::String>::return_t
329323Factory<v8::String>::New(v8::String::ExternalStringResource * value) {
330- return Factory<v8::String>::return_t (
331- v8::String::NewExternal (v8::Isolate::GetCurrent (), value));
324+ return v8::String::NewExternal (v8::Isolate::GetCurrent (), value);
332325}
333326
334327Factory<v8::String>::return_t
335328Factory<v8::String>::New(ExternalOneByteStringResource * value) {
336- return Factory<v8::String>::return_t (
337- v8::String::NewExternal (v8::Isolate::GetCurrent (), value));
329+ return v8::String::NewExternal (v8::Isolate::GetCurrent (), value);
338330}
339331#endif
340332
@@ -367,16 +359,14 @@ Factory<v8::UnboundScript>::New( v8::Local<v8::String> source
367359Factory<v8::UnboundScript>::return_t
368360Factory<v8::UnboundScript>::New(v8::Local<v8::String> source) {
369361 v8::ScriptCompiler::Source src (source);
370- return Factory<v8::UnboundScript>::return_t (
371- v8::ScriptCompiler::CompileUnbound (v8::Isolate::GetCurrent (), &src));
362+ return v8::ScriptCompiler::CompileUnbound (v8::Isolate::GetCurrent (), &src);
372363}
373364
374365Factory<v8::UnboundScript>::return_t
375366Factory<v8::UnboundScript>::New( v8::Local<v8::String> source
376367 , v8::ScriptOrigin const & origin) {
377368 v8::ScriptCompiler::Source src (source, origin);
378- return Factory<v8::UnboundScript>::return_t (
379- v8::ScriptCompiler::CompileUnbound (v8::Isolate::GetCurrent (), &src));
369+ return v8::ScriptCompiler::CompileUnbound (v8::Isolate::GetCurrent (), &src);
380370}
381371#endif
382372
0 commit comments