Commit Graph

441 Commits

Author SHA1 Message Date
Stephen Chung
a1d42b826a Simplify Dynamic::as_XXX calls. 2022-11-09 20:18:11 +08:00
Stephen Chung
ce046422f0 Add Dynamic::is_XXX API. 2022-11-09 12:44:57 +08:00
Stephen Chung
e93923b3b6 Move level into GlobalRuntimeState. 2022-11-08 21:28:20 +08:00
Stephen Chung
b4529b6a64 Add storage API for NativeCallContext. 2022-11-07 16:19:10 +08:00
Stephen Chung
d2cd70bf53 Minor stylistic fixes. 2022-11-04 21:22:31 +08:00
Stephen Chung
c14fbdb14d Add loop expressions. 2022-10-29 12:09:18 +08:00
Stephen Chung
4100645512 Move pure checking out of functions. 2022-10-27 20:42:10 +08:00
Stephen Chung
a6a570131a Add no_time. 2022-10-15 12:37:42 +08:00
Stephen Chung
ea63c66cf0 Add call_native_fn for context. 2022-10-14 16:57:14 +08:00
Stephen Chung
b65b7b05a5 Allow global functions in non-aliased imports. 2022-10-14 12:14:28 +08:00
Stephen Chung
31d045279f Fix imports in eval. 2022-10-14 11:57:36 +08:00
Stephen Chung
d6b0f99781 Refactor. 2022-10-10 16:46:35 +08:00
Stephen Chung
891214470b Make limit getters available without unchecked. 2022-10-04 15:33:51 +08:00
Stephen Chung
e8fd965eba Add parse_json. 2022-09-29 22:46:59 +08:00
Stephen Chung
b141e8d0e1 Do not use stable hashing with all-zero seed. 2022-09-27 16:39:19 +08:00
Stephen Chung
2ecf44a48e Remove stable_hash feature and use environment variable. 2022-09-27 13:23:47 +08:00
Stephen Chung
20d4b71591 Add stable_hash. 2022-09-26 23:45:50 +08:00
Stephen Chung
8d1310c0f3 Make Scope serializable. 2022-09-26 18:14:45 +08:00
Stephen Chung
def1a683ef Distinguish string literals from identifiers in custom syntax parser. 2022-09-24 16:59:01 +08:00
Stephen Chung
f2b1184805 Remove need for smartstring/std. 2022-09-22 23:11:38 +08:00
Stephen Chung
ea5ff2ac5f Bump version to 1.10.1. 2022-09-22 18:23:08 +08:00
Stephen Chung
640471f865 Revert "Enable capacity on packages."
This reverts commit 85ca6ec4a1.
2022-09-14 15:17:36 +08:00
Stephen Chung
85ca6ec4a1 Enable capacity on packages. 2022-09-13 21:47:11 +08:00
Stephen Chung
c1ae9e0405 Add state to custom syntax. 2022-09-12 12:03:32 +08:00
Stephen Chung
040f28f5cd Types in constants and variables for definitions. 2022-09-08 10:53:55 +08:00
Stephen Chung
c7da3c6edb Speed up unary operators. 2022-09-04 18:12:38 +08:00
Stephen Chung
702bb9030a Make fast operators the default. 2022-09-03 22:07:36 +08:00
Stephen Chung
1ae0a4c761 Add fast operators to benchmarks. 2022-09-03 15:48:00 +08:00
Stephen Chung
06dea067b7 Change fast_ops to options. 2022-09-03 15:15:42 +08:00
Stephen Chung
75512bfd2f Remove log print. 2022-09-03 12:26:55 +08:00
Stephen Chung
044484c756 Merge 1.9.1 fixes. 2022-08-29 22:42:46 +08:00
Stephen Chung
0870318e4e Fix bug in strict variables mode. 2022-08-29 22:26:07 +08:00
Stephen Chung
1389541e7d Set minimum Rust version to 1.61.0. 2022-08-27 17:28:59 +08:00
Stephen Chung
d80184ba14 Allow if-expressions and switch-expressions in Engine::eval_expression. 2022-08-26 23:10:58 +08:00
Stephen Chung
296d5c054c Use simple optimization for rhai-run. 2022-08-26 11:23:16 +08:00
Stephen Chung
b36f746dbe Add Engine::module_resolver. 2022-08-25 22:25:41 +08:00
Stephen Chung
5c80157e7a Store path in module id. 2022-08-25 22:17:01 +08:00
Stephen Chung
ca1b7f6a39 Refine is_empty methods. 2022-08-24 21:58:08 +08:00
Stephen Chung
a9413dc570 Remove _result registration methods. 2022-08-22 22:16:26 +08:00
Stephen Chung
799dd9d9d1 Add fallible type iterators. 2022-08-22 13:10:32 +08:00
Stephen Chung
1deed8cd55 Fix generic parameters. 2022-08-22 00:15:00 +08:00
Stephen Chung
80a23ddaa2 Allow registration of getters/setters/indexers with NativeCallContext. 2022-08-21 22:59:49 +08:00
Stephen Chung
689ed48235 Add missing reserved tokens. 2022-08-20 21:55:00 +08:00
Stephen Chung
8c20801574 Add parameter to debugger init. 2022-08-20 15:04:17 +08:00
Stephen Chung
83589be58e New packages API. 2022-08-18 17:22:56 +08:00
Stephen Chung
1bba34b9b7 Reserve |> and <| symbols. 2022-08-18 16:59:54 +08:00
Stephen Chung
b35a9762fb Set AST source on compile. 2022-08-14 18:22:07 +08:00
Stephen Chung
ac1f661ab0 Add std feature. 2022-08-12 09:59:48 +08:00
Stephen Chung
ac93a0bbbc Fix bug in namespace searching. 2022-08-09 21:35:45 +08:00
Stephen Chung
47f02b96d7 Add top-level wrappers. 2022-08-08 09:10:15 +08:00
Stephen Chung
d8532b48b6 Add function pointer short-hand. 2022-08-05 23:30:44 +08:00
Stephen Chung
1073a7bd54 Fix bug in constant interpolated string. 2022-07-29 10:49:03 +08:00
Stephen Chung
fc976172e7 Fix bug with capturing undefined variable. 2022-07-29 09:43:40 +08:00
Stephen Chung
ea38185cac Add ParseError:err_type and ParseError::position. 2022-07-29 09:42:30 +08:00
Stephen Chung
39dee556c4 Clean up clippy. 2022-07-27 16:04:24 +08:00
Stephen Chung
21f822020f Add Scope::remove. 2022-07-27 11:35:40 +08:00
Stephen Chung
8e21c4727b Fix definitions API code styles and formatting. 2022-07-26 22:38:40 +08:00
Stephen Chung
a76f4dd6d3 Rename Iterator<Item=T> to Iterator<T> 2022-07-26 14:46:34 +08:00
Stephen Chung
492d79d8a2 Add documentation to Module. 2022-07-25 17:42:15 +08:00
Stephen Chung
5d799fd325 Add module documentation. 2022-07-25 13:40:23 +08:00
Stephen Chung
f85ad28e93 Add FnNamespace methods. 2022-07-21 14:01:28 +08:00
Stephen Chung
6bc0118074 Add FnAccess methods. 2022-07-21 14:01:28 +08:00
Stephen Chung
753e527cbb Fix BLOB and string operations. 2022-07-20 21:17:21 +08:00
Stephen Chung
281e94fc62 Switch case condition that is constant () no longer optimizes to false. 2022-07-18 23:28:12 +08:00
Stephen Chung
7dca916c45 Allow duplicated switch cases. 2022-07-18 13:40:41 +08:00
Stephen Chung
4b760d1d0f Unroll switch ranges if possible. 2022-07-18 08:54:10 +08:00
Stephen Chung
a12401a1fe New range variant. 2022-07-17 12:09:19 +08:00
Stephen Chung
0555069de0 Bump minimum Rust version. 2022-07-13 19:21:13 +08:00
Stephen Chung
dda7bc7b85 Add eval_expression_tree_raw. 2022-07-06 12:56:15 +08:00
Stephen Chung
b4dbc7619a Add no_custom_syntax. 2022-07-05 22:59:03 +08:00
Stephen Chung
dee66a409f Add case alternatives for switch. 2022-07-04 17:42:24 +08:00
Stephen Chung
335957fbc2 Enable modifying constant shared values. 2022-06-26 17:04:08 +08:00
Stephen Chung
2b44778a5c Add elvis operator for indexing. 2022-06-12 00:32:12 +08:00
Stephen Chung
8999872d62 Add null coalescing operator. 2022-06-10 11:22:33 +08:00
Stephen Chung
0f1e51b1c9 Support Elvis operator. 2022-06-10 10:26:06 +08:00
Stephen Chung
206318e14c Add new reserved symbols. 2022-06-10 08:47:22 +08:00
Stephen Chung
dcaac20eb9 Strict mode in functions check for static modules. 2022-06-09 17:59:28 +08:00
Stephen Chung
f4ebaa7abf Improve chaining speed. 2022-06-08 09:19:21 +08:00
Stephen Chung
84e3296559 Fix bug on chaining function calls returning shared values. 2022-06-07 11:31:46 +08:00
Stephen Chung
5dc8b20c8d Add #[doc(hidden)] to plugin-generated artifacts. 2022-06-05 18:07:20 +08:00
Stephen Chung
52bb6e68e8 Add Scope::get. 2022-05-24 16:05:17 +08:00
Stephen Chung
e4d492c727 Fix no_object build. 2022-05-23 22:58:15 +08:00
Stephen Chung
1abec0a8a8 Allow initialization of EvalState tag and separate debugger state into separate variable. 2022-05-21 21:44:12 +08:00
Stephen Chung
5435fdb8c8 Fix tests. 2022-05-21 11:57:23 +08:00
Stephen Chung
46c1d86221 Fix merge AST with self-contained AST. 2022-05-20 21:49:27 +08:00
Stephen Chung
a53bcc2e1d Add EvalAltResult::IndexNotFound. 2022-05-19 10:02:12 +08:00
Stephen Chung
04df4d2547 Fix indexing parsing. 2022-05-17 11:06:34 +08:00
Stephen Chung
c7aea45d4b Add to_int for decimal. 2022-05-09 14:20:33 +08:00
Stephen Chung
fc64e93b93 Deprecate FnPtr::num_curried. 2022-05-05 22:30:55 +08:00
Stephen Chung
b23d64bec0 Fix bug with using self-contained AST with call_fn. 2022-05-05 21:34:15 +08:00
Stephen Chung
2a57bd9d25 Mark some types as non_exhaustive. 2022-05-03 21:55:08 +08:00
Stephen Chung
c69f98c2c4 Add custom state. 2022-05-02 00:03:45 +08:00
Stephen Chung
2889ca0988 Add Start/End to DebuggerEvent. 2022-04-26 16:36:24 +08:00
Stephen Chung
1d904f4758 Add Engine::eval_statements_raw. 2022-04-23 13:37:08 +08:00
Stephen Chung
0ef5c0ec54 Change to call_fn_raw_raw. 2022-04-23 13:28:26 +08:00
Stephen Chung
d61f7fa7c2 Add call_fn_with_global_raw. 2022-04-23 13:15:27 +08:00
Stephen Chung
5a75479119 Fix bug in Scope cloning. 2022-04-23 11:53:17 +08:00
Stephen Chung
71bc605fe6 Add scope to FileModuleResolver. 2022-04-22 13:39:51 +08:00
Stephen Chung
a6c2c00479 Allow variables in scope for strict vars. 2022-04-22 12:12:36 +08:00
Stephen Chung
6b8ddd925b Allow scope constants in strict variables mode. 2022-04-21 13:21:53 +08:00