167 Commits

Author SHA1 Message Date
Stephen Chung
51581cdef5 Make Engine faster to create. 2023-02-25 19:57:19 +08:00
Stephen Chung
14e205cabc Satisfy msrv by removing then_some. 2023-02-21 18:16:03 +08:00
Stephen Chung
129a5c6e86 Use then/then_some to simplify. 2023-02-21 16:36:57 +08:00
Stephen Chung
d0a47d7f66 Refactor to do more pre-calculation work. 2023-02-12 21:50:32 +08:00
Stephen Chung
9f18d6519d Use debug_assert!. 2023-02-12 00:13:54 +08:00
Stephen Chung
9cb5154979 Refactor FnCallHashes. 2023-02-11 12:52:07 +08:00
Stephen Chung
e177a5648a Remove hashing hack. 2023-02-11 11:56:20 +08:00
Stephen Chung
4fe80a2026 Use &Token for op. 2023-02-10 23:42:13 +08:00
Stephen Chung
6400b33b1b Use bitflag options for chains parsing. 2023-01-30 12:31:33 +08:00
Stephen Chung
ea3efe654c Avoid unnecessarily creating Scope. 2023-01-11 11:42:46 +08:00
Stephen Chung
1a00ca0905 Change try_for_each to for. 2022-12-29 13:35:42 +08:00
Stephen Chung
00c434eb71 Use Option<Token> instead of Token::NONE. 2022-12-27 22:51:38 +08:00
Stephen Chung
bb1136e8ad Refine what can be called in method style. 2022-12-27 22:06:51 +08:00
Stephen Chung
d47bfa431a Revise built-in macros. 2022-12-26 11:46:11 +08:00
Stephen Chung
80ccd75514 Satisfy clippy. 2022-12-22 17:34:58 +08:00
Stephen Chung
babc0b5466 Remove Dynamic::NULL, use .as_deref_mut() for this_ptr. 2022-12-20 16:52:55 +08:00
Stephen Chung
ee53108d3a Fixes Miri faults. 2022-12-15 22:33:11 +08:00
Stephen Chung
da7a887f67 Change to struct variants for better flexibility. 2022-12-14 12:07:33 +08:00
Stephen Chung
db7410776a Recursively store encapsulated environment into values. 2022-12-13 13:06:28 +08:00
Stephen Chung
d350a948e7 Allow exporting function pointers from modules. 2022-12-12 18:31:02 +08:00
Stephen Chung
67a7ab4069 Move encapsulated environment out of ScriptFnDef. 2022-12-12 16:06:24 +08:00
Stephen Chung
1f815f995f Speed up FnPtr::call when there is a linked scripted function. 2022-12-11 16:55:30 +08:00
Stephen Chung
91f149270a Add link to scripted function definition. 2022-12-11 00:08:25 +08:00
Stephen Chung
8bcb771281 Refine auto_restore syntax. 2022-12-10 22:37:13 +08:00
Stephen Chung
f15a9a7c9c Minor cleanup. 2022-12-09 20:42:55 +08:00
Stephen Chung
e2bd0705b1 Refine auto_restore syntax. 2022-12-04 22:47:10 +08:00
Stephen Chung
de0707f64f Use macro auto_restore!. 2022-12-04 14:06:54 +08:00
Stephen Chung
4998eb6139 Add has_context to plugin functions. 2022-12-03 17:03:15 +08:00
Stephen Chung
55922b5c20 Hard code constant checking. 2022-12-03 16:20:13 +08:00
Stephen Chung
acadb58f4f Add short-cut to !. 2022-11-30 14:11:57 +08:00
Stephen Chung
0c85f0c796 Code cleanup and refactor. 2022-11-28 23:24:22 +08:00
Stephen Chung
e8e1706d98 Use as_deref(). 2022-11-25 23:03:20 +08:00
Stephen Chung
d645d8271c More code refactor. 2022-11-25 20:42:16 +08:00
Stephen Chung
2bf8e610a3 Reduce size of Engine. 2022-11-24 22:58:42 +08:00
Stephen Chung
bda8c2b636 Reduce data sizes. 2022-11-24 20:35:56 +08:00
Stephen Chung
31292e683d Satisfy Clippy. 2022-11-23 13:24:14 +08:00
Stephen Chung
4304da7a47 Fix builds. 2022-11-19 18:57:15 +08:00
Stephen Chung
62d707ff84 Simplify chaining code. 2022-11-19 18:41:51 +08:00
Stephen Chung
bf845fbd7a Export CallableFunction. 2022-11-17 18:05:52 +08:00
Stephen Chung
fca71b5ed2 Reduce call to Module::is_empty. 2022-11-10 23:57:46 +08:00
Stephen Chung
013ee223ee Cleanup. 2022-11-10 14:25:48 +08:00
Stephen Chung
54353c6676 Fix no_function build. 2022-11-10 12:16:23 +08:00
Stephen Chung
3a028f2642 Move lib into global. 2022-11-10 11:49:10 +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
8f128f37f0 Add Dynamic::NULL to simplify this pointer binding. 2022-11-08 16:16:42 +08:00
Stephen Chung
6053aa1641 Clean up types. 2022-11-08 15:01:40 +08:00
Stephen Chung
f4e2901353 Use RestoreOnDrop. 2022-11-08 11:52:46 +08:00
Stephen Chung
0c79471fd3 Change lib to &[Shared<Module>] and remove dummy lifetimes. 2022-11-07 16:18:59 +08:00
Stephen Chung
470af6af71 Using hashing for full hash instead of xor. 2022-11-04 21:59:49 +08:00