diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-09-23 19:24:33 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-10-03 13:43:42 -0700 |
commit | d527dde3600655eae7ce0ba5da9263ec4560cd11 (patch) | |
tree | cb9186b8b85a696ec7f916f40fcec935ba86fdc9 /src/node_file.cc | |
parent | 2ebdba12297348649620e3d302b156c149d85a6e (diff) | |
download | android-node-v8-d527dde3600655eae7ce0ba5da9263ec4560cd11.tar.gz android-node-v8-d527dde3600655eae7ce0ba5da9263ec4560cd11.tar.bz2 android-node-v8-d527dde3600655eae7ce0ba5da9263ec4560cd11.zip |
src: use JS inheritance for `AsyncWrap`
For all classes descending from `AsyncWrap`, use JS inheritance
instead of manually adding methods to the individual classes.
This allows cleanup of some code around transferring handles
over IPC.
PR-URL: https://github.com/nodejs/node/pull/23094
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_file.cc')
-rw-r--r-- | src/node_file.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/node_file.cc b/src/node_file.cc index 6a71ef1124..f4f5b263a6 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -2250,7 +2250,7 @@ void Initialize(Local<Object> target, // Create FunctionTemplate for FSReqCallback Local<FunctionTemplate> fst = env->NewFunctionTemplate(NewFSReqCallback); fst->InstanceTemplate()->SetInternalFieldCount(1); - AsyncWrap::AddWrapMethods(env, fst); + fst->Inherit(AsyncWrap::GetConstructorTemplate(env)); Local<String> wrapString = FIXED_ONE_BYTE_STRING(isolate, "FSReqCallback"); fst->SetClassName(wrapString); @@ -2263,7 +2263,7 @@ void Initialize(Local<Object> target, // to do anything in the constructor, so we only store the instance template. Local<FunctionTemplate> fh_rw = FunctionTemplate::New(isolate); fh_rw->InstanceTemplate()->SetInternalFieldCount(1); - AsyncWrap::AddWrapMethods(env, fh_rw); + fh_rw->Inherit(AsyncWrap::GetConstructorTemplate(env)); Local<String> fhWrapString = FIXED_ONE_BYTE_STRING(isolate, "FileHandleReqWrap"); fh_rw->SetClassName(fhWrapString); @@ -2272,7 +2272,7 @@ void Initialize(Local<Object> target, // Create Function Template for FSReqPromise Local<FunctionTemplate> fpt = FunctionTemplate::New(isolate); - AsyncWrap::AddWrapMethods(env, fpt); + fpt->Inherit(AsyncWrap::GetConstructorTemplate(env)); Local<String> promiseString = FIXED_ONE_BYTE_STRING(isolate, "FSReqPromise"); fpt->SetClassName(promiseString); @@ -2282,7 +2282,7 @@ void Initialize(Local<Object> target, // Create FunctionTemplate for FileHandle Local<FunctionTemplate> fd = env->NewFunctionTemplate(FileHandle::New); - AsyncWrap::AddWrapMethods(env, fd); + fd->Inherit(AsyncWrap::GetConstructorTemplate(env)); env->SetProtoMethod(fd, "close", FileHandle::Close); env->SetProtoMethod(fd, "releaseFD", FileHandle::ReleaseFD); Local<ObjectTemplate> fdt = fd->InstanceTemplate(); @@ -2301,7 +2301,7 @@ void Initialize(Local<Object> target, Local<FunctionTemplate> fdclose = FunctionTemplate::New(isolate); fdclose->SetClassName(FIXED_ONE_BYTE_STRING(isolate, "FileHandleCloseReq")); - AsyncWrap::AddWrapMethods(env, fdclose); + fdclose->Inherit(AsyncWrap::GetConstructorTemplate(env)); Local<ObjectTemplate> fdcloset = fdclose->InstanceTemplate(); fdcloset->SetInternalFieldCount(1); env->set_fdclose_constructor_template(fdcloset); |