Skip to content

Commit cd32b77

Browse files
Gabriel Schulhofaddaleax
Gabriel Schulhof
authored andcommitted
n-api: remove unnecessary try-catch bracket from certain APIs
These APIs do not need a try-catch around their body, because no exceptions are thrown in their implementation: - `napi_is_array()` - `napi_get_value_string_latin1()` - `napi_get_value_string_utf8()` - `napi_get_value_string_utf16()` - `napi_get_value_external()` - `napi_is_buffer()` - `napi_is_arraybuffer()` - `napi_get_arraybuffer_info()` - `napi_is_typedarray()` - `napi_get_typedarray_info()` Fixes: nodejs/abi-stable-node#238 PR-URL: #12705 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Jason Ginchereau <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent 871fb5a commit cd32b77

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

src/node_api.cc

+21-21
Original file line numberDiff line numberDiff line change
@@ -1207,14 +1207,14 @@ napi_status napi_define_properties(napi_env env,
12071207
}
12081208

12091209
napi_status napi_is_array(napi_env env, napi_value value, bool* result) {
1210-
NAPI_PREAMBLE(env);
1210+
CHECK_ENV(env);
12111211
CHECK_ARG(env, value);
12121212
CHECK_ARG(env, result);
12131213

12141214
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
12151215

12161216
*result = val->IsArray();
1217-
return GET_RETURN_STATUS(env);
1217+
return napi_clear_last_error(env);
12181218
}
12191219

12201220
napi_status napi_get_array_length(napi_env env,
@@ -1775,7 +1775,7 @@ napi_status napi_get_value_string_latin1(napi_env env,
17751775
char* buf,
17761776
size_t bufsize,
17771777
size_t* result) {
1778-
NAPI_PREAMBLE(env);
1778+
CHECK_ENV(env);
17791779
CHECK_ARG(env, value);
17801780

17811781
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
@@ -1795,7 +1795,7 @@ napi_status napi_get_value_string_latin1(napi_env env,
17951795
}
17961796
}
17971797

1798-
return GET_RETURN_STATUS(env);
1798+
return napi_clear_last_error(env);
17991799
}
18001800

18011801
// Copies a JavaScript string into a UTF-8 string buffer. The result is the
@@ -1811,7 +1811,7 @@ napi_status napi_get_value_string_utf8(napi_env env,
18111811
char* buf,
18121812
size_t bufsize,
18131813
size_t* result) {
1814-
NAPI_PREAMBLE(env);
1814+
CHECK_ENV(env);
18151815
CHECK_ARG(env, value);
18161816

18171817
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
@@ -1831,7 +1831,7 @@ napi_status napi_get_value_string_utf8(napi_env env,
18311831
}
18321832
}
18331833

1834-
return GET_RETURN_STATUS(env);
1834+
return napi_clear_last_error(env);
18351835
}
18361836

18371837
// Copies a JavaScript string into a UTF-16 string buffer. The result is the
@@ -1847,7 +1847,7 @@ napi_status napi_get_value_string_utf16(napi_env env,
18471847
char16_t* buf,
18481848
size_t bufsize,
18491849
size_t* result) {
1850-
NAPI_PREAMBLE(env);
1850+
CHECK_ENV(env);
18511851
CHECK_ARG(env, value);
18521852

18531853
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
@@ -1868,7 +1868,7 @@ napi_status napi_get_value_string_utf16(napi_env env,
18681868
}
18691869
}
18701870

1871-
return GET_RETURN_STATUS(env);
1871+
return napi_clear_last_error(env);
18721872
}
18731873

