Commit Graph

316 Commits

Author SHA1 Message Date
Stephen Chung
b880893154 Allow negative shift bits. 2022-12-18 14:51:38 +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
2c55c248fb Fix builds. 2022-12-11 17:18:14 +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
30ff208104 Improve reify! syntax. 2022-12-09 16:41:01 +08:00
Stephen Chung
3d5908480a Use fluent style. 2022-12-09 10:04:44 +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
58769dbb52 Use unwrap instead of expect. 2022-12-03 22:55:40 +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
ffc8a7f85c Fix builds. 2022-12-03 12:08:35 +08:00
Stephen Chung
4e33bcfa0a Use constant booleans for trait. 2022-12-03 11:23:34 +08:00
Stephen Chung
09272d08e9 Add documentation. 2022-12-03 10:05:15 +08:00
Stephen Chung
f41bdb7769 Hard code number of parameters. 2022-12-03 09:14:16 +08:00
Stephen Chung
e53be6e8ed Avoid allocations in metadata. 2022-12-02 16:44:45 +08:00
Stephen Chung
ed423740c9 Use FnArgsVec for params. 2022-12-01 17:45:33 +08:00
Stephen Chung
acadb58f4f Add short-cut to !. 2022-11-30 14:11:57 +08:00
Stephen Chung
c509cc896d Revise documentation. 2022-11-29 15:50:58 +08:00
Stephen Chung
0c85f0c796 Code cleanup and refactor. 2022-11-28 23:24:22 +08:00
Stephen Chung
fcc7589ffc Refine error display. 2022-11-27 18:00:02 +08:00
Stephen Chung
549193f49b Use operator. 2022-11-27 17:21:44 +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
6600862c22 Satisfy clippy. 2022-11-25 09:46:13 +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
4e27039521 Use bitflags. 2022-11-23 11:36:30 +08:00
Stephen Chung
d911327242 Use SmartString for buffers and literal_syntax can panic. 2022-11-22 23:30:43 +08:00
Stephen Chung
d151c87687 Change call_fn_raw to call_fn_with_options. 2022-11-21 23:42:29 +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
9e5e18af61 Export locked_read and locked_write under internals. 2022-11-15 11:22:00 +08:00
Stephen Chung
0984f2d4df Fix docs. 2022-11-11 16:46:28 +08:00
Stephen Chung
d3fc711f33 Add missing doc comment. 2022-11-11 15:01:38 +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
3800a6d9f5 Remove indirection. 2022-11-09 21:48:54 +08:00
Stephen Chung
1b248b5af7 Speed up static hashing default case. 2022-11-09 21:16:28 +08:00
Stephen Chung
a07eb65f02 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-11-09 20:24:37 +08:00
Stephen Chung
a1d42b826a Simplify Dynamic::as_XXX calls. 2022-11-09 20:18:11 +08:00
l1npengtul (Lua)
ad080ff944
Merge branch 'rhaiscript:main' into static_hash_finetune 2022-11-09 03:15:24 -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
b4529b6a64 Add storage API for NativeCallContext. 2022-11-07 16:19:10 +08:00
Stephen Chung
0c79471fd3 Change lib to &[Shared<Module>] and remove dummy lifetimes. 2022-11-07 16:18:59 +08:00
l1npengtul
c49948def4 address concerns 1, 2 2022-11-05 22:46:08 +09:00
Stephen Chung
470af6af71 Using hashing for full hash instead of xor. 2022-11-04 21:59:49 +08:00
Stephen Chung
35b02ce9b7 Make parameters order uniform. 2022-11-04 21:47:09 +08:00
Stephen Chung
0756994038 Fix no_function. 2022-11-04 21:42:57 +08:00
Stephen Chung
d80555e204 Fix no_function build. 2022-11-04 21:28:04 +08:00
Stephen Chung
ed971df8f3 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-11-04 19:19:40 +08:00
Stephen Chung
2a5ef0bee1 Refactor is_anonymous. 2022-11-03 12:00:56 +08:00
l1npengtul
bb01f914e0 Address concerns 2022-11-01 00:59:07 +09:00
l1npengtul
3e6a3a2759 Stable Hash: Add feature, adjust CI, modify build.rs, add new API for accessing and setting the ahash seed in config.rs, make config.rs public 2022-10-31 22:14:09 +09:00
Stephen Chung
32493524ed Code cleanup. 2022-10-30 22:16:09 +08:00
Stephen Chung
dc5e80c821 Fix builds. 2022-10-30 19:01:51 +08:00
Stephen Chung
22ee12531c Code cleanup. 2022-10-30 18:43:18 +08:00
Stephen Chung
8b773aa15e Fix builds. 2022-10-30 16:13:51 +08:00
Stephen Chung
c9184db4d2 Refine native/script code splits. 2022-10-30 15:45:25 +08:00
Stephen Chung
91415b9750 Use ImmutableString in more places. 2022-10-29 14:59:20 +08:00
Stephen Chung
4100e6da64 Use ImmutableString for source. 2022-10-29 14:12:18 +08:00
Stephen Chung
25fde7dbed Fix tests. 2022-10-27 22:08:47 +08:00
Stephen Chung
4100645512 Move pure checking out of functions. 2022-10-27 20:42:10 +08:00
Stephen Chung
4708fde8bd Compact data structures. 2022-10-27 15:52:24 +08:00
Stephen Chung
3c2e031883 Use variable interpolation for println!. 2022-10-27 13:38:21 +08:00
Stephen Chung
05b9c83bb8 Reformat. 2022-10-24 23:33:33 +08:00
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
ac05f0a0a8 Check if function calls cannot be scripted. 2022-10-14 18:31:40 +08:00
Stephen Chung
ea63c66cf0 Add call_native_fn for context. 2022-10-14 16:57:14 +08:00
Stephen Chung
71e475be13 Fix no_module build. 2022-10-14 15:23:58 +08:00
Stephen Chung
3d0626c76f Streamline global state. 2022-10-14 12:23:04 +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
42c0eeed57 Remove unnecessary unchecked gates. 2022-10-05 15:07:54 +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
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
25476d1cea Mark debug functions cold. 2022-09-27 08:52:39 +08:00
Stephen Chung
20d4b71591 Add stable_hash. 2022-09-26 23:45:50 +08:00
Stephen Chung
3a3653f42a Refactor. 2022-09-26 23:35:37 +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
6eef11123a Do not search for global functions if scripted. 2022-09-21 18:30:12 +08:00