summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2016-05-09 15:09:09 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2016-05-10 17:10:33 +0200
commit2c75a6b39f21361b9813207a11662d9d41cf6a60 (patch)
tree40e5e19c82a97cdd2832734abd8a9521b5ab7f16 /doc
parentf644368e7c6930620a32ffc6e1381d98bc1b3784 (diff)
downloadandroid-node-v8-2c75a6b39f21361b9813207a11662d9d41cf6a60.tar.gz
android-node-v8-2c75a6b39f21361b9813207a11662d9d41cf6a60.tar.bz2
android-node-v8-2c75a6b39f21361b9813207a11662d9d41cf6a60.zip
doc: fix deprecation warnings in addon examples
Use the overload of `v8::Function::NewInstance()` that returns a `v8::MaybeLocal<v8::Object>`. The overloads that return a simple `v8::Local<v8::Object>` are deprecated. PR-URL: https://github.com/nodejs/node/pull/6652 Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'doc')
-rw-r--r--doc/api/addons.md26
1 files changed, 21 insertions, 5 deletions
diff --git a/doc/api/addons.md b/doc/api/addons.md
index 4668bc546f..3dacf88064 100644
--- a/doc/api/addons.md
+++ b/doc/api/addons.md
@@ -549,6 +549,7 @@ prototype:
namespace demo {
+using v8::Context;
using v8::Function;
using v8::FunctionCallbackInfo;
using v8::FunctionTemplate;
@@ -597,8 +598,11 @@ void MyObject::New(const FunctionCallbackInfo<Value>& args) {
// Invoked as plain function `MyObject(...)`, turn into construct call.
const int argc = 1;
Local<Value> argv[argc] = { args[0] };
+ Local<Context> context = isolate->GetCurrentContext();
Local<Function> cons = Local<Function>::New(isolate, constructor);
- args.GetReturnValue().Set(cons->NewInstance(argc, argv));
+ Local<Object> result =
+ cons->NewInstance(context, argc, argv).ToLocalChecked();
+ args.GetReturnValue().Set(result);
}
}
@@ -728,6 +732,7 @@ The implementation in `myobject.cc` is similar to the previous example:
namespace demo {
+using v8::Context;
using v8::Function;
using v8::FunctionCallbackInfo;
using v8::FunctionTemplate;
@@ -773,7 +778,10 @@ void MyObject::New(const FunctionCallbackInfo<Value>& args) {
const int argc = 1;
Local<Value> argv[argc] = { args[0] };
Local<Function> cons = Local<Function>::New(isolate, constructor);
- args.GetReturnValue().Set(cons->NewInstance(argc, argv));
+ Local<Context> context = isolate->GetCurrentContext();
+ Local<Object> instance =
+ cons->NewInstance(context, argc, argv).ToLocalChecked();
+ args.GetReturnValue().Set(instance);
}
}
@@ -783,7 +791,9 @@ void MyObject::NewInstance(const FunctionCallbackInfo<Value>& args) {
const unsigned argc = 1;
Local<Value> argv[argc] = { args[0] };
Local<Function> cons = Local<Function>::New(isolate, constructor);
- Local<Object> instance = cons->NewInstance(argc, argv);
+ Local<Context> context = isolate->GetCurrentContext();
+ Local<Object> instance =
+ cons->NewInstance(context, argc, argv).ToLocalChecked();
args.GetReturnValue().Set(instance);
}
@@ -928,6 +938,7 @@ The implementation of `myobject.cc` is similar to before:
namespace demo {
+using v8::Context;
using v8::Function;
using v8::FunctionCallbackInfo;
using v8::FunctionTemplate;
@@ -968,8 +979,11 @@ void MyObject::New(const FunctionCallbackInfo<Value>& args) {
// Invoked as plain function `MyObject(...)`, turn into construct call.
const int argc = 1;
Local<Value> argv[argc] = { args[0] };
+ Local<Context> context = isolate->GetCurrentContext();
Local<Function> cons = Local<Function>::New(isolate, constructor);
- args.GetReturnValue().Set(cons->NewInstance(argc, argv));
+ Local<Object> instance =
+ cons->NewInstance(context, argc, argv).ToLocalChecked();
+ args.GetReturnValue().Set(instance);
}
}
@@ -979,7 +993,9 @@ void MyObject::NewInstance(const FunctionCallbackInfo<Value>& args) {
const unsigned argc = 1;
Local<Value> argv[argc] = { args[0] };
Local<Function> cons = Local<Function>::New(isolate, constructor);
- Local<Object> instance = cons->NewInstance(argc, argv);
+ Local<Context> context = isolate->GetCurrentContext();
+ Local<Object> instance =
+ cons->NewInstance(context, argc, argv).ToLocalChecked();
args.GetReturnValue().Set(instance);
}