Commit Graph

290 Commits

Author SHA1 Message Date
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
Stephen Chung
7788e1058a Merge use. 2022-04-13 10:35:10 +08:00
Stephen Chung
63359f3f81 Unused parameters naming. 2022-04-11 16:29:16 +08:00
Stephen Chung
6369fa5c65 Minor refactor. 2022-03-27 21:53:50 +08:00
Stephen Chung
5caf20d26b Search for global variables in global modules. 2022-03-27 21:49:34 +08:00
Stephen Chung
99118fe2c3 Minor refactors. 2022-03-20 21:58:43 +08:00
Stephen Chung
1e4abd012c Minor refactor. 2022-03-09 09:25:55 +08:00
Stephen Chung
89426f8b3a Add Scope::set_alias. 2022-03-09 09:25:32 +08:00
Stephen Chung
b35d965e55 Reverse Box<[...]> to Vec. 2022-03-06 16:37:27 +08:00
Stephen Chung
8bda8c64df Refine data structures 2022-03-05 17:57:23 +08:00
Stephen Chung
e06c2b2abb Remove constants in function call expressions. 2022-03-05 12:06:47 +08:00
Stephen Chung
0335035b0f Fix bug with eager optimization of method calls. 2022-03-04 12:22:44 +08:00
Stephen Chung
0e9a16e437 Add checks for is_empty. 2022-03-03 13:02:57 +08:00
Stephen Chung
83755bf936 Refine doc comments. 2022-03-01 15:34:15 +08:00
Stephen Chung
8205547d8a Use bitflags. 2022-02-25 11:42:59 +08:00
Stephen Chung
73f10b8adc Minor housekeeping. 2022-02-24 10:36:20 +08:00
Stephen Chung
bb04fab011 Optimize variable shadowing. 2022-02-18 15:04:46 +08:00
Stephen Chung
0d2e3d82f3 Reduce size of Stmt. 2022-02-16 17:51:14 +08:00
Stephen Chung
fb9964e1a3 Revise on_def_var API. 2022-02-15 10:56:05 +08:00
Stephen Chung
5bb6ce835f Run var def filter during parsing. 2022-02-13 18:46:25 +08:00
Stephen Chung
d23d1159ab Fix positions. 2022-02-10 17:55:32 +08:00
Stephen Chung
e5a673b3ae Add position info for closures. 2022-02-09 13:40:51 +08:00
Stephen Chung
340a047369 Add fail on invalid property for maps. 2022-02-09 13:12:43 +08:00
Stephen Chung
8cf6f424a5 Use turbofish notation. 2022-02-08 21:28:15 +08:00
Stephen Chung
83b213b086 Unwrap error when caught. 2022-02-08 19:02:40 +08:00
Stephen Chung
7686ca619a Use .. for (_). 2022-02-08 09:46:14 +08:00
Stephen Chung
f8cee0fe4e Simplify using .. 2022-02-08 09:02:15 +08:00
Stephen Chung
187a20fd8b Refactor OptimizationLevel. 2022-02-07 21:03:39 +08:00
Stephen Chung
556b2393f5 Fix position of function calls. 2022-02-07 16:02:49 +08:00
Stephen Chung
6a740a9fa1 Fix no_module build. 2022-02-04 23:08:09 +08:00
Stephen Chung
be9356727f Add variable definition filter. 2022-02-04 22:59:41 +08:00
Stephen Chung
936dc01e39 Pass level to var resolver. 2022-02-04 22:16:12 +08:00
Stephen Chung
3be27746e0 Add allow_shadowing. 2022-02-04 13:20:47 +08:00
Stephen Chung
6c1c8bc538 Improve position display. 2022-02-04 12:04:33 +08:00
Stephen Chung
9fa6839380 Simplify debugger calls. 2022-02-03 11:56:08 +08:00
Stephen Chung
8322e62c18 Fix function exit trigger and add function enter trigger. 2022-02-02 22:42:33 +08:00
Stephen Chung
db2f1a601c Make call stack available also under no_function. 2022-02-02 15:07:22 +08:00
Stephen Chung
4a80483749 Support call stack and FunctionExit for native functions. 2022-02-02 14:47:35 +08:00
Stephen Chung
7163a7331a Add commands and status to debugging interface. 2022-02-01 22:30:05 +08:00
Stephen Chung
7b92a80c32 Fix encapsulated environment in module functions. 2022-01-30 17:27:13 +08:00
Stephen Chung
19ef92a3f3 Fix builds. 2022-01-29 13:37:58 +08:00
Stephen Chung
6b02dde848 Gate dead code for no_module. 2022-01-29 11:09:43 +08:00
Stephen Chung
4ee6657b9d Fix no_function build. 2022-01-28 22:37:59 +08:00
Stephen Chung
c397a6dcb5 Fix sync build. 2022-01-28 22:07:49 +08:00
Stephen Chung
c93e94c7cd Fix builds. 2022-01-28 21:35:16 +08:00
Stephen Chung
66af69aaff Refactor and add state to debugger. 2022-01-28 18:59:18 +08:00
Stephen Chung
20baae71d4 Factor tuples into structs to aid in understanding. 2022-01-28 10:11:40 +08:00
Stephen Chung
b86dd3f586 Add missing data size check. 2022-01-28 08:28:31 +08:00
Stephen Chung
b9f2fdb635 Rename AST option flags. 2022-01-28 08:28:17 +08:00
Stephen Chung
e476929597 Remove Box on callback traits. 2022-01-27 23:55:32 +08:00
Stephen Chung
edcc95e205 Skip transitive nodes for debugger. 2022-01-27 16:58:11 +08:00
Stephen Chung
14e42f436f Make scan_imports_raw public. 2022-01-27 16:58:11 +08:00
Stephen Chung
c8357de1c8 Fix feature builds. 2022-01-27 16:58:11 +08:00
Stephen Chung
3c2ac7f0c5 Add ability for debugger to throw errors. 2022-01-27 16:58:11 +08:00
Stephen Chung
b4f679d35f Add property breakpoints. 2022-01-27 16:58:11 +08:00
Stephen Chung
efddc7e91d Add breaking at line. 2022-01-27 16:58:11 +08:00
Stephen Chung
0e5f62574d Fix warnings. 2022-01-27 16:58:11 +08:00
Stephen Chung
3cec9751bf Remove call stack under no_function. 2022-01-27 16:58:11 +08:00
Stephen Chung
40aaab60c3 Refine debugger. 2022-01-27 16:58:11 +08:00
Stephen Chung
fc87dec128 Add debugging interface. 2022-01-27 16:58:11 +08:00
Stephen Chung
8d34ffb9f5 Fix bug in try block. 2022-01-24 08:34:21 +08:00
Stephen Chung
fb0b071fe0 Add lifetimes to GlobalRuntimeState and EvalState for future needs. 2022-01-22 17:48:07 +08:00
Stephen Chung
f92894e337 Rename GlobalRuntimeStatemodules -> imports. 2022-01-20 08:17:34 +08:00
Stephen Chung
86fc2f7bf1 Refine types display. 2022-01-17 21:51:04 +08:00
Stephen Chung
24b68971a8 Fix offset calc. 2022-01-16 22:54:28 +08:00
Stephen Chung
5935a88958 Revert "Refine examples."
This reverts commit 146129279c.
2022-01-16 22:50:39 +08:00
Stephen Chung
146129279c Refine examples. 2022-01-16 22:45:49 +08:00
Stephen Chung
00b189d0c6 Replace Cow<str> in Scope with SmartString. 2022-01-15 11:26:43 +08:00
Stephen Chung
2a8a8c00f5 Refine calc_index API. 2022-01-15 10:24:08 +08:00
Stephen Chung
a8ec984b0f Fix unsafe violation in for loop. 2022-01-15 10:18:16 +08:00
Stephen Chung
ae77582028 Minor refactor. 2022-01-14 21:49:38 +08:00
Stephen Chung
96764c0d2d Fix UINT -> UNSIGNED_INT. 2022-01-13 22:51:56 +08:00
Stephen Chung
5e32af0ceb Fix unchecked build. 2022-01-13 21:08:36 +08:00
Stephen Chung
0f4e8848f9 Extract index calculataion into functions. 2022-01-13 18:13:27 +08:00
Stephen Chung
6dedb1ed9f Fix no_std builds. 2022-01-11 11:33:54 +08:00
Stephen Chung
f205091d0a Inline traits impl. 2022-01-10 22:51:24 +08:00
Stephen Chung
5d90b3274c Catch unsupported custom syntax. 2022-01-10 20:08:03 +08:00
Stephen Chung
ea6c264f5f Fix builds. 2022-01-10 13:43:30 +08:00
Stephen Chung
1e0d46fc13 Fix debug print for GlobalRuntimeStates. 2022-01-09 18:43:12 +08:00
Stephen Chung
e4e2bb3356 Fix builds. 2022-01-09 12:44:24 +08:00
Stephen Chung
d1749131c5 Add missing data size check. 2022-01-08 23:23:43 +08:00
Stephen Chung
f399e8a905 Evaluate function call args more efficiently. 2022-01-08 18:40:19 +08:00
Stephen Chung
047e65223d Fix builds. 2022-01-07 12:19:01 +08:00
Stephen Chung
a267ac5e54 Split Engine into eval folder. 2022-01-07 11:43:47 +08:00