From 4ad7593b9984167ff12d3fd365c28c0f8d0552d6 Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Thu, 27 Apr 2017 22:15:36 +0300 Subject: [PATCH] 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 https://github.com/nodejs/abi-stable-node/issues/238 --- src/node_api.cc | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/node_api.cc b/src/node_api.cc index e1a5f1fdcb5afb..c5e94d33fb4836 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -1206,14 +1206,14 @@ napi_status napi_define_properties(napi_env env, } napi_status napi_is_array(napi_env env, napi_value value, bool* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); CHECK_ARG(env, result); v8::Local val = v8impl::V8LocalValueFromJsValue(value); *result = val->IsArray(); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_get_array_length(napi_env env, @@ -1772,7 +1772,7 @@ napi_status napi_get_value_string_latin1(napi_env env, char* buf, size_t bufsize, size_t* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); v8::Local val = v8impl::V8LocalValueFromJsValue(value); @@ -1792,7 +1792,7 @@ napi_status napi_get_value_string_latin1(napi_env env, } } - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } // Copies a JavaScript string into a UTF-8 string buffer. The result is the @@ -1808,7 +1808,7 @@ napi_status napi_get_value_string_utf8(napi_env env, char* buf, size_t bufsize, size_t* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); v8::Local val = v8impl::V8LocalValueFromJsValue(value); @@ -1828,7 +1828,7 @@ napi_status napi_get_value_string_utf8(napi_env env, } } - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } // Copies a JavaScript string into a UTF-16 string buffer. The result is the @@ -1844,7 +1844,7 @@ napi_status napi_get_value_string_utf16(napi_env env, char16_t* buf, size_t bufsize, size_t* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); v8::Local val = v8impl::V8LocalValueFromJsValue(value); @@ -1865,7 +1865,7 @@ napi_status napi_get_value_string_utf16(napi_env env, } } - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_coerce_to_object(napi_env env, @@ -2019,13 +2019,13 @@ napi_status napi_create_external(napi_env env, *result = v8impl::JsValueFromV8LocalValue(external_value); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_get_value_external(napi_env env, napi_value value, void** result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); CHECK_ARG(env, result); @@ -2035,7 +2035,7 @@ napi_status napi_get_value_external(napi_env env, v8::Local external_value = val.As(); *result = external_value->Value(); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } // Set initial_refcount to 0 for a weak reference, >0 for a strong reference. @@ -2476,12 +2476,12 @@ napi_status napi_create_buffer_copy(napi_env env, } napi_status napi_is_buffer(napi_env env, napi_value value, bool* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); CHECK_ARG(env, result); *result = node::Buffer::HasInstance(v8impl::V8LocalValueFromJsValue(value)); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_get_buffer_info(napi_env env, @@ -2505,14 +2505,14 @@ napi_status napi_get_buffer_info(napi_env env, } napi_status napi_is_arraybuffer(napi_env env, napi_value value, bool* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); CHECK_ARG(env, result); v8::Local val = v8impl::V8LocalValueFromJsValue(value); *result = val->IsArrayBuffer(); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_create_arraybuffer(napi_env env, @@ -2569,7 +2569,7 @@ napi_status napi_get_arraybuffer_info(napi_env env, napi_value arraybuffer, void** data, size_t* byte_length) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, arraybuffer); v8::Local value = v8impl::V8LocalValueFromJsValue(arraybuffer); @@ -2586,18 +2586,18 @@ napi_status napi_get_arraybuffer_info(napi_env env, *byte_length = contents.ByteLength(); } - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_is_typedarray(napi_env env, napi_value value, bool* result) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, value); CHECK_ARG(env, result); v8::Local val = v8impl::V8LocalValueFromJsValue(value); *result = val->IsTypedArray(); - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } napi_status napi_create_typedarray(napi_env env, @@ -2659,7 +2659,7 @@ napi_status napi_get_typedarray_info(napi_env env, void** data, napi_value* arraybuffer, size_t* byte_offset) { - NAPI_PREAMBLE(env); + CHECK_ENV(env); CHECK_ARG(env, typedarray); v8::Local value = v8impl::V8LocalValueFromJsValue(typedarray); @@ -2707,7 +2707,7 @@ napi_status napi_get_typedarray_info(napi_env env, *byte_offset = array->ByteOffset(); } - return GET_RETURN_STATUS(env); + return napi_clear_last_error(env); } namespace uvimpl {