@@ -344,7 +344,8 @@ class ArrayBufferReference final : public Reference {
344
344
explicit ArrayBufferReference (napi_env env,
345
345
v8::Local<v8::ArrayBuffer> value,
346
346
Args&&... args)
347
- : Reference(env, value, std::forward<Args>(args)...) {}
347
+ : Reference(env, value, std::forward<Args>(args)...),
348
+ _env(env) {}
348
349
349
350
template <typename ... Args>
350
351
static ArrayBufferReference* New (napi_env env,
@@ -354,18 +355,18 @@ class ArrayBufferReference final : public Reference {
354
355
}
355
356
356
357
private:
357
- inline void Finalize ( bool is_env_teardown) override {
358
- if (is_env_teardown) {
359
- v8::HandleScope handle_scope (_env-> isolate );
360
- v8::Local<v8::Value> obj = Get ( );
361
- CHECK (!obj. IsEmpty () );
362
- CHECK (obj-> IsArrayBuffer ());
363
- v8::Local<v8::ArrayBuffer> ab = obj. As <v8::ArrayBuffer>( );
364
- if (ab-> IsDetachable ())
365
- ab->Detach ();
366
- }
367
-
368
- Reference::Finalize (is_env_teardown );
358
+ napi_env _env;
359
+
360
+ inline void Finalize () override {
361
+ v8::HandleScope handle_scope (_env-> isolate );
362
+ v8::Local<v8::Value> obj = Get ( );
363
+ CHECK (! obj. IsEmpty ());
364
+ CHECK ( obj-> IsArrayBuffer () );
365
+ v8::Local<v8::ArrayBuffer> ab = obj. As <v8::ArrayBuffer>();
366
+ if ( ab->IsDetachable ())
367
+ ab-> Detach ();
368
+
369
+ Reference::Finalize ();
369
370
}
370
371
};
371
372
#endif
0 commit comments