Skip to content

Commit bf478e4

Browse files
NickNasomhdawson
authored andcommitted
src: use NAPI_NOEXCEPT macro instead of noexcept
PR-URL: #864 Reviewed-By: Michael Dawson <[email protected]>
1 parent 744705f commit bf478e4

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

napi-inl.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,17 +179,19 @@ TemplatedInstanceVoidCallback(napi_env env,
179179

180180
template <typename T, typename Finalizer, typename Hint = void>
181181
struct FinalizeData {
182-
static inline
183-
void Wrapper(napi_env env, void* data, void* finalizeHint) noexcept {
182+
static inline void Wrapper(napi_env env,
183+
void* data,
184+
void* finalizeHint) NAPI_NOEXCEPT {
184185
WrapVoidCallback([&] {
185186
FinalizeData* finalizeData = static_cast<FinalizeData*>(finalizeHint);
186187
finalizeData->callback(Env(env), static_cast<T*>(data));
187188
delete finalizeData;
188189
});
189190
}
190191

191-
static inline
192-
void WrapperWithHint(napi_env env, void* data, void* finalizeHint) noexcept {
192+
static inline void WrapperWithHint(napi_env env,
193+
void* data,
194+
void* finalizeHint) NAPI_NOEXCEPT {
193195
WrapVoidCallback([&] {
194196
FinalizeData* finalizeData = static_cast<FinalizeData*>(finalizeHint);
195197
finalizeData->callback(Env(env), static_cast<T*>(data), finalizeData->hint);
@@ -3562,7 +3564,8 @@ inline napi_value InstanceWrap<T>::InstanceSetterCallbackWrapper(
35623564

35633565
template <typename T>
35643566
template <typename InstanceWrap<T>::InstanceSetterCallback method>
3565-
inline napi_value InstanceWrap<T>::WrappedMethod(napi_env env, napi_callback_info info) noexcept {
3567+
inline napi_value InstanceWrap<T>::WrappedMethod(
3568+
napi_env env, napi_callback_info info) NAPI_NOEXCEPT {
35663569
return details::WrapCallback([&] {
35673570
const CallbackInfo cbInfo(env, info);
35683571
T* instance = T::Unwrap(cbInfo.This().As<Object>());
@@ -4024,7 +4027,8 @@ inline void ObjectWrap<T>::FinalizeCallback(napi_env env, void* data, void* /*hi
40244027

40254028
template <typename T>
40264029
template <typename ObjectWrap<T>::StaticSetterCallback method>
4027-
inline napi_value ObjectWrap<T>::WrappedMethod(napi_env env, napi_callback_info info) noexcept {
4030+
inline napi_value ObjectWrap<T>::WrappedMethod(
4031+
napi_env env, napi_callback_info info) NAPI_NOEXCEPT {
40284032
return details::WrapCallback([&] {
40294033
const CallbackInfo cbInfo(env, info);
40304034
method(cbInfo, cbInfo[0]);

napi.h

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1747,13 +1747,18 @@ namespace Napi {
17471747
static napi_value InstanceSetterCallbackWrapper(napi_env env, napi_callback_info info);
17481748

17491749
template <InstanceSetterCallback method>
1750-
static napi_value WrappedMethod(napi_env env, napi_callback_info info) noexcept;
1750+
static napi_value WrappedMethod(napi_env env,
1751+
napi_callback_info info) NAPI_NOEXCEPT;
17511752

17521753
template <InstanceSetterCallback setter> struct SetterTag {};
17531754

17541755
template <InstanceSetterCallback setter>
1755-
static napi_callback WrapSetter(SetterTag<setter>) noexcept { return &This::WrappedMethod<setter>; }
1756-
static napi_callback WrapSetter(SetterTag<nullptr>) noexcept { return nullptr; }
1756+
static napi_callback WrapSetter(SetterTag<setter>) NAPI_NOEXCEPT {
1757+
return &This::WrappedMethod<setter>;
1758+
}
1759+
static napi_callback WrapSetter(SetterTag<nullptr>) NAPI_NOEXCEPT {
1760+
return nullptr;
1761+
}
17571762
};
17581763

17591764
/// Base class to be extended by C++ classes exposed to JavaScript; each C++ class instance gets
@@ -1886,13 +1891,20 @@ namespace Napi {
18861891
StaticSetterCallback> StaticAccessorCallbackData;
18871892

18881893
template <StaticSetterCallback method>
1889-
static napi_value WrappedMethod(napi_env env, napi_callback_info info) noexcept;
1894+
static napi_value WrappedMethod(napi_env env,
1895+
napi_callback_info info) NAPI_NOEXCEPT;
18901896

18911897
template <StaticSetterCallback setter> struct StaticSetterTag {};
18921898

18931899
template <StaticSetterCallback setter>
1894-
static napi_callback WrapStaticSetter(StaticSetterTag<setter>) noexcept { return &This::WrappedMethod<setter>; }
1895-
static napi_callback WrapStaticSetter(StaticSetterTag<nullptr>) noexcept { return nullptr; }
1900+
static napi_callback WrapStaticSetter(StaticSetterTag<setter>)
1901+
NAPI_NOEXCEPT {
1902+
return &This::WrappedMethod<setter>;
1903+
}
1904+
static napi_callback WrapStaticSetter(StaticSetterTag<nullptr>)
1905+
NAPI_NOEXCEPT {
1906+
return nullptr;
1907+
}
18961908

18971909
bool _construction_failed = true;
18981910
};

0 commit comments

Comments
 (0)