diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-09-23 20:24:33 +0300 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-10-03 23:43:42 +0300 |
commit | d527dde3600655eae7ce0ba5da9263ec4560cd11 (patch) | |
tree | cb9186b8b85a696ec7f916f40fcec935ba86fdc9 /src/pipe_wrap.cc | |
parent | 2ebdba12297348649620e3d302b156c149d85a6e (diff) |
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/pipe_wrap.cc')
-rw-r--r-- | src/pipe_wrap.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/pipe_wrap.cc b/src/pipe_wrap.cc index f3317ecc8c2..eb1e06876c2 100644 --- a/src/pipe_wrap.cc +++ b/src/pipe_wrap.cc @@ -28,7 +28,6 @@ #include "node.h" #include "node_buffer.h" #include "node_internals.h" -#include "node_wrap.h" #include "connect_wrap.h" #include "stream_base-inl.h" #include "stream_wrap.h" @@ -78,9 +77,7 @@ void PipeWrap::Initialize(Local<Object> target, t->SetClassName(pipeString); t->InstanceTemplate()->SetInternalFieldCount(1); - AsyncWrap::AddWrapMethods(env, t); - HandleWrap::AddWrapMethods(env, t); - LibuvStreamWrap::AddMethods(env, t); + t->Inherit(LibuvStreamWrap::GetConstructorTemplate(env)); env->SetProtoMethod(t, "bind", Bind); env->SetProtoMethod(t, "listen", Listen); @@ -98,7 +95,7 @@ void PipeWrap::Initialize(Local<Object> target, // Create FunctionTemplate for PipeConnectWrap. auto cwt = BaseObject::MakeLazilyInitializedJSTemplate(env); - AsyncWrap::AddWrapMethods(env, cwt); + cwt->Inherit(AsyncWrap::GetConstructorTemplate(env)); Local<String> wrapString = FIXED_ONE_BYTE_STRING(env->isolate(), "PipeConnectWrap"); cwt->SetClassName(wrapString); |