Commit Graph

2413 Commits

Author SHA1 Message Date
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