Commit Graph

233 Commits

Author SHA1 Message Date
Stephen Chung
c24794187f Reduce unnecessary generics. 2022-10-20 15:31:57 +08:00
Stephen Chung
988222418e Check data size at built-in. 2022-10-20 11:38:54 +08:00
Stephen Chung
9f36afc84c Check result size in op assignment. 2022-10-20 09:53:11 +08:00
Stephen Chung
d49dca8a29 Fix test. 2022-10-18 16:54:26 +08:00
Stephen Chung
4642895de8 Change loops to iterators. 2022-10-18 15:44:24 +08:00
Stephen Chung
530109275f Minor code restructure. 2022-10-16 11:35:21 +08:00
Stephen Chung
ac05f0a0a8 Check if function calls cannot be scripted. 2022-10-14 18:31:40 +08:00
Stephen Chung
38e47c909d Streamline code. 2022-10-14 14:04:54 +08:00
Stephen Chung
3d0626c76f Streamline global state. 2022-10-14 12:23:04 +08:00
Stephen Chung
b65b7b05a5 Allow global functions in non-aliased imports. 2022-10-14 12:14:28 +08:00
Stephen Chung
d6b0f99781 Refactor. 2022-10-10 16:46:35 +08:00
Stephen Chung
42c0eeed57 Remove unnecessary unchecked gates. 2022-10-05 15:07:54 +08:00
Stephen Chung
80f95b6f2a Fix no_module. 2022-10-04 16:27:04 +08:00
Stephen Chung
891214470b Make limit getters available without unchecked. 2022-10-04 15:33:51 +08:00
Stephen Chung
6c777e68d3 Refine inlining. 2022-09-28 12:06:22 +08:00
Stephen Chung
82b64e9c7a Fix builds. 2022-09-27 23:08:27 +08:00
Stephen Chung
fde8483f54 Optimize functions calling. 2022-09-27 23:04:22 +08:00
Stephen Chung
25476d1cea Mark debug functions cold. 2022-09-27 08:52:39 +08:00
Stephen Chung
bf02d040e2 Use tokens to speed up function name lookup. 2022-09-25 23:03:18 +08:00
Stephen Chung
ece522ce2f Refactor fast operators. 2022-09-25 18:22:48 +08:00
Stephen Chung
b56a9c22f3 Refactor. 2022-09-25 12:24:03 +08:00
Stephen Chung
2b8578d3cb Fix bug. 2022-09-21 19:06:18 +08:00
Stephen Chung
6eef11123a Do not search for global functions if scripted. 2022-09-21 18:30:12 +08:00
Stephen Chung
5d275b5307 Simplify to calc_fn_hash. 2022-09-21 11:46:23 +08:00
Stephen Chung
396ec7df8a Add #[cold] tags. 2022-09-13 22:54:13 +08:00
Stephen Chung
4be8062924 Optimize Module. 2022-09-13 18:23:34 +08:00
Stephen Chung
40a12b2b7d Remove key type from StraightHashMap. 2022-09-12 23:08:38 +08:00
Stephen Chung
08f6682d09 Use is_absent_and_set. 2022-09-12 22:40:52 +08:00
Stephen Chung
44219c732c Do not cache "one-hit wonders" 2022-09-12 19:47:29 +08:00
Stephen Chung
c1ae9e0405 Add state to custom syntax. 2022-09-12 12:03:32 +08:00
quake
a3ce137500 chore: auto deref 2022-09-06 15:32:37 +09:00
quake
8ee501e4d9 pref: remove Rc/Arc::from_box 2022-09-06 14:51:32 +09:00
quake
ab23094d65 perf: reduce one hashmap lookup 2022-09-06 12:51:44 +09:00
quake
d515eaf7cd chore: apply reviewers comment 2022-09-05 19:22:30 +09:00
quake
239438754c perf: change BTreeMap to StraightHashMap 2022-09-05 13:13:06 +09: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
defdc2a5bc Revise style. 2022-09-03 16:21:45 +08:00
Stephen Chung
2de4325d7e Use fast operators mode in rhai-run. 2022-09-03 15:31:29 +08:00
Stephen Chung
06dea067b7 Change fast_ops to options. 2022-09-03 15:15:42 +08:00
Stephen Chung
43c4d7e3ca Use standard operator to short-circuit. 2022-09-03 12:35:00 +08:00
Stephen Chung
75512bfd2f Remove log print. 2022-09-03 12:26:55 +08:00
Stephen Chung
fcdd2eb143 Use caching for fast operators. 2022-09-03 11:27:13 +08:00
Stephen Chung
0516e8088c Add fast-ops feature. 2022-09-02 23:45:25 +08:00
Stephen Chung
80772df4f4 Shut up clippy. 2022-08-29 14:27:05 +08:00
Stephen Chung
bf5d6ab35a Shut up clippy. 2022-08-27 16:26:41 +08:00
Stephen Chung
799dd9d9d1 Add fallible type iterators. 2022-08-22 13:10:32 +08:00
Stephen Chung
8c20801574 Add parameter to debugger init. 2022-08-20 15:04:17 +08:00
Stephen Chung
a51f6138f6 Reduce API changes. 2022-08-19 13:21:47 +08:00
Stephen Chung
a9b6e8b98c Fix builds. 2022-08-18 21:16:42 +08:00
Stephen Chung
9813f657bb Use ImmutableString for AST. 2022-08-13 18:40:14 +08:00
Stephen Chung
28743594d0 Use interned strings for AST nodes. 2022-08-13 18:07:42 +08:00
Stephen Chung
cba394d73c Revise strings interning. 2022-08-12 16:34:57 +08:00
Stephen Chung
be448dfe4d Use identifiers in format! 2022-08-11 19:01:23 +08:00
Stephen Chung
255af006ee Fix doc comments. 2022-08-10 12:48:37 +08:00
Stephen Chung
d8532b48b6 Add function pointer short-hand. 2022-08-05 23:30:44 +08:00
Stephen Chung
fc976172e7 Fix bug with capturing undefined variable. 2022-07-29 09:43:40 +08:00
Stephen Chung
2f948a784c Clean up more clippy. 2022-07-27 18:04:59 +08:00
Stephen Chung
39dee556c4 Clean up clippy. 2022-07-27 16:04:24 +08:00
Stephen Chung
8215c75a17 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-07-20 21:09:03 +08:00
Stephen Chung
ff6a448b77 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-07-20 21:06:36 +08:00
quake
a0c07631e2 chore: clippy fix rust style 2022-07-20 21:38:50 +09:00
quake
8d91e7eb63 chore: clippy fix useless_conversion 2022-07-20 21:28:40 +09:00
quake
299777f1c9 chore: clippy fix needless_borrow 2022-07-20 21:16:35 +09:00
Stephen Chung
5149c56256 Streamline switch case AST structure. 2022-07-19 13:33:53 +08:00
Stephen Chung
f2724444bb Make default switch case Optional. 2022-07-18 22:30:09 +08:00
Stephen Chung
7dca916c45 Allow duplicated switch cases. 2022-07-18 13:40:41 +08:00
Stephen Chung
fedd09053a Fix typo. 2022-07-06 13:13:21 +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
b6528bd51d Reduce usage of as_ref and as_mut. 2022-07-05 16:26:38 +08:00
Stephen Chung
dee66a409f Add case alternatives for switch. 2022-07-04 17:42:24 +08:00
Stephen Chung
0031678cd4 Fix shared variable assignment. 2022-06-26 18:09:15 +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
dcaac20eb9 Strict mode in functions check for static modules. 2022-06-09 17:59:28 +08:00
Stephen Chung
e5f6b28abd Fix warnings. 2022-06-08 17:06:49 +08:00
Stephen Chung
bbaad8dfcb Speed up method calls. 2022-06-08 16:34:56 +08:00
Stephen Chung
f4ebaa7abf Improve chaining speed. 2022-06-08 09:19:21 +08:00
Stephen Chung
8615960cd6 Fix feature. 2022-06-07 20:52:04 +08:00
Stephen Chung
8501d9d33f Improve speed on common dot/index expressions. 2022-06-07 20:38:05 +08:00
Stephen Chung
84e3296559 Fix bug on chaining function calls returning shared values. 2022-06-07 11:31:46 +08:00
Stephen Chung
6ebe002b18 Check for missing docs. 2022-06-05 18:17:44 +08:00
Stephen Chung
0e363bd6b7 Make Caches a struct. 2022-05-24 19:34:47 +08:00
Stephen Chung
07d3dd6882 Add lifetime to Caches. 2022-05-24 11:52:03 +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
dd8c18369b Use call_native_fn. 2022-05-19 14:36:58 +08:00
Stephen Chung
7c8c6659ae Better encapsulate EvalContext. 2022-05-17 16:21:17 +08:00
Stephen Chung
4194e2c048 Refine data structures. 2022-05-07 15:54:44 +08:00
Stephen Chung
516f5a82a0 Use tag for debugger state. 2022-05-03 21:55:01 +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
770b2e04cc Simplify switch condition. 2022-04-19 16:20:43 +08:00
Stephen Chung
f9ee0c29be Fix builds. 2022-04-18 23:24:08 +08:00
Stephen Chung
60a933862e Streamline op-assignments. 2022-04-18 23:12:47 +08:00
Stephen Chung
daf73d5341 Make caches optional for EvalContext. 2022-04-16 23:32:14 +08:00
Stephen Chung
855cb76246 Rename EvalState to Caches. 2022-04-16 16:36:53 +08:00
Stephen Chung
3ff1ce0a19 Fix compound assignments with indexers. 2022-04-14 22:55:39 +08:00