Lines Matching refs:env

14 inline JSVM_Status jsvm_clear_last_error(JSVM_Env env);
95 // Constructor for creating partial env.
128 static inline void HandleThrow(JSVM_Env env, v8::Local<v8::Value> value) {
129 if (env->terminatedOrTerminating()) {
132 env->isolate->ThrowException(value);
160 CallIntoModule([&](JSVM_Env env) { cb(env, data, hint); });
251 inline JSVM_Status jsvm_clear_last_error(JSVM_Env env) {
252 env->last_error.errorCode = JSVM_OK;
253 env->last_error.engineErrorCode = 0;
254 env->last_error.engineReserved = nullptr;
255 env->last_error.errorMessage = nullptr;
259 inline JSVM_Status jsvm_set_last_error(JSVM_Env env,
263 env->last_error.errorCode = errorCode;
264 env->last_error.engineErrorCode = engineErrorCode;
265 env->last_error.engineReserved = engineReserved;
269 #define RETURN_STATUS_IF_FALSE(env, condition, status) \
272 return jsvm_set_last_error((env), (status)); \
276 #define RETURN_STATUS_IF_FALSE_WITH_PREAMBLE(env, condition, status) \
280 (env), try_catch.HasCaught() ? JSVM_PENDING_EXCEPTION : (status)); \
284 #define CHECK_ENV(env) \
286 if ((env) == nullptr) { \
291 #define CHECK_ENV_NOT_IN_GC(env) \
293 CHECK_ENV((env)); \
294 (env)->CheckGCAccess(); \
297 #define CHECK_ARG(env, arg) \
298 RETURN_STATUS_IF_FALSE((env), ((arg) != nullptr), JSVM_INVALID_ARG)
300 #define CHECK_ARG_NOT_ZERO(env, arg) \
301 RETURN_STATUS_IF_FALSE((env), ((arg) != 0), JSVM_INVALID_ARG)
303 #define CHECK_ARG_WITH_PREAMBLE(env, arg) \
305 (env), ((arg) != nullptr), JSVM_INVALID_ARG)
307 #define CHECK_MAYBE_EMPTY(env, maybe, status) \
308 RETURN_STATUS_IF_FALSE((env), !((maybe).IsEmpty()), (status))
310 #define CHECK_MAYBE_EMPTY_WITH_PREAMBLE(env, maybe, status) \
311 RETURN_STATUS_IF_FALSE_WITH_PREAMBLE((env), !((maybe).IsEmpty()), (status))
314 #define JSVM_PREAMBLE(env) \
315 CHECK_ENV((env)); \
317 (env), (env)->last_exception.IsEmpty(), JSVM_PENDING_EXCEPTION); \
318 RETURN_STATUS_IF_FALSE((env), \
319 (env)->can_call_into_js(), \
320 (env->module_api_version == JSVM_VERSION_EXPERIMENTAL \
323 jsvm_clear_last_error((env)); \
324 v8impl::TryCatch try_catch((env))
326 #define CHECK_TO_TYPE(env, type, context, result, src, status) \
328 CHECK_ARG((env), (src)); \
330 CHECK_MAYBE_EMPTY((env), maybe, (status)); \
334 #define CHECK_TO_TYPE_WITH_PREAMBLE(env, type, context, result, src, status) \
336 CHECK_ARG_WITH_PREAMBLE((env), (src)); \
338 CHECK_MAYBE_EMPTY_WITH_PREAMBLE((env), maybe, (status)); \
342 #define CHECK_TO_FUNCTION(env, result, src) \
344 CHECK_ARG((env), (src)); \
346 RETURN_STATUS_IF_FALSE((env), v8value->IsFunction(), JSVM_INVALID_ARG); \
350 #define CHECK_TO_OBJECT(env, context, result, src) \
351 CHECK_TO_TYPE((env), Object, (context), (result), (src), JSVM_OBJECT_EXPECTED)
353 #define CHECK_TO_BIGINT(env, context, result, src) \
354 CHECK_TO_TYPE((env), BigInt, (context), (result), (src), JSVM_BIGINT_EXPECTED)
356 #define CHECK_TO_OBJECT_WITH_PREAMBLE(env, context, result, src) \
358 (env), Object, (context), (result), (src), JSVM_OBJECT_EXPECTED)
360 #define CHECK_TO_STRING(env, context, result, src) \
361 CHECK_TO_TYPE((env), String, (context), (result), (src), JSVM_STRING_EXPECTED)
363 #define GET_RETURN_STATUS(env) \
366 : jsvm_set_last_error((env), JSVM_PENDING_EXCEPTION))
368 #define THROW_RANGE_ERROR_IF_FALSE(env, condition, error, message) \
371 OH_JSVM_ThrowRangeError((env), (error), (message)); \
372 return jsvm_set_last_error((env), JSVM_GENERIC_FAILURE); \
376 #define CHECK_MAYBE_EMPTY_WITH_PREAMBLE(env, maybe, status) \
377 RETURN_STATUS_IF_FALSE_WITH_PREAMBLE((env), !((maybe).IsEmpty()), (status))
407 Finalizer(JSVM_Env env,
411 : env_(env),
419 static Finalizer* New(JSVM_Env env,
423 return new Finalizer(env, finalize_callback, finalize_data, finalize_hint);
441 explicit TryCatch(JSVM_Env env) : v8::TryCatch(env->isolate), _env(env) {}
466 TrackedFinalizer(JSVM_Env env,
472 static TrackedFinalizer* New(JSVM_Env env,
486 RefBase(JSVM_Env env,
494 static RefBase* New(JSVM_Env env,
520 Reference(JSVM_Env env, v8::Local<v8::Value> value, Args&&... args);
523 static Reference* New(JSVM_Env env,
572 inline JSVM_PropertyHandlerCfgStruct* CreatePropertyCfg(JSVM_Env env, JSVM_PropertyHandlerCfg propertyCfg)
588 v8impl::Reference* reference = v8impl::Reference::New(env, v8_value, 1, v8impl::Ownership::kUserland);
594 v8impl::Reference* reference = v8impl::Reference::New(env, v8_value, 1, v8impl::Ownership::kUserland);
602 inline void CfgFinalizedCallback(JSVM_Env env, void* finalizeData, void* finalizeHint)