diff options
author | Yoshiya Hinosawa <stibium121@gmail.com> | 2018-11-24 16:38:22 +0900 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2018-11-28 19:13:54 -0800 |
commit | 27139fc37c58bb9c344158bfb7276df5bfadae27 (patch) | |
tree | 94e4129da4b1427f16fa3bd54d0272e548220674 /src/node_util.cc | |
parent | acfcd78892a696585f6a1c368ca279204d9ee4b4 (diff) | |
download | android-node-v8-27139fc37c58bb9c344158bfb7276df5bfadae27.tar.gz android-node-v8-27139fc37c58bb9c344158bfb7276df5bfadae27.tar.bz2 android-node-v8-27139fc37c58bb9c344158bfb7276df5bfadae27.zip |
src: migrate to new V8 array API
This change migrates the deprecated V8 Array API to new APIs.
PR-URL: https://github.com/nodejs/node/pull/24613
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Diffstat (limited to 'src/node_util.cc')
-rw-r--r-- | src/node_util.cc | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/node_util.cc b/src/node_util.cc index 1a08c0e255..496b6cbbcb 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -64,13 +64,13 @@ static void GetPromiseDetails(const FunctionCallbackInfo<Value>& args) { auto isolate = args.GetIsolate(); Local<Promise> promise = args[0].As<Promise>(); - Local<Array> ret = Array::New(isolate, 2); int state = promise->State(); - ret->Set(env->context(), 0, Integer::New(isolate, state)).FromJust(); + Local<Value> values[2] = { Integer::New(isolate, state) }; + size_t number_of_values = 1; if (state != Promise::PromiseState::kPending) - ret->Set(env->context(), 1, promise->Result()).FromJust(); - + values[number_of_values++] = promise->Result(); + Local<Array> ret = Array::New(isolate, values, number_of_values); args.GetReturnValue().Set(ret); } @@ -82,11 +82,13 @@ static void GetProxyDetails(const FunctionCallbackInfo<Value>& args) { Local<Proxy> proxy = args[0].As<Proxy>(); - Local<Array> ret = Array::New(args.GetIsolate(), 2); - ret->Set(env->context(), 0, proxy->GetTarget()).FromJust(); - ret->Set(env->context(), 1, proxy->GetHandler()).FromJust(); + Local<Value> ret[] = { + proxy->GetTarget(), + proxy->GetHandler() + }; - args.GetReturnValue().Set(ret); + args.GetReturnValue().Set( + Array::New(args.GetIsolate(), ret, arraysize(ret))); } static void PreviewEntries(const FunctionCallbackInfo<Value>& args) { @@ -101,11 +103,13 @@ static void PreviewEntries(const FunctionCallbackInfo<Value>& args) { // Fast path for WeakMap, WeakSet and Set iterators. if (args.Length() == 1) return args.GetReturnValue().Set(entries); - Local<Array> ret = Array::New(env->isolate(), 2); - ret->Set(env->context(), 0, entries).FromJust(); - ret->Set(env->context(), 1, Boolean::New(env->isolate(), is_key_value)) - .FromJust(); - return args.GetReturnValue().Set(ret); + + Local<Value> ret[] = { + entries, + Boolean::New(env->isolate(), is_key_value) + }; + return args.GetReturnValue().Set( + Array::New(env->isolate(), ret, arraysize(ret))); } // Side effect-free stringification that will never throw exceptions. |