@@ -294,12 +294,15 @@ static void SetupHooks(const FunctionCallbackInfo<Value>& args) {
294
294
295
295
Local<Object> fn_obj = args[0 ].As <Object>();
296
296
297
- #define SET_HOOK_FN (name ) \
298
- Local<Value> name##_v = fn_obj->Get ( \
299
- env->context (), \
300
- FIXED_ONE_BYTE_STRING (env->isolate (), #name)).ToLocalChecked (); \
301
- CHECK (name##_v->IsFunction ()); \
302
- env->set_async_hooks_ ##name##_function (name##_v.As <Function>());
297
+ #define SET_HOOK_FN (name ) \
298
+ do { \
299
+ Local<Value> v = \
300
+ fn_obj->Get (env->context (), \
301
+ FIXED_ONE_BYTE_STRING (env->isolate (), #name)) \
302
+ .ToLocalChecked (); \
303
+ CHECK (v->IsFunction ()); \
304
+ env->set_async_hooks_ ##name##_function (v.As <Function>()); \
305
+ } while (0 )
303
306
304
307
SET_HOOK_FN (init);
305
308
SET_HOOK_FN (before);
@@ -502,7 +505,7 @@ void AsyncWrap::Initialize(Local<Object> target,
502
505
Local<Object> constants = Object::New (isolate);
503
506
#define SET_HOOKS_CONSTANT (name ) \
504
507
FORCE_SET_TARGET_FIELD ( \
505
- constants, #name, Integer::New (isolate, AsyncHooks::name));
508
+ constants, #name, Integer::New (isolate, AsyncHooks::name))
506
509
507
510
SET_HOOKS_CONSTANT (kInit );
508
511
SET_HOOKS_CONSTANT (kBefore );
0 commit comments