@scriptc/runtime 0.0.0 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/package.json +16 -6
- package/src/scr_array.c +488 -0
- package/src/scr_assert.c +1393 -0
- package/src/scr_async.c +2593 -0
- package/src/scr_async_dyn.c +607 -0
- package/src/scr_bytes.c +1425 -0
- package/src/scr_bytes_io.c +161 -0
- package/src/scr_child.c +3587 -0
- package/src/scr_closure.c +214 -0
- package/src/scr_console.c +143 -0
- package/src/scr_cycle.c +218 -0
- package/src/scr_dc.c +805 -0
- package/src/scr_dgram.c +1007 -0
- package/src/scr_dyn_handle.c +154 -0
- package/src/scr_dyn_invoke.c +644 -0
- package/src/scr_error.c +332 -0
- package/src/scr_events.c +714 -0
- package/src/scr_events_emitter.c +699 -0
- package/src/scr_exception.c +242 -0
- package/src/scr_fetch.c +1130 -0
- package/src/scr_fetch_curl.c +654 -0
- package/src/scr_http.c +3482 -0
- package/src/scr_http2.c +3030 -0
- package/src/scr_inspect.c +803 -0
- package/src/scr_inspect_island.c +51 -0
- package/src/scr_island.c +9363 -0
- package/src/scr_json.c +2151 -0
- package/src/scr_lib.c +3612 -0
- package/src/scr_loop_epoll.c +241 -0
- package/src/scr_loop_kqueue.c +121 -0
- package/src/scr_loop_wsapoll.c +208 -0
- package/src/scr_map.c +591 -0
- package/src/scr_net.c +3017 -0
- package/src/scr_net_island.c +458 -0
- package/src/scr_number.c +115 -0
- package/src/scr_object.c +25 -0
- package/src/scr_path.c +1266 -0
- package/src/scr_platform.h +119 -0
- package/src/scr_readline.c +287 -0
- package/src/scr_regex.c +1080 -0
- package/src/scr_runtime.h +5046 -0
- package/src/scr_stream.c +2877 -0
- package/src/scr_string.c +1264 -0
- package/src/scr_symbol.c +132 -0
- package/src/scr_test.c +662 -0
- package/src/scr_tls.c +1520 -0
- package/src/scr_union.c +105 -0
- package/src/scr_url.c +911 -0
- package/src/scr_url_internal.h +29 -0
- package/src/scr_url_params.c +561 -0
- package/src/scr_watch.c +568 -0
- package/src/scr_web.c +1778 -0
- package/src/scr_win.c +76 -0
- package/src/scr_zlib.c +197 -0
- package/src/scr_zlib_island.c +15 -0
- package/vendor/README.md +52 -0
- package/vendor/curl/COPYRIGHT +534 -0
- package/vendor/curl/include/curl/curl.h +3214 -0
- package/vendor/curl/include/curl/curlver.h +79 -0
- package/vendor/curl/include/curl/easy.h +125 -0
- package/vendor/curl/include/curl/header.h +74 -0
- package/vendor/curl/include/curl/mprintf.h +52 -0
- package/vendor/curl/include/curl/multi.h +460 -0
- package/vendor/curl/include/curl/options.h +70 -0
- package/vendor/curl/include/curl/stdcheaders.h +35 -0
- package/vendor/curl/include/curl/system.h +508 -0
- package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
- package/vendor/curl/include/curl/urlapi.h +149 -0
- package/vendor/curl/include/curl/websockets.h +84 -0
- package/vendor/mbedtls/LICENSE +553 -0
- package/vendor/mbedtls/include/CMakeLists.txt +22 -0
- package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
- package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
- package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
- package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
- package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
- package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
- package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
- package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
- package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
- package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
- package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
- package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
- package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
- package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
- package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
- package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
- package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
- package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
- package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
- package/vendor/mbedtls/include/mbedtls/des.h +385 -0
- package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
- package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
- package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
- package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
- package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
- package/vendor/mbedtls/include/mbedtls/error.h +201 -0
- package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
- package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
- package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
- package/vendor/mbedtls/include/mbedtls/md.h +526 -0
- package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
- package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
- package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
- package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
- package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
- package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
- package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
- package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
- package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
- package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
- package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
- package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
- package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
- package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
- package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
- package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
- package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
- package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
- package/vendor/mbedtls/include/mbedtls/version.h +78 -0
- package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
- package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
- package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
- package/vendor/mbedtls/include/psa/build_info.h +20 -0
- package/vendor/mbedtls/include/psa/crypto.h +4998 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
- package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
- package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
- package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
- package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
- package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
- package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
- package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
- package/vendor/mbedtls/library/aes.c +2294 -0
- package/vendor/mbedtls/library/aesce.c +624 -0
- package/vendor/mbedtls/library/aesce.h +136 -0
- package/vendor/mbedtls/library/aesni.c +846 -0
- package/vendor/mbedtls/library/aesni.h +162 -0
- package/vendor/mbedtls/library/alignment.h +704 -0
- package/vendor/mbedtls/library/aria.c +969 -0
- package/vendor/mbedtls/library/asn1parse.c +468 -0
- package/vendor/mbedtls/library/asn1write.c +440 -0
- package/vendor/mbedtls/library/base64.c +322 -0
- package/vendor/mbedtls/library/base64_internal.h +45 -0
- package/vendor/mbedtls/library/bignum.c +2583 -0
- package/vendor/mbedtls/library/bignum_core.c +1240 -0
- package/vendor/mbedtls/library/bignum_core.h +872 -0
- package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
- package/vendor/mbedtls/library/bignum_internal.h +122 -0
- package/vendor/mbedtls/library/bignum_mod.c +394 -0
- package/vendor/mbedtls/library/bignum_mod.h +452 -0
- package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
- package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
- package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/vendor/mbedtls/library/block_cipher.c +207 -0
- package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
- package/vendor/mbedtls/library/bn_mul.h +1094 -0
- package/vendor/mbedtls/library/camellia.c +1058 -0
- package/vendor/mbedtls/library/ccm.c +777 -0
- package/vendor/mbedtls/library/chacha20.c +563 -0
- package/vendor/mbedtls/library/chacha20_internal.h +23 -0
- package/vendor/mbedtls/library/chachapoly.c +487 -0
- package/vendor/mbedtls/library/check_crypto_config.h +136 -0
- package/vendor/mbedtls/library/cipher.c +1712 -0
- package/vendor/mbedtls/library/cipher_invasive.h +28 -0
- package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
- package/vendor/mbedtls/library/cipher_wrap.h +178 -0
- package/vendor/mbedtls/library/cmac.c +1067 -0
- package/vendor/mbedtls/library/common.h +487 -0
- package/vendor/mbedtls/library/constant_time.c +247 -0
- package/vendor/mbedtls/library/constant_time_impl.h +541 -0
- package/vendor/mbedtls/library/constant_time_internal.h +579 -0
- package/vendor/mbedtls/library/ctr.h +35 -0
- package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
- package/vendor/mbedtls/library/debug.c +475 -0
- package/vendor/mbedtls/library/debug_internal.h +185 -0
- package/vendor/mbedtls/library/des.c +1042 -0
- package/vendor/mbedtls/library/dhm.c +700 -0
- package/vendor/mbedtls/library/ecdh.c +696 -0
- package/vendor/mbedtls/library/ecdsa.c +858 -0
- package/vendor/mbedtls/library/ecjpake.c +1216 -0
- package/vendor/mbedtls/library/ecp.c +3674 -0
- package/vendor/mbedtls/library/ecp_curves.c +6125 -0
- package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
- package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
- package/vendor/mbedtls/library/ecp_invasive.h +305 -0
- package/vendor/mbedtls/library/entropy.c +680 -0
- package/vendor/mbedtls/library/entropy_poll.c +233 -0
- package/vendor/mbedtls/library/entropy_poll.h +64 -0
- package/vendor/mbedtls/library/error.c +878 -0
- package/vendor/mbedtls/library/gcm.c +1330 -0
- package/vendor/mbedtls/library/hkdf.c +161 -0
- package/vendor/mbedtls/library/hmac_drbg.c +633 -0
- package/vendor/mbedtls/library/lmots.c +789 -0
- package/vendor/mbedtls/library/lmots.h +288 -0
- package/vendor/mbedtls/library/lms.c +778 -0
- package/vendor/mbedtls/library/md.c +1108 -0
- package/vendor/mbedtls/library/md5.c +426 -0
- package/vendor/mbedtls/library/md_psa.h +26 -0
- package/vendor/mbedtls/library/md_wrap.h +46 -0
- package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
- package/vendor/mbedtls/library/mps_common.h +181 -0
- package/vendor/mbedtls/library/mps_error.h +89 -0
- package/vendor/mbedtls/library/mps_reader.c +538 -0
- package/vendor/mbedtls/library/mps_reader.h +366 -0
- package/vendor/mbedtls/library/mps_trace.c +112 -0
- package/vendor/mbedtls/library/mps_trace.h +154 -0
- package/vendor/mbedtls/library/net_sockets.c +694 -0
- package/vendor/mbedtls/library/nist_kw.c +729 -0
- package/vendor/mbedtls/library/oid.c +1166 -0
- package/vendor/mbedtls/library/padlock.c +157 -0
- package/vendor/mbedtls/library/padlock.h +111 -0
- package/vendor/mbedtls/library/pem.c +554 -0
- package/vendor/mbedtls/library/pk.c +1602 -0
- package/vendor/mbedtls/library/pk_ecc.c +261 -0
- package/vendor/mbedtls/library/pk_internal.h +241 -0
- package/vendor/mbedtls/library/pk_wrap.c +1618 -0
- package/vendor/mbedtls/library/pk_wrap.h +138 -0
- package/vendor/mbedtls/library/pkcs12.c +437 -0
- package/vendor/mbedtls/library/pkcs5.c +500 -0
- package/vendor/mbedtls/library/pkcs7.c +787 -0
- package/vendor/mbedtls/library/pkparse.c +1392 -0
- package/vendor/mbedtls/library/pkwrite.c +631 -0
- package/vendor/mbedtls/library/pkwrite.h +121 -0
- package/vendor/mbedtls/library/platform.c +402 -0
- package/vendor/mbedtls/library/platform_util.c +258 -0
- package/vendor/mbedtls/library/poly1305.c +492 -0
- package/vendor/mbedtls/library/psa_crypto.c +9532 -0
- package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
- package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
- package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
- package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
- package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
- package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
- package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
- package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
- package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
- package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
- package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
- package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
- package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
- package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
- package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
- package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
- package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
- package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
- package/vendor/mbedtls/library/psa_its_file.c +254 -0
- package/vendor/mbedtls/library/psa_util.c +614 -0
- package/vendor/mbedtls/library/psa_util_internal.h +100 -0
- package/vendor/mbedtls/library/ripemd160.c +490 -0
- package/vendor/mbedtls/library/rsa.c +3121 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
- package/vendor/mbedtls/library/rsa_internal.h +188 -0
- package/vendor/mbedtls/library/sha1.c +480 -0
- package/vendor/mbedtls/library/sha256.c +983 -0
- package/vendor/mbedtls/library/sha3.c +721 -0
- package/vendor/mbedtls/library/sha512.c +1115 -0
- package/vendor/mbedtls/library/ssl_cache.c +410 -0
- package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
- package/vendor/mbedtls/library/ssl_client.c +1023 -0
- package/vendor/mbedtls/library/ssl_client.h +22 -0
- package/vendor/mbedtls/library/ssl_cookie.c +384 -0
- package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
- package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
- package/vendor/mbedtls/library/ssl_misc.h +3198 -0
- package/vendor/mbedtls/library/ssl_msg.c +6619 -0
- package/vendor/mbedtls/library/ssl_ticket.c +556 -0
- package/vendor/mbedtls/library/ssl_tls.c +10234 -0
- package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
- package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
- package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
- package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
- package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
- package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
- package/vendor/mbedtls/library/threading.c +193 -0
- package/vendor/mbedtls/library/threading_internal.h +28 -0
- package/vendor/mbedtls/library/timing.c +152 -0
- package/vendor/mbedtls/library/version.c +32 -0
- package/vendor/mbedtls/library/version_features.c +856 -0
- package/vendor/mbedtls/library/x509.c +1776 -0
- package/vendor/mbedtls/library/x509_create.c +570 -0
- package/vendor/mbedtls/library/x509_crl.c +708 -0
- package/vendor/mbedtls/library/x509_crt.c +3311 -0
- package/vendor/mbedtls/library/x509_csr.c +648 -0
- package/vendor/mbedtls/library/x509_internal.h +101 -0
- package/vendor/mbedtls/library/x509write.c +174 -0
- package/vendor/mbedtls/library/x509write_crt.c +688 -0
- package/vendor/mbedtls/library/x509write_csr.c +336 -0
- package/vendor/quickjs-ng/CMakeLists.txt +566 -0
- package/vendor/quickjs-ng/LICENSE +24 -0
- package/vendor/quickjs-ng/README.md +24 -0
- package/vendor/quickjs-ng/api-test.c +1195 -0
- package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
- package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
- package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
- package/vendor/quickjs-ng/cutils.h +1998 -0
- package/vendor/quickjs-ng/dtoa.c +1619 -0
- package/vendor/quickjs-ng/dtoa.h +87 -0
- package/vendor/quickjs-ng/gen/function_source.c +81 -0
- package/vendor/quickjs-ng/gen/hello.c +53 -0
- package/vendor/quickjs-ng/gen/hello_module.c +106 -0
- package/vendor/quickjs-ng/gen/repl.c +3036 -0
- package/vendor/quickjs-ng/gen/standalone.c +323 -0
- package/vendor/quickjs-ng/gen/test_fib.c +81 -0
- package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
- package/vendor/quickjs-ng/libregexp.c +3474 -0
- package/vendor/quickjs-ng/libregexp.h +101 -0
- package/vendor/quickjs-ng/libunicode-table.h +5173 -0
- package/vendor/quickjs-ng/libunicode.c +2069 -0
- package/vendor/quickjs-ng/libunicode.h +172 -0
- package/vendor/quickjs-ng/list.h +107 -0
- package/vendor/quickjs-ng/lre-test.c +52 -0
- package/vendor/quickjs-ng/qjs.c +762 -0
- package/vendor/quickjs-ng/qjsc.c +673 -0
- package/vendor/quickjs-ng/quickjs-atom.h +280 -0
- package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
- package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
- package/vendor/quickjs-ng/quickjs-libc.h +87 -0
- package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
- package/vendor/quickjs-ng/quickjs.c +64041 -0
- package/vendor/quickjs-ng/quickjs.h +1447 -0
- package/vendor/quickjs-ng/run-test262.c +2374 -0
- package/vendor/quickjs-ng/unicode_gen.c +3121 -0
- package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
- package/vendor/ryu/LICENSE-Boost +23 -0
- package/vendor/ryu/common.h +114 -0
- package/vendor/ryu/d2s.c +509 -0
- package/vendor/ryu/d2s_full_table.h +367 -0
- package/vendor/ryu/d2s_intrinsics.h +357 -0
- package/vendor/ryu/d2s_small_table.h +186 -0
- package/vendor/ryu/digit_table.h +35 -0
- package/vendor/ryu/ryu.h +46 -0
- package/vendor/zlib/LICENSE +22 -0
- package/vendor/zlib/adler32.c +164 -0
- package/vendor/zlib/compress.c +75 -0
- package/vendor/zlib/crc32.c +1049 -0
- package/vendor/zlib/crc32.h +9446 -0
- package/vendor/zlib/deflate.c +2139 -0
- package/vendor/zlib/deflate.h +377 -0
- package/vendor/zlib/gzclose.c +23 -0
- package/vendor/zlib/gzguts.h +214 -0
- package/vendor/zlib/gzlib.c +582 -0
- package/vendor/zlib/gzread.c +602 -0
- package/vendor/zlib/gzwrite.c +631 -0
- package/vendor/zlib/infback.c +628 -0
- package/vendor/zlib/inffast.c +320 -0
- package/vendor/zlib/inffast.h +11 -0
- package/vendor/zlib/inffixed.h +94 -0
- package/vendor/zlib/inflate.c +1526 -0
- package/vendor/zlib/inflate.h +126 -0
- package/vendor/zlib/inftrees.c +299 -0
- package/vendor/zlib/inftrees.h +62 -0
- package/vendor/zlib/trees.c +1117 -0
- package/vendor/zlib/trees.h +128 -0
- package/vendor/zlib/uncompr.c +85 -0
- package/vendor/zlib/zconf.h +543 -0
- package/vendor/zlib/zlib.h +1938 -0
- package/vendor/zlib/zutil.c +299 -0
- package/vendor/zlib/zutil.h +254 -0
- package/README.md +0 -3
- package/index.js +0 -2
package/src/scr_error.c
ADDED
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
/* Error objects: the runtime-provided root of the `extends Error` class
|
|
2
|
+
* hierarchy (layout/vtable contract in scr_runtime.h). Everything here
|
|
3
|
+
* mirrors what the compiler emits for its own hierarchy classes — retain
|
|
4
|
+
* bumps rc (and marks live under the collector), the public release
|
|
5
|
+
* dispatches through the vtable so a base-typed release tears down the
|
|
6
|
+
* derived object, and the direct release in the builtin vtables does the
|
|
7
|
+
* ScrError teardown. The traced/untraced split is a runtime MODE (set by
|
|
8
|
+
* main() from the compiler's cycle fixpoint) because this one compilation
|
|
9
|
+
* unit serves every program.
|
|
10
|
+
*/
|
|
11
|
+
#include "scr_runtime.h"
|
|
12
|
+
|
|
13
|
+
#include <stdio.h>
|
|
14
|
+
#include <stdlib.h>
|
|
15
|
+
|
|
16
|
+
static void scr_error_oom(void) {
|
|
17
|
+
fputs("scriptc: out of memory\n", stderr);
|
|
18
|
+
abort();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static bool scr_error_traced = false;
|
|
22
|
+
|
|
23
|
+
void scr_error_set_traced(void) { scr_error_traced = true; }
|
|
24
|
+
|
|
25
|
+
static const char *const scr_error_names[5] = {
|
|
26
|
+
"Error", "TypeError", "RangeError", "SyntaxError",
|
|
27
|
+
/* DOMException's DEFAULT name is "Error" too (WebIDL: the name
|
|
28
|
+
* parameter defaults to "Error"); the class identity lives in the
|
|
29
|
+
* vtable, never the name. */
|
|
30
|
+
"Error"};
|
|
31
|
+
|
|
32
|
+
void scr_error_trace(void *e, ScrTraceVisit visit, void *ctx) {
|
|
33
|
+
/* name/message are strings — never collector-headered; nothing to visit. */
|
|
34
|
+
(void)e;
|
|
35
|
+
(void)visit;
|
|
36
|
+
(void)ctx;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static void scr_error_gcfree(void *obj) {
|
|
40
|
+
ScrError *e = (ScrError *)obj;
|
|
41
|
+
scr_str_release(e->name);
|
|
42
|
+
scr_str_release(e->message);
|
|
43
|
+
scr_str_release(e->code); /* NULL-safe: absent on most errors */
|
|
44
|
+
scr_obj_free_note();
|
|
45
|
+
scr_cyc_free(e);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* DOMException teardown: the ScrError fields plus the owned cause DOM
|
|
49
|
+
* value. The cause is a ScrDyn — scr_json.c territory — and this file
|
|
50
|
+
* must stay linkable WITHOUT the DOM (the runtime C-unit tests link
|
|
51
|
+
* subsets), so the drop goes through a hook scr_json.c installs before
|
|
52
|
+
* any cause can exist (scr_domex_new is the only producer). */
|
|
53
|
+
static void (*scr_domex_cause_drop)(void *obj) = NULL;
|
|
54
|
+
|
|
55
|
+
void scr_domex_install_cause_drop(void (*fn)(void *obj)) {
|
|
56
|
+
scr_domex_cause_drop = fn;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static void scr_domex_gcfree(void *obj) {
|
|
60
|
+
ScrDomException *d = (ScrDomException *)obj;
|
|
61
|
+
if (d->cause != NULL && scr_domex_cause_drop != NULL) scr_domex_cause_drop(obj);
|
|
62
|
+
scr_error_gcfree(obj);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* The DIRECT release stored in the builtin vtables (the compiler emits the
|
|
66
|
+
* analogous sc_reld_* for user subclasses). */
|
|
67
|
+
static void scr_error_reld(void *obj) {
|
|
68
|
+
ScrError *e = (ScrError *)obj;
|
|
69
|
+
if (--e->rc == 0) {
|
|
70
|
+
if (scr_error_traced) scr_cyc_on_dead(e);
|
|
71
|
+
scr_str_release(e->name);
|
|
72
|
+
scr_str_release(e->message);
|
|
73
|
+
scr_str_release(e->code); /* NULL-safe: absent on most errors */
|
|
74
|
+
scr_obj_free_note();
|
|
75
|
+
if (scr_error_traced) scr_cyc_free(e);
|
|
76
|
+
else free(e);
|
|
77
|
+
} else if (scr_error_traced) {
|
|
78
|
+
scr_cyc_on_release(e); /* possible cycle root; may collect */
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* The DOMException vtable's direct release: the cause drops first, then
|
|
83
|
+
* the shared ScrError teardown (through the hook — see scr_domex_gcfree). */
|
|
84
|
+
static void scr_domex_reld(void *obj) {
|
|
85
|
+
ScrDomException *d = (ScrDomException *)obj;
|
|
86
|
+
if (d->rc == 1 && d->cause != NULL && scr_domex_cause_drop != NULL) {
|
|
87
|
+
scr_domex_cause_drop(obj);
|
|
88
|
+
}
|
|
89
|
+
scr_error_reld(obj);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Defaults cover only the instants before main() stamps the program's real
|
|
93
|
+
* preorder intervals; release is permanent. */
|
|
94
|
+
ScrVt scr_error_vts[5] = {
|
|
95
|
+
{0, 4, &scr_error_reld}, /* Error */
|
|
96
|
+
{1, 1, &scr_error_reld}, /* TypeError */
|
|
97
|
+
{2, 2, &scr_error_reld}, /* RangeError */
|
|
98
|
+
{3, 3, &scr_error_reld}, /* SyntaxError */
|
|
99
|
+
{4, 4, &scr_domex_reld}, /* DOMException */
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
ScrError *scr_error_retain(ScrError *e) {
|
|
103
|
+
if (e && e->rc != SIZE_MAX) {
|
|
104
|
+
e->rc++;
|
|
105
|
+
if (scr_error_traced) scr_cyc_mark_live(e);
|
|
106
|
+
}
|
|
107
|
+
return e;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
void scr_error_release(ScrError *e) {
|
|
111
|
+
if (!e || e->rc == SIZE_MAX) return;
|
|
112
|
+
e->vt->release(e); /* the DYNAMIC class's teardown */
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void *scr_error_retain_v(void *e) { return scr_error_retain((ScrError *)e); }
|
|
116
|
+
void scr_error_release_v(void *e) { scr_error_release((ScrError *)e); }
|
|
117
|
+
|
|
118
|
+
void scr_error_init(void *obj, int kind, ScrStr *message) {
|
|
119
|
+
ScrError *e = (ScrError *)obj;
|
|
120
|
+
const char *n = scr_error_names[kind];
|
|
121
|
+
e->name = scr_str_new(n, strlen(n));
|
|
122
|
+
e->message = message ? scr_str_retain(message) : scr_str_new("", 0);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* The Error hierarchy's trace entry point when the program's cycle fixpoint
|
|
126
|
+
* marked it cycle-capable (NULL otherwise) — the same argument the emitter's
|
|
127
|
+
* throw sites pass. For runtime-side code that stores an Error payload
|
|
128
|
+
* outside a throw (the Promise reject closure in scr_async.c). */
|
|
129
|
+
ScrTraceFn scr_error_trace_arg(void) {
|
|
130
|
+
return scr_error_traced ? &scr_error_trace : NULL;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* Mode-aware allocation shared by every runtime-side error creation.
|
|
134
|
+
* DOMException allocates its wider layout (and registers the teardown
|
|
135
|
+
* that drops the cause); calloc/cyc_alloc zeroing covers the extra
|
|
136
|
+
* slots' defaults (code 0, no cause). */
|
|
137
|
+
static ScrError *scr_error_alloc(int kind) {
|
|
138
|
+
size_t size = kind == SCR_ERR_DOMEX ? sizeof(ScrDomException) : sizeof(ScrError);
|
|
139
|
+
void (*gcfree)(void *) = kind == SCR_ERR_DOMEX ? &scr_domex_gcfree : &scr_error_gcfree;
|
|
140
|
+
ScrError *e;
|
|
141
|
+
if (scr_error_traced) {
|
|
142
|
+
e = scr_cyc_alloc(size, &scr_error_trace, gcfree);
|
|
143
|
+
} else {
|
|
144
|
+
e = calloc(1, size);
|
|
145
|
+
if (!e) scr_error_oom();
|
|
146
|
+
}
|
|
147
|
+
e->rc = 1;
|
|
148
|
+
e->vt = &scr_error_vts[kind];
|
|
149
|
+
scr_obj_alloc_note();
|
|
150
|
+
return e;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
ScrError *scr_error_new(int kind, ScrStr *message) {
|
|
154
|
+
ScrError *e = scr_error_alloc(kind);
|
|
155
|
+
scr_error_init(e, kind, message);
|
|
156
|
+
return e;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
ScrStr *scr_error_to_string(ScrError *e) {
|
|
160
|
+
/* ECMA-262 Error.prototype.toString over the two fields (no prototype
|
|
161
|
+
* chain exists: constructors always initialize both) — except Node's
|
|
162
|
+
* OWN error classes: AssertionError's toString and the NodeError
|
|
163
|
+
* family's construction-time name both render "name [code]: message".
|
|
164
|
+
* Every ERR_*-coded error this runtime mints IS one of those classes
|
|
165
|
+
* (fs/exec errno codes like ENOENT keep the plain form, like Node), so
|
|
166
|
+
* the code-prefix test is exact for runtime-thrown errors; a user
|
|
167
|
+
* assigning an ERR_* code onto a plain Error would bracket here where
|
|
168
|
+
* Node would not (documented — user code owns that spelling). */
|
|
169
|
+
ScrStr *name = e->name;
|
|
170
|
+
ScrStr *message = e->message;
|
|
171
|
+
bool assertion = name && e->code && e->code->len >= 4 &&
|
|
172
|
+
memcmp(e->code->data, "ERR_", 4) == 0;
|
|
173
|
+
if (!name || name->len == 0) {
|
|
174
|
+
return message ? scr_str_retain(message) : scr_str_new("", 0);
|
|
175
|
+
}
|
|
176
|
+
if (!assertion && (!message || message->len == 0)) return scr_str_retain(name);
|
|
177
|
+
size_t msglen = message ? message->len : 0;
|
|
178
|
+
size_t codelen = assertion ? e->code->len + 3 : 0; /* " [" + code + "]" */
|
|
179
|
+
size_t len = name->len + codelen + 2 + msglen;
|
|
180
|
+
char *buf = malloc(len);
|
|
181
|
+
if (!buf) scr_error_oom();
|
|
182
|
+
size_t n = 0;
|
|
183
|
+
memcpy(buf + n, name->data, name->len);
|
|
184
|
+
n += name->len;
|
|
185
|
+
if (assertion) {
|
|
186
|
+
buf[n++] = ' ';
|
|
187
|
+
buf[n++] = '[';
|
|
188
|
+
memcpy(buf + n, e->code->data, e->code->len);
|
|
189
|
+
n += e->code->len;
|
|
190
|
+
buf[n++] = ']';
|
|
191
|
+
}
|
|
192
|
+
buf[n++] = ':';
|
|
193
|
+
buf[n++] = ' ';
|
|
194
|
+
if (message) memcpy(buf + n, message->data, message->len);
|
|
195
|
+
n += msglen;
|
|
196
|
+
ScrStr *out = scr_str_new(buf, n);
|
|
197
|
+
free(buf);
|
|
198
|
+
return out;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
bool scr_error_is(const void *obj) {
|
|
202
|
+
const ScrVt *vt = ((const ScrError *)obj)->vt;
|
|
203
|
+
return scr_error_vts[SCR_ERR_ERROR].pre <= vt->pre &&
|
|
204
|
+
vt->pre <= scr_error_vts[SCR_ERR_ERROR].post;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
void scr_throw_error(int kind, ScrStr *message) {
|
|
208
|
+
ScrError *e = scr_error_new(kind, message);
|
|
209
|
+
scr_str_release(message); /* scr_error_new retained a copy */
|
|
210
|
+
scr_throw_obj(e, &scr_error_retain_v, &scr_error_release_v,
|
|
211
|
+
scr_error_traced ? &scr_error_trace : NULL);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
void scr_throw_error_msg(int kind, const char *message, size_t len) {
|
|
215
|
+
scr_throw_error(kind, scr_str_new(message, len));
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* ── the `code` slot (NodeJS.ErrnoException's .code) ─────────────────── */
|
|
219
|
+
|
|
220
|
+
void scr_error_set_code(ScrError *e, const char *code) {
|
|
221
|
+
scr_str_release(e->code); /* NULL-safe; replace is Node's assignment */
|
|
222
|
+
e->code = scr_str_new(code, strlen(code));
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
ScrStr *scr_error_code(ScrError *e) {
|
|
226
|
+
return e->code ? scr_str_retain(e->code) : NULL;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/* scr_throw_error_msg with the code stamped on the payload — the fs and
|
|
230
|
+
* exec throwers' one-call spelling. */
|
|
231
|
+
void scr_throw_error_msg_code(int kind, const char *message, size_t len,
|
|
232
|
+
const char *code) {
|
|
233
|
+
ScrStr *msg = scr_str_new(message, len);
|
|
234
|
+
ScrError *e = scr_error_new(kind, msg);
|
|
235
|
+
scr_str_release(msg); /* scr_error_new retained its copy */
|
|
236
|
+
scr_error_set_code(e, code);
|
|
237
|
+
scr_throw_obj(e, &scr_error_retain_v, &scr_error_release_v,
|
|
238
|
+
scr_error_traced ? &scr_error_trace : NULL);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/* A read of a `declare`d const nothing defines (the bundler-define
|
|
242
|
+
* pattern — __VERSION__): Node running the source throws ReferenceError
|
|
243
|
+
* "<name> is not defined" at the access. Borrows `name`; always throws
|
|
244
|
+
* (catchably — callers are compiler-emitted pending checks). */
|
|
245
|
+
void scr_undef_global_read(ScrStr *name) {
|
|
246
|
+
static const char suffix[] = " is not defined";
|
|
247
|
+
size_t len = name->len + sizeof suffix - 1;
|
|
248
|
+
char *msg = malloc(len + 1);
|
|
249
|
+
if (!msg) {
|
|
250
|
+
fputs("scriptc: out of memory\n", stderr);
|
|
251
|
+
abort();
|
|
252
|
+
}
|
|
253
|
+
memcpy(msg, name->data, name->len);
|
|
254
|
+
memcpy(msg + name->len, suffix, sizeof suffix);
|
|
255
|
+
ScrStr *m = scr_str_new(msg, len);
|
|
256
|
+
free(msg);
|
|
257
|
+
scr_throw_error_named(scr_str_new("ReferenceError", 14), m);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* ── DOMException ─────────────────────────────────────────────────────
|
|
261
|
+
* The web-standard error shape (a Node global since v17): the ScrError
|
|
262
|
+
* prefix plus the WebIDL slots (legacy numeric code, the options form's
|
|
263
|
+
* cause). Construction resolves WebIDL's optionality over borrowed DOM
|
|
264
|
+
* arguments — one place, shared by the compiled `new DOMException(...)`
|
|
265
|
+
* and the runtime's own throw sites (atob/btoa). */
|
|
266
|
+
|
|
267
|
+
static const struct { const char *name; double code; } scr_domex_codes[] = {
|
|
268
|
+
{"IndexSizeError", 1}, {"DOMStringSizeError", 2},
|
|
269
|
+
{"HierarchyRequestError", 3}, {"WrongDocumentError", 4},
|
|
270
|
+
{"InvalidCharacterError", 5}, {"NoDataAllowedError", 6},
|
|
271
|
+
{"NoModificationAllowedError", 7}, {"NotFoundError", 8},
|
|
272
|
+
{"NotSupportedError", 9}, {"InUseAttributeError", 10},
|
|
273
|
+
{"InvalidStateError", 11}, {"SyntaxError", 12},
|
|
274
|
+
{"InvalidModificationError", 13}, {"NamespaceError", 14},
|
|
275
|
+
{"InvalidAccessError", 15}, {"ValidationError", 16},
|
|
276
|
+
{"TypeMismatchError", 17}, {"SecurityError", 18},
|
|
277
|
+
{"NetworkError", 19}, {"AbortError", 20},
|
|
278
|
+
{"URLMismatchError", 21}, {"QuotaExceededError", 22},
|
|
279
|
+
{"TimeoutError", 23}, {"InvalidNodeTypeError", 24},
|
|
280
|
+
{"DataCloneError", 25},
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
double scr_domex_code_of(const ScrStr *name) {
|
|
284
|
+
for (size_t i = 0; i < sizeof scr_domex_codes / sizeof scr_domex_codes[0]; i++) {
|
|
285
|
+
const char *n = scr_domex_codes[i].name;
|
|
286
|
+
size_t len = strlen(n);
|
|
287
|
+
if (name->len == len && memcmp(name->data, n, len) == 0) {
|
|
288
|
+
return scr_domex_codes[i].code;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return 0;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/* The blank allocation scr_json.c's constructors fill (scr_error_alloc
|
|
295
|
+
* stays private — the mode-aware sizing/teardown selection lives here). */
|
|
296
|
+
ScrError *scr_domex_alloc(void) { return scr_error_alloc(SCR_ERR_DOMEX); }
|
|
297
|
+
|
|
298
|
+
double scr_domex_code(ScrError *e) { return ((ScrDomException *)e)->dom_code; }
|
|
299
|
+
|
|
300
|
+
bool scr_domex_has_cause(ScrError *e) {
|
|
301
|
+
return ((ScrDomException *)e)->has_cause;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
void scr_throw_domex(const char *name, const char *message) {
|
|
305
|
+
scr_throw_domex_str(name, scr_str_new(message, strlen(message)));
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
void scr_throw_domex_str(const char *name, ScrStr *message) {
|
|
309
|
+
ScrDomException *d = (ScrDomException *)scr_error_alloc(SCR_ERR_DOMEX);
|
|
310
|
+
d->name = scr_str_new(name, strlen(name));
|
|
311
|
+
d->message = message; /* ownership moves in */
|
|
312
|
+
d->dom_code = scr_domex_code_of(d->name);
|
|
313
|
+
scr_throw_obj(d, &scr_error_retain_v, &scr_error_release_v,
|
|
314
|
+
scr_error_traced ? &scr_error_trace : NULL);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
void scr_throw_error_named(ScrStr *name, ScrStr *message) {
|
|
319
|
+
int kind = SCR_ERR_ERROR;
|
|
320
|
+
for (int i = 1; i < 4; i++) {
|
|
321
|
+
const char *n = scr_error_names[i];
|
|
322
|
+
if (name->len == strlen(n) && memcmp(name->data, n, name->len) == 0) {
|
|
323
|
+
kind = i;
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
ScrError *e = scr_error_alloc(kind);
|
|
328
|
+
e->name = name; /* ownership moves in (engine names may be custom) */
|
|
329
|
+
e->message = message; /* ownership moves in */
|
|
330
|
+
scr_throw_obj(e, &scr_error_retain_v, &scr_error_release_v,
|
|
331
|
+
scr_error_traced ? &scr_error_trace : NULL);
|
|
332
|
+
}
|