Stephen Chung
8e35f98477
Fix build.
2022-10-29 14:27:30 +08:00
Stephen Chung
4100e6da64
Use ImmutableString for source.
2022-10-29 14:12:18 +08:00
Stephen Chung
68bd84417a
Fix tests.
2022-10-29 12:56:35 +08:00
Stephen Chung
c14fbdb14d
Add loop expressions.
2022-10-29 12:09:18 +08:00
Stephen Chung
6af66d3ed3
Code cleanup.
2022-10-29 10:40:07 +08:00
Stephen Chung
6ce1dae110
Simplify integer bits iterator.
2022-10-29 10:27:39 +08:00
Stephen Chung
6de493c8c2
Fix builds.
2022-10-27 22:25: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
6b24cc151e
Add auto-gen notice to build template.
2022-10-25 20:53:27 +08:00
Stephen Chung
6702fe349c
Add index to Share statement.
2022-10-25 10:05:31 +08:00
Stephen Chung
6880d44900
Remove unnecessary data.
2022-10-25 08:31:13 +08:00
Stephen Chung
05b9c83bb8
Reformat.
2022-10-24 23:33:33 +08:00
Stephen Chung
d55b5a91f7
Fill variable index on captured variables in closures.
2022-10-24 23:33:24 +08:00
Stephen Chung
2f88757efe
Fix builds.
2022-10-21 19:02:40 +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
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
45f0fdcbe0
no_std = no_time.
2022-10-15 15:11:51 +08:00
Stephen Chung
a6a570131a
Add no_time.
2022-10-15 12:37:42 +08:00
Stephen Chung
9b226f321e
Use template to create config.rs.
2022-10-15 12:04:14 +08:00
Stephen Chung
5035dcbf47
Fix builds.
2022-10-14 18:43:25 +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
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
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
796206f293
Fix build.
2022-10-05 15:15:42 +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
e8fd965eba
Add parse_json.
2022-09-29 22:46:59 +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
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
a518ab62bb
Simplify strings interner.
2022-09-27 08:52:51 +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
8f1cb4aef7
Use string interpolation.
2022-09-26 22:12:28 +08:00
Stephen Chung
8d1310c0f3
Make Scope serializable.
2022-09-26 18:14:45 +08:00
Stephen Chung
335d12e182
Move Variant into separate file.
2022-09-26 12:19:45 +08:00
Stephen Chung
7d87a59315
Fix doc test.
2022-09-25 23:45:51 +08:00
Stephen Chung
e9a270f6ba
Fix feature builds.
2022-09-25 23:07:47 +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
ce56c43bc0
Refactor serde impl.
2022-09-25 16:20:36 +08:00
Stephen Chung
b56a9c22f3
Refactor.
2022-09-25 12:24:03 +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
7a6ce2a35a
Fix test on 32-bit architectures.
2022-09-22 17:20:57 +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
d7ae65c425
Add types to scope variable definitions.
2022-09-17 22:31:38 +08:00
Stephen Chung
a51f741546
Restore global state upon errors.
2022-09-16 18:11:28 +08:00
Stephen Chung
93f43790af
Fix bloom filter on 32-bit arch.
2022-09-15 21:06:04 +08:00
Stephen Chung
c727b529f5
Minor refactors.
2022-09-15 08:55:07 +08:00
Stephen Chung
640471f865
Revert "Enable capacity on packages."
...
This reverts commit 85ca6ec4a1
.
2022-09-14 15:17:36 +08:00
Stephen Chung
72244b74cd
Remove redirection in functions hash map.
2022-09-14 15:11:37 +08:00
Stephen Chung
0280aa82ba
Fix no-std.
2022-09-14 13:45:20 +08:00
Stephen Chung
b256b3ecc7
Use Entry API.
2022-09-14 12:11:27 +08:00
Stephen Chung
b9478e601c
Use SmartString.
2022-09-14 12:11:18 +08:00
Stephen Chung
396ec7df8a
Add #[cold] tags.
2022-09-13 22:54:13 +08:00
Stephen Chung
2458e05dcb
Fix doc test.
2022-09-13 21:56:36 +08:00
Stephen Chung
85ca6ec4a1
Enable capacity on packages.
2022-09-13 21:47:11 +08:00
Stephen Chung
257991ca31
Fix no_function.
2022-09-13 21:12:44 +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
Stephen Chung
32825d2ca8
Fix feature build.
2022-09-10 13:49:21 +08:00
Stephen Chung
1bfedf516d
Use a bloom filter.
2022-09-08 17:49:37 +08:00
Stephen Chung
1476b14831
Fix metadata build.
2022-09-08 10:58:43 +08:00
Stephen Chung
040f28f5cd
Types in constants and variables for definitions.
2022-09-08 10:53:55 +08:00
Stephen Chung
2f7d6298e0
Move format_type into api.
2022-09-08 10:52:58 +08:00
Stephen Chung
faa81ac3fc
Fix no-std build.
2022-09-07 14:37:33 +08:00
Stephen Chung
b0ce3ee445
Use Entry API.
2022-09-07 13:30:31 +08:00
Stephen Chung
a6ce459b32
Merge branch 'main' of https://github.com/rhaiscript/rhai
2022-09-06 17:41:47 +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
563f18a04b
pref: use ExactSizeIterator
2022-09-06 14:16:15 +09:00
quake
ab23094d65
perf: reduce one hashmap lookup
2022-09-06 12:51:44 +09:00
Stephen Chung
158b4ce7bc
Change TypeId to use BTreeMap.
2022-09-05 21:17:07 +08: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
79eb626386
Speed up built-in.
2022-09-03 11:46:20 +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
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
80772df4f4
Shut up clippy.
2022-08-29 14:27:05 +08:00
Stephen Chung
6bc98bd252
Remove extra clippy lints.
2022-08-27 16:29:39 +08:00
Stephen Chung
bf5d6ab35a
Shut up clippy.
2022-08-27 16:26:41 +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
204284f4f7
Add test to recreate NativeCallContext.
2022-08-26 16:20:23 +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
1c335e24dc
Fix formatting.
2022-08-25 08:41:09 +08:00
Stephen Chung
ca1b7f6a39
Refine is_empty methods.
2022-08-24 21:58:08 +08:00
Stephen Chung
ae5e88928e
Merge branch 'main' of https://github.com/rhaiscript/rhai
2022-08-24 21:00:08 +08:00
Stephen Chung
69bb5534ef
Share encapsulated environment.
2022-08-24 20:59:11 +08:00
ltabis
1269d4b34d
feat(ranges): add is_empty
function to inclusive/exclusive ranges.
2022-08-24 13:17:43 +02:00
Stephen Chung
b40ca9e40d
Improve docs.
2022-08-24 18:27:58 +08:00
ltabis
4b3608cedc
feat(data-structures): add is_empty
getter to map, string and blob.
2022-08-24 09:54:41 +02:00
ltabis
9c3443538a
feat(array): add an empty
getter for arrays.
2022-08-23 16:36:43 +02:00
Stephen Chung
010a96dde3
Fix feature builds.
2022-08-22 22:28:27 +08:00
Stephen Chung
a9413dc570
Remove _result registration methods.
2022-08-22 22:16:26 +08:00
Stephen Chung
4ce8d4609d
Refactor CustomType to struct CustomTypeInfo.
2022-08-22 20:52:52 +08:00
Stephen Chung
db865d7538
Fix sync.
2022-08-22 14:02:24 +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
2f02b30b6e
Use String::new() for empty strings.
2022-08-21 17:35:44 +08:00
Stephen Chung
248888ce0b
Fine tune error display.
2022-08-21 17:35:37 +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
a51f6138f6
Reduce API changes.
2022-08-19 13:21:47 +08:00
Stephen Chung
f9d74fe313
Fix tests.
2022-08-18 21:36:00 +08:00
Stephen Chung
a9b6e8b98c
Fix builds.
2022-08-18 21:16:42 +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
5f2262214d
Add docs.
2022-08-14 18:16:35 +08:00
Stephen Chung
855ddd28a6
Update is_empty docs.
2022-08-14 14:39:30 +08:00
Stephen Chung
b75ea94908
Remove Interners struct.
2022-08-14 14:32:16 +08:00
Stephen Chung
f7d910fa55
Use references for JSON metadata.
2022-08-14 14:20:37 +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
1c7b80ed13
Use turbofish for impl Trait.
2022-08-12 22:48:15 +08:00
Stephen Chung
195c81c6ff
Remove debug print.
2022-08-12 16:51:44 +08:00
Stephen Chung
3cb66b7e23
Fix bug.
2022-08-12 16:44:13 +08:00
Stephen Chung
cba394d73c
Revise strings interning.
2022-08-12 16:34:57 +08:00
Stephen Chung
5ba9b3bd1c
Optimize Dynamic::is.
2022-08-12 12:48:35 +08:00
Stephen Chung
8bbb382d9c
Use hashing for strings interner.
2022-08-12 10:34:09 +08:00
Stephen Chung
bfc766f725
Use strings interner.
2022-08-11 22:56:23 +08:00
Stephen Chung
be448dfe4d
Use identifiers in format!
2022-08-11 19:01:23 +08:00
Stephen Chung
ceaf9fab1b
Merge pull request #65 from tguichaoua/type_builder_iterable
...
with_iterator --> is_iterable
2022-08-11 09:39:04 +08:00
Tristan Guichaoua
24bf3c29ef
Merge remote-tracking branch 'other/master' into type_builder_iterable
2022-08-10 17:31:17 +02:00
Tristan Guichaoua
0046c3a330
impl TypeBuilder::is_iterable
2022-08-10 14:00:43 +02:00
Stephen Chung
255af006ee
Fix doc comments.
2022-08-10 12:48:37 +08:00
Stephen Chung
8dc7137913
Disallow import index in closures also.
2022-08-09 21:46:34 +08:00
Stephen Chung
ac93a0bbbc
Fix bug in namespace searching.
2022-08-09 21:35:45 +08:00
Stephen Chung
8408c190dc
Add with_iterator to TypeBuilder.
2022-08-09 18:18:41 +08:00
Stephen Chung
f323644e20
Fix tests.
2022-08-09 17:24:24 +08:00
Stephen Chung
d9a58907d9
Fix up tests and some coding style changes.
2022-08-09 17:07:45 +08:00
Stephen Chung
438dffef78
Merge branch 'main' of https://github.com/rhaiscript/rhai
2022-08-09 16:59:53 +08:00
Tristan Guichaoua
35c2caab07
fix doc
2022-08-09 10:47:53 +02:00
Tristan Guichaoua
217ca79930
rm volatile note on Engine::build_type
2022-08-09 10:36:58 +02:00
Stephen Chung
68c11060d9
Merge branch 'main' of https://github.com/rhaiscript/rhai
2022-08-09 16:31:25 +08:00
Tristan Guichaoua
c29d3c35a3
add missing inlines
2022-08-09 10:19:15 +02:00
Tristan Guichaoua
6d400b747a
fix doc
2022-08-09 10:16:34 +02:00
Tristan Guichaoua
5370031068
inline methods
2022-08-09 10:15:49 +02:00
Tristan Guichaoua
e4e315fb2a
add cfg
2022-08-09 10:14:18 +02:00
Tristan Guichaoua
19dc368cfd
add docs
2022-08-09 10:08:56 +02:00
Tristan Guichaoua
addefec17c
TypeBuilder : split pub/private api impl block
2022-08-09 09:49:55 +02:00
Tristan Guichaoua
de7efa18a5
add volatile api notes
2022-08-09 09:48:46 +02:00
Tristan Guichaoua
6b2d9d2cdd
rm TypeBuilder::build
2022-08-09 09:44:16 +02:00
Tristan Guichaoua
87baed717f
make TypeBuilder::new private
2022-08-09 09:44:01 +02:00
Tristan Guichaoua
acbda7f66c
fix doc typo
2022-08-09 09:43:12 +02:00
Tristan Guichaoua
4432d5063a
impl TypeBuilder
2022-08-08 17:39:15 +02:00
Tristan Guichaoua
1ccb5c0f26
rename RhaiCustomType to CustomType
2022-08-08 15:12:43 +02:00
Tristan Guichaoua
b6937fd21d
add RhaiCustomType trait and build_type method
2022-08-08 14:43:06 +02:00
Stephen Chung
47f02b96d7
Add top-level wrappers.
2022-08-08 09:10:15 +08:00
Stephen Chung
d9ffac17fa
Fix tests.
2022-08-05 23:45:40 +08:00
Stephen Chung
d8532b48b6
Add function pointer short-hand.
2022-08-05 23:30:44 +08:00
Stephen Chung
ccf2b5655a
Add docs on timestamp.
2022-07-31 13:23:15 +08:00
Stephen Chung
13a1147dea
Add include_standard_packages to Definitions.
2022-07-29 13:39:51 +08:00
Stephen Chung
52edded841
Fix formatting.
2022-07-29 11:10:20 +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
6fab9f5b63
Fix build.
2022-07-28 18:08:21 +08:00
Stephen Chung
87687ebf25
Gate definitions with internals feature.
2022-07-28 17:58:22 +08:00
tamasfe
3b8692be55
fix(def): conditional compilation and doc fixes
2022-07-27 23:55:36 +02:00
tamasfe
9fac93d404
feat(defs): nested modules, single file
2022-07-27 23:39:03 +02: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
21f822020f
Add Scope::remove.
2022-07-27 11:35:40 +08:00
Stephen Chung
d42c6b69a3
Map i64 and f64 to int and float in definitions file.
2022-07-26 22:55:24 +08:00
Stephen Chung
8e21c4727b
Fix definitions API code styles and formatting.
2022-07-26 22:38:40 +08:00
Stephen Chung
0bf7baa502
Merge branch 'main' into feat-definitions
2022-07-26 21:18:01 +08:00
tamasfe
4bc2079bd6
fix(defs): builtin operator fixes
2022-07-26 15:10:39 +02:00
tamasfe
7dcf6a5d7a
chore(defs): no stdio on wasm
2022-07-26 14:51:22 +02:00
tamasfe
6d4b5095d2
feat(defs): deterministic function ordering
2022-07-26 14:46:18 +02:00
tamasfe
ade818b043
fix(defs): compile errors
2022-07-26 14:28:54 +02:00
tamasfe
d350462cf8
chore: formatting
2022-07-26 14:18:43 +02:00
tamasfe
fdbe837a5d
feat(defs): iter_files and small fixes
2022-07-26 14:16:54 +02:00
tamasfe
b00bf8535d
fix(defs): conditional compilation and refactors
2022-07-26 13:55:10 +02:00
tamasfe
8ebc50bea8
feat(defs): builtin definitions
2022-07-26 13:39:50 +02:00
Stephen Chung
772087513a
Fix doc test.
2022-07-26 17:19:41 +08:00
Stephen Chung
f188f96974
Fix missing feature gate.
2022-07-26 16:49:05 +08:00
tamasfe
c0785f7004
fix(definitions): no_std and type names
2022-07-26 10:26:23 +02:00
Stephen Chung
a76f4dd6d3
Rename Iterator<Item=T> to Iterator<T>
2022-07-26 14:46:34 +08:00
Stephen Chung
835fa8afa3
Remove warnings.
2022-07-26 12:20:05 +08:00
tamasfe
b7b9ff29e4
feat: basic definitions
2022-07-25 19:01:06 +02:00
Stephen Chung
61056dfb24
Export is_valid_identifier and is_valid_function_name under internals.
2022-07-25 22:05:52 +08:00
Stephen Chung
492d79d8a2
Add documentation to Module.
2022-07-25 17:42:15 +08:00
Stephen Chung
276d4457c3
Add field to get_fn_metadata_list.
2022-07-25 16:59:11 +08:00
Stephen Chung
96bfd93610
Keep module docs as one string.
2022-07-25 14:11:54 +08:00
Stephen Chung
148bbcb860
Fix missing field.
2022-07-25 13:53:28 +08:00
Stephen Chung
5d799fd325
Add module documentation.
2022-07-25 13:40:23 +08:00
Stephen Chung
e8d6e3f57d
Add unreachable comments.
2022-07-23 21:00:58 +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
55dd55322b
BLOB + string -> string.
2022-07-21 14:01:10 +08:00
Stephen Chung
753e527cbb
Fix BLOB and string operations.
2022-07-20 21:17:21 +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
e707b66639
chore: clippy fix unnecessary_mut_passed
2022-07-20 21:22:51 +09:00
quake
299777f1c9
chore: clippy fix needless_borrow
2022-07-20 21:16:35 +09:00
Stephen Chung
87af0db074
Merge pull request #584 from quake/quake/optimize-stmt-switch
...
fix: optimize_stmt should use fn `position`
2022-07-20 18:08:37 +08:00
quake
e21f7c4f5d
fix: optimize_stmt should use fn position
2022-07-20 18:48:54 +09:00
quake
4033543309
chore: remove clippy redundant_allocation since it has been resolved in clippy#7592
2022-07-20 17:05:05 +09:00
Stephen Chung
2ac6336173
Optimize wrapped stmt/expr.
2022-07-19 21:59:49 +08:00
Stephen Chung
5149c56256
Streamline switch case AST structure.
2022-07-19 13:33:53 +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
ff6954d9d5
Fix doc comment links.
2022-07-18 23:01:03 +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
4b760d1d0f
Unroll switch ranges if possible.
2022-07-18 08:54:10 +08:00
Stephen Chung
107193e35f
Update rustyline to 10.
2022-07-17 18:49:12 +08:00
Stephen Chung
a12401a1fe
New range variant.
2022-07-17 12:09:19 +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
9319f87a7b
Fix builds.
2022-07-04 17:47:59 +08:00
Stephen Chung
dee66a409f
Add case alternatives for switch.
2022-07-04 17:42:24 +08:00
Stephen Chung
6753566b03
Merge set of dynamic functions when merging modules.
2022-06-28 13:57:18 +08:00
Stephen Chung
0031678cd4
Fix shared variable assignment.
2022-06-26 18:09:15 +08:00
Stephen Chung
d9875ff81c
Fix sync feature.
2022-06-26 17:14:10 +08:00
Stephen Chung
335957fbc2
Enable modifying constant shared values.
2022-06-26 17:04:08 +08:00
Stephen Chung
7068775f19
Use locked_read.
2022-06-26 14:10:09 +08:00
Stephen Chung
84b8e1ed87
Detect whether dynamic functions exist to save checking.
2022-06-24 11:30:54 +08:00
Stephen Chung
d6bfd8f617
Streamline step ranges.
2022-06-20 18:52:07 +08:00
Stephen Chung
addb579f30
Streamline Dynamic.
2022-06-17 23:36:18 +08:00
Stephen Chung
b592ac1599
Export locked_read.
2022-06-17 23:36:09 +08:00
Stephen Chung
6ea5ed17f4
Use rhai for ignore.
2022-06-12 15:04:06 +08:00
Stephen Chung
2b44778a5c
Add elvis operator for indexing.
2022-06-12 00:32:12 +08:00
Stephen Chung
b9cbeb65d6
Use Option instead of once/empty.
2022-06-11 16:01:15 +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
09e19790fe
Fix builds.
2022-06-09 18:22:53 +08:00
Stephen Chung
a31a4e4887
Fix builds.
2022-06-09 18:06:00 +08:00
Stephen Chung
dcaac20eb9
Strict mode in functions check for static modules.
2022-06-09 17:59:28 +08:00
Stephen Chung
285bf23dfa
Minor refactor.
2022-06-09 08:41:51 +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
005692ef78
Change volatile API message.
2022-06-06 08:54:19 +08:00
Stephen Chung
6467b52761
Fix no_function.
2022-06-05 19:35:18 +08:00
Stephen Chung
6ebe002b18
Check for missing docs.
2022-06-05 18:17:44 +08:00
Stephen Chung
c200a609ea
Change FnPtr to struct.
2022-05-26 18:18:09 +08:00
Stephen Chung
493c4a71ff
Add lifetime.
2022-05-26 18:17:46 +08:00
Stephen Chung
99bcd8497a
Remove lifetime on OpAssignment.
2022-05-26 18:17:08 +08:00
Stephen Chung
0e363bd6b7
Make Caches a struct.
2022-05-24 19:34:47 +08:00
Stephen Chung
52bb6e68e8
Add Scope::get.
2022-05-24 16:05:17 +08:00
Stephen Chung
07d3dd6882
Add lifetime to Caches.
2022-05-24 11:52:03 +08:00
Geoffroy Couprie
f2b5566c0b
use smartstring's deserializer to support non borrowed strings
...
The map visitor for Dynamic was expecting a &str for the key, but the
serde_json deserializer internally uses a Cow string, which can be
Borrowed or Owned. In the case of Owned, the serde_json key deserializer
is calling visit_string on the Visitor, which for &str will result in
the error:
Error("invalid type: string \"a\", expected a borrowed string", line: 0,
column: 0)
smartstring actually has its own Visitor implementation that handles
both cases, so we can use it instead of an explicit conversion.
2022-05-23 16:40:49 +02:00
Stephen Chung
ee886fc719
Fix builds.
2022-05-21 22:13:02 +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
9c1a49da0b
Fix AST combine.
2022-05-21 11:31:15 +08:00
Stephen Chung
46c1d86221
Fix merge AST with self-contained AST.
2022-05-20 21:49:27 +08:00
Stephen Chung
8f73796110
Fix builds.
2022-05-19 21:49:19 +08:00
Stephen Chung
130b93d029
Use bit-flags for options.
2022-05-19 21:40:22 +08:00
Stephen Chung
857ae7a64a
Comments update.
2022-05-19 14:41:48 +08:00
Stephen Chung
dd8c18369b
Use call_native_fn.
2022-05-19 14:36:58 +08:00
Stephen Chung
47d0d014e3
Reduce cloning.
2022-05-19 14:32:43 +08:00
Stephen Chung
a53bcc2e1d
Add EvalAltResult::IndexNotFound.
2022-05-19 10:02:12 +08:00
Stephen Chung
7c8c6659ae
Better encapsulate EvalContext.
2022-05-17 16:21:17 +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
b4fea634b0
Avoid unnecessary allocations.
2022-05-07 16:29:20 +08:00
Stephen Chung
4194e2c048
Refine data structures.
2022-05-07 15:54:44 +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
516f5a82a0
Use tag for debugger state.
2022-05-03 21:55:01 +08:00
Stephen Chung
4f74d2f96a
Minor cleanup.
2022-05-02 12:14:53 +08:00
Stephen Chung
c69f98c2c4
Add custom state.
2022-05-02 00:03:45 +08:00
Stephen Chung
98e0042214
Fix build.
2022-04-26 18:32:43 +08:00
Stephen Chung
2889ca0988
Add Start/End to DebuggerEvent.
2022-04-26 16:36:24 +08:00
Stephen Chung
34dfe841cd
Add commands to rhai-dbg.
2022-04-24 16:06:11 +08:00
Stephen Chung
5a756e0899
Remove generics for call_fn_raw_raw.
2022-04-23 15:25:00 +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
63592ed648
Remove Clone from FileModuleResolver.
2022-04-23 12:49:03 +08:00
Stephen Chung
c2a796f9c2
Replace Scope display code.
2022-04-23 11:53:34 +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
2755d39cdf
Return early if no type casting for call_fn
.
2022-04-22 12:12:55 +08:00
Stephen Chung
a6c2c00479
Allow variables in scope for strict vars.
2022-04-22 12:12:36 +08:00
Stephen Chung
6f4cc91451
Fix builds.
2022-04-21 16:01:20 +08:00
Stephen Chung
6b8ddd925b
Allow scope constants in strict variables mode.
2022-04-21 13:21:53 +08:00
Stephen Chung
c3d013bddc
Add to_json for maps.
2022-04-21 12:15:21 +08:00
Stephen Chung
4f2764d233
Revise parse_json
.
2022-04-21 10:04:57 +08:00
Stephen Chung
5e4f27ae25
Add Token::Unit.
2022-04-21 10:04:46 +08:00
Stephen Chung
299d6ef308
Type checking in switch case condition.
2022-04-19 21:45:11 +08:00
Stephen Chung
770b2e04cc
Simplify switch condition.
2022-04-19 16:20:43 +08:00
Stephen Chung
40c4906336
Make Module::eval_ast_as_new_raw public.
2022-04-19 08:28:59 +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
3f74e5e674
Use &Path as source path.
2022-04-18 17:34:53 +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
b696390c13
Fix no-std build.
2022-04-14 23:11:36 +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
a33e3ba5ff
Fix build.
2022-04-11 16:34:56 +08:00
Stephen Chung
06608affc5
Fix rustyline patch.
2022-04-11 16:32:23 +08:00
Stephen Chung
63359f3f81
Unused parameters naming.
2022-04-11 16:29:16 +08:00
Stephen Chung
1777ee7f6f
Allow strings to be iterable.
2022-04-09 13:37:43 +08:00
Stephen Chung
6422fddd6d
Better names for iterators.
2022-04-09 13:11:32 +08:00
Stephen Chung
8bd33d7b34
Change string splitting.
2022-04-09 13:07:42 +08:00
Stephen Chung
42f977862f
Add Dynamic parameters to qualified function calls.
2022-04-08 16:42:53 +08:00
Stephen Chung
89ed531363
Fix doc tests.
2022-04-06 17:25:04 +08:00
Stephen Chung
6f4240ed5a
Add examples to Module custom type API.
2022-03-30 10:33:43 +08:00
Stephen Chung
56f6b181db
Move optimization_level into Options.
2022-03-29 08:26:42 +08:00
Stephen Chung
1b6de25007
Remove Engine::custom_types.
2022-03-29 08:18:20 +08:00
Stephen Chung
95753bb9c3
Use global module constants in optimization.
2022-03-28 12:53:52 +08:00
Stephen Chung
42b6796200
Fix no-std build.
2022-03-28 12:53:49 +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