summaryrefslogtreecommitdiff
path: root/src/node_util.cc
diff options
context:
space:
mode:
authorYoshiya Hinosawa <stibium121@gmail.com>2018-11-24 16:38:22 +0900
committerRich Trott <rtrott@gmail.com>2018-11-28 19:13:54 -0800
commit27139fc37c58bb9c344158bfb7276df5bfadae27 (patch)
tree94e4129da4b1427f16fa3bd54d0272e548220674 /src/node_util.cc
parentacfcd78892a696585f6a1c368ca279204d9ee4b4 (diff)
downloadandroid-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.cc30
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.