18741874
napi_status napi_coerce_to_object(napi_env env,
@@ -2022,13 +2022,13 @@ napi_status napi_create_external(napi_env env,
20222022

20232023
*result = v8impl::JsValueFromV8LocalValue(external_value);
20242024

2025-
return GET_RETURN_STATUS(env);
2025+
return napi_clear_last_error(env);
20262026
}
20272027

20282028
napi_status napi_get_value_external(napi_env env,
20292029
napi_value value,
20302030
void** result) {
2031-
NAPI_PREAMBLE(env);
2031+
CHECK_ENV(env);
20322032
CHECK_ARG(env, value);
20332033
CHECK_ARG(env, result);
20342034

@@ -2038,7 +2038,7 @@ napi_status napi_get_value_external(napi_env env,
20382038
v8::Local<v8::External> external_value = val.As<v8::External>();
20392039
*result = external_value->Value();
20402040

2041-
return GET_RETURN_STATUS(env);
2041+
return napi_clear_last_error(env);
20422042
}
20432043

20442044
// Set initial_refcount to 0 for a weak reference, >0 for a strong reference.
@@ -2479,12 +2479,12 @@ napi_status napi_create_buffer_copy(napi_env env,
24792479
}
24802480

24812481
napi_status napi_is_buffer(napi_env env, napi_value value, bool* result) {
2482-
NAPI_PREAMBLE(env);
2482+
CHECK_ENV(env);
24832483
CHECK_ARG(env, value);
24842484
CHECK_ARG(env, result);
24852485

24862486
*result = node::Buffer::HasInstance(v8impl::V8LocalValueFromJsValue(value));
2487-
return GET_RETURN_STATUS(env);
2487+
return napi_clear_last_error(env);
24882488
}
24892489

24902490
napi_status napi_get_buffer_info(napi_env env,
@@ -2508,14 +2508,14 @@ napi_status napi_get_buffer_info(napi_env env,
25082508
}
25092509

25102510
napi_status napi_is_arraybuffer(napi_env env, napi_value value, bool* result) {
2511-
NAPI_PREAMBLE(env);
2511+
CHECK_ENV(env);
25122512
CHECK_ARG(env, value);
25132513
CHECK_ARG(env, result);
25142514

25152515
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
25162516
*result = val->IsArrayBuffer();
25172517

2518-
return GET_RETURN_STATUS(env);
2518+
return napi_clear_last_error(env);
25192519
}
25202520

25212521
napi_status napi_create_arraybuffer(napi_env env,
@@ -2572,7 +2572,7 @@ napi_status napi_get_arraybuffer_info(napi_env env,
25722572
napi_value arraybuffer,
25732573
void** data,
25742574
size_t* byte_length) {
2575-
NAPI_PREAMBLE(env);
2575+
CHECK_ENV(env);
25762576
CHECK_ARG(env, arraybuffer);
25772577

25782578
v8::Local<v8::Value> value = v8impl::V8LocalValueFromJsValue(arraybuffer);
@@ -2589,18 +2589,18 @@ napi_status napi_get_arraybuffer_info(napi_env env,
25892589
*byte_length = contents.ByteLength();
25902590
}
25912591

2592-
return GET_RETURN_STATUS(env);
2592+
return napi_clear_last_error(env);
25932593
}
25942594

25952595
napi_status napi_is_typedarray(napi_env env, napi_value value, bool* result) {
2596-
NAPI_PREAMBLE(env);
2596+
CHECK_ENV(env);
25972597
CHECK_ARG(env, value);
25982598
CHECK_ARG(env, result);
25992599

26002600
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
26012601
*result = val->IsTypedArray();
26022602

2603-
return GET_RETURN_STATUS(env);
2603+
return napi_clear_last_error(env);
26042604
}
26052605

26062606
napi_status napi_create_typedarray(napi_env env,
@@ -2662,7 +2662,7 @@ napi_status napi_get_typedarray_info(napi_env env,
26622662
void** data,
26632663
napi_value* arraybuffer,
26642664
size_t* byte_offset) {
2665-
NAPI_PREAMBLE(env);
2665+
CHECK_ENV(env);
26662666
CHECK_ARG(env, typedarray);
26672667

26682668
v8::Local<v8::Value> value = v8impl::V8LocalValueFromJsValue(typedarray);
@@ -2710,7 +2710,7 @@ napi_status napi_get_typedarray_info(napi_env env,
27102710
*byte_offset = array->ByteOffset();
27112711
}
27122712

2713-
return GET_RETURN_STATUS(env);
2713+
return napi_clear_last_error(env);
27142714
}
27152715

27162716
namespace uvimpl {

0 commit comments

Comments
 (0)