diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2016-05-09 15:09:09 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2016-05-10 17:10:33 +0200 |
commit | 2c75a6b39f21361b9813207a11662d9d41cf6a60 (patch) | |
tree | 40e5e19c82a97cdd2832734abd8a9521b5ab7f16 /doc | |
parent | f644368e7c6930620a32ffc6e1381d98bc1b3784 (diff) | |
download | android-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.md | 26 |
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); } |