Stephen Chung
3db918e89a
Doc fixup.
2022-02-15 19:56:42 +08:00
Stephen Chung
84face341a
Fix doc comments.
2022-02-15 15:49:03 +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
664e3d31e5
BLOB's and strings.
2022-02-12 23:39:07 +08:00
Stephen Chung
83e1e88531
Add specific implementations for to_string.
2022-02-12 16:23:36 +08:00
Stephen Chung
fda94c1cb6
Better printing.
2022-02-11 22:43:09 +08:00
Stephen Chung
41caa233bb
Fix string parsing.
2022-02-10 18:24:04 +08:00
Stephen Chung
d23d1159ab
Fix positions.
2022-02-10 17:55:32 +08:00
Stephen Chung
3050e38c5e
Fix interpolated string position.
2022-02-10 14:51:31 +08:00
Stephen Chung
d1a97be9e3
New syntax for package definition.
2022-02-10 12:33:48 +08:00
Stephen Chung
1c89c6be4f
Doc fixes.
2022-02-10 08:31:41 +08:00
Stephen Chung
8c5de09446
Fix doc links.
2022-02-09 22:40:13 +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
6acc486e00
Revise keys for Windows vs Unix
2022-02-09 08:39:33 +08:00
Stephen Chung
ddc66e7fb8
Print this.
2022-02-09 08:11:26 +08:00
Stephen Chung
1b4184ef16
Run debugger with no optimization.
2022-02-09 08:00:05 +08:00
Stephen Chung
3b9dbd5fce
Add Span.
2022-02-08 23:01:47 +08:00
Stephen Chung
c64fc6f523
No astu under no_optimize.
2022-02-08 22:30:48 +08:00
Stephen Chung
0cf2cd5cfc
Do not trim script lines.
2022-02-08 22:29:38 +08:00
Stephen Chung
5e7db6e105
Use new version of rustyline.
2022-02-08 22:16:12 +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
97a8fd3d5b
Improve reify syntax.
2022-02-08 09:25:53 +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
bd9519e96b
Remove reify_dynamic.
2022-02-07 12:02:00 +08:00
Stephen Chung
becbfa8930
Fix errors.
2022-02-06 23:02:59 +08:00
Stephen Chung
1ccbda1050
Merge branch 'master' of https://github.com/schungx/rhai
2022-02-06 21:24:55 +08:00
Stephen Chung
cfbf0397a6
Better position of assignment errors.
2022-02-06 21:24:02 +08:00
Nathan Kent
86d86a85e4
Remove unsound casting functions
...
The casting functions in `unsafe.rs` were unsound (i.e., they allowed
safe code to cause undefined behavior). While they did appear to be used
in a way that wouldn't cause UB the fact that there exists unsound
functions is unsettling.
This commit removes those functions and replaces it with a macro that
performs the same reification - the difference is that the macro call
will also include the checks which are required to prevent UB. A macro
was chosen instead of a function for two reasons:
1. A macro can keep the same code generation whereas a function would
require going through an `Option` which has negative impacts on code
generation (niche values cause poor DCE).
2. There exist other `unsafe` code blocks in the crate and an attempt to
make Rhai 100% safe is completely out-of-scope for this merge
request, so we may as well use `unsafe` in the macro.
Regarding (2) above, I may come back at a later date with a 100% safe
`reify` function but only once the other `unsafe` blocks are removed.
For posterity, said function would look something like:
```rust
fn reify<A: Any, C>(value: A) -> Option<C> {
let mut v = Some(value);
let v: &mut dyn Any = &mut v;
v.downcast_mut::<Option<C>>().map(Option::take)
}
```
2022-02-05 16:29:05 -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
5aee06674f
Fix no-std build.
2022-02-04 16:38:01 +08:00
Stephen Chung
f09abd7ab3
Fix builds.
2022-02-04 13:31:33 +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
345a060672
Fix type name display.
2022-02-03 23:54:53 +08:00
Stephen Chung
419ee45043
Add bin-features to pull in all features for bin tools.
2022-02-03 21:17:47 +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
e0ed713bb6
Fix builds.
2022-02-02 14:57:30 +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
dca0185323
Change on_debugger to register_debugger.
2022-02-01 14:07:06 +08:00
Stephen Chung
389bb9bf66
Add history recall to repl.
2022-01-31 21:02:36 +08:00
Stephen Chung
f1458e79e0
Improve AST debug display.
2022-01-31 13:38:27 +08:00
Stephen Chung
ff06bb98a1
Fix no_module build.
2022-01-30 23:28:02 +08:00
Stephen Chung
7b92a80c32
Fix encapsulated environment in module functions.
2022-01-30 17:27:13 +08:00
Stephen Chung
8fc80ecd10
Fix formatting.
2022-01-30 11:21:45 +08:00
Stephen Chung
06214cf499
Add key bindings to repl.
2022-01-30 09:42:04 +08:00
Stephen Chung
0378c822e1
Use required-features for bin tools.
2022-01-30 09:41:51 +08:00
Stephen Chung
2cfd426aaf
Merge branch 'rustyline' of https://github.com/rhaiscript/rhai
2022-01-29 15:59:24 +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
Jonathan Strong
16f13960f4
poc: adds rustyline to rhai-repl
2022-01-28 20:29:25 -05:00
Stephen Chung
4ee6657b9d
Fix no_function build.
2022-01-28 22:37:59 +08:00
Stephen Chung
cd4335a16f
Fix builds.
2022-01-28 22:11:22 +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
09d03d07ed
Fix sync build.
2022-01-28 08:00:46 +08:00
Stephen Chung
e476929597
Remove Box on callback traits.
2022-01-27 23:55:32 +08:00
Stephen Chung
64de20bcd3
Remove warnings.
2022-01-27 16:58:11 +08:00
Stephen Chung
dd937e657d
Fix builds.
2022-01-27 16:58:11 +08:00
Stephen Chung
197cdedaf4
Add commands to rhai-dbg.
2022-01-27 16:58:11 +08:00
Stephen Chung
d75c3e1592
Change stack trace object property name.
2022-01-27 16:58:11 +08:00
Stephen Chung
edcc95e205
Skip transitive nodes for debugger.
2022-01-27 16:58:11 +08:00
Stephen Chung
538af8caee
Scope::clone_visible clones value access mode also.
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
cc64ae3939
Fix no-std build.
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
2dc1fea40a
Remove non_snake_case warnings.
2022-01-27 16:58:11 +08:00
Stephen Chung
aee35e5f20
Add DebuggingPackage.
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
69dab31617
Remove need for default features in dependencies.
2022-01-27 08:22:20 +08:00
Stephen Chung
c79f1e44e4
Refine position display of indexing.
2022-01-25 10:56:22 +08:00
Stephen Chung
d8a6b93f43
Fix off-by-one position error after comment line.
2022-01-24 16:06:41 +08:00
Stephen Chung
2b2685e387
Add optimize command to REPL.
2022-01-24 15:50:25 +08:00
Stephen Chung
8d34ffb9f5
Fix bug in try block.
2022-01-24 08:34:21 +08:00
Stephen Chung
97be256a1a
Fix bug with optimizing op-assignment operators.
2022-01-23 21:09:37 +08:00
Stephen Chung
fb0b071fe0
Add lifetimes to GlobalRuntimeState and EvalState for future needs.
2022-01-22 17:48:07 +08:00
Stephen Chung
c32ace40a4
Fix builds.
2022-01-22 17:27:18 +08:00
Stephen Chung
f92894e337
Rename GlobalRuntimeStatemodules -> imports.
2022-01-20 08:17:34 +08:00
Stephen Chung
3d4abeed0e
New metadata functions.
2022-01-20 08:16:38 +08:00
Stephen Chung
0b3250a262
Add strict command to rhai-repl.
2022-01-19 14:02:55 +08:00
Stephen Chung
f0781c9736
Properly handle \r\n pairs in doc-comments.
2022-01-17 23:15:51 +08:00
Stephen Chung
d58df1fb34
Engine::gen_fn_signatures enumerates non-standard external packages.
2022-01-17 23:15:22 +08:00
Stephen Chung
86fc2f7bf1
Refine types display.
2022-01-17 21:51:04 +08:00
Stephen Chung
58e1094b79
Register test
functions in repl.
2022-01-17 21:50:36 +08:00
Stephen Chung
16c03cc864
Add comments to standard library functions.
2022-01-17 21:49:06 +08:00
Stephen Chung
5232bbbff8
Add get/set methods to arrays, blobs, maps and strings.
2022-01-17 10:21:03 +08:00
Stephen Chung
573bfe46dd
Fix formatting.
2022-01-17 07:50:29 +08:00
Stephen Chung
57cfd6a354
Fix builds.
2022-01-16 23:15:37 +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
3667761340
Fix bugs and add comments to standard library.
2022-01-15 23:34:38 +08:00
Stephen Chung
e24848668a
Fix build.
2022-01-15 11:35:44 +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
e2e0b8d083
Fix Array::chop.
2022-01-14 10:04:24 +08:00
Stephen Chung
96764c0d2d
Fix UINT -> UNSIGNED_INT.
2022-01-13 22:51:56 +08:00
Stephen Chung
25f54c0ea5
Pretty-display return types.
2022-01-13 22:51:10 +08:00
Stephen Chung
5ab7c59ba0
Fix Array::pad infinite loop.
2022-01-13 22:05:07 +08:00
Stephen Chung
5e32af0ceb
Fix unchecked build.
2022-01-13 21:08:36 +08:00
Stephen Chung
510c201d2f
Fix build.
2022-01-13 21:01:56 +08:00
Stephen Chung
09aa9fc3db
Extract metadata into separate type.
2022-01-13 19:07:56 +08:00
Stephen Chung
a3a527923a
Fix metadata param name in JSON.
2022-01-13 18:13:38 +08:00
Stephen Chung
0f4e8848f9
Extract index calculataion into functions.
2022-01-13 18:13:27 +08:00
Stephen Chung
4b4a6c944d
Fix test.
2022-01-12 11:01:03 +08:00
Stephen Chung
37dbc68bf5
Use target_family for wasm.
2022-01-12 08:12:28 +08:00
Stephen Chung
77eb96bd7e
Fix errors.
2022-01-11 11:40:08 +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
56217e386e
Fix debug for Engine.
2022-01-10 22:51:04 +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
afb651d0aa
Support converting literal FnPtr.
2022-01-08 14:00:41 +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
Stephen Chung
33bfff3722
Fix build.
2022-01-06 23:29:11 +08:00
Stephen Chung
c75d51ae88
Reduce unnecessary data size checking.
2022-01-06 22:10:16 +08:00
Stephen Chung
de6cb36503
Lift function calls out of match block in eval_stmt.
2022-01-06 16:06:31 +08:00
Stephen Chung
80edb1200d
Fix Array::pad limits.
2022-01-06 15:30:17 +08:00
Stephen Chung
0a63e1732b
Optimize hot path in Engine::eval_expr.
2022-01-06 15:28:53 +08:00
Stephen Chung
2e050f8f88
Reduce data size checking.
2022-01-06 13:40:03 +08:00
Stephen Chung
ed89817d0c
Reverse tail call optimization.
2022-01-06 12:31:46 +08:00
Stephen Chung
bc6bf6c6ba
Change expect("exists") to unwrap().
2022-01-06 11:07:52 +08:00
Stephen Chung
b1b4361d08
Fix documentation.
2022-01-06 10:19:25 +08:00
magnus
7bf517b242
Fix documentation
2022-01-06 10:18:02 +08:00
Stephen Chung
123e8b1b48
Improve FnPtr debug display.
2022-01-05 13:48:25 +08:00
Stephen Chung
2b613fdff3
Remove unneeded strings interner for modules.
2022-01-05 13:40:49 +08:00
Stephen Chung
a0531129df
Restructure expression dispatch.
2022-01-05 13:14:18 +08:00
Stephen Chung
f35c9c1ac4
Refactor imports.
2022-01-05 12:52:56 +08:00
Stephen Chung
328f6910b6
Refactor wasm feature gates.
2022-01-04 22:16:20 +08:00
Stephen Chung
d99953c101
Fixup AsRef<str> vs &str.
2022-01-04 15:22:48 +08:00
Stephen Chung
1d1e473ac4
Minor refactor.
2022-01-03 23:16:47 +08:00
Stephen Chung
d60f14ec27
Streamline hot code.
2022-01-03 23:11:06 +08:00
Stephen Chung
8961f36e8e
Move bit-fields into new package.
2022-01-03 23:10:20 +08:00
Stephen Chung
bccdf70521
Change tuples into fields.
2022-01-02 23:26:38 +08:00
Stephen Chung
29f1328087
Simplify Dynamic::from for better inlining.
2022-01-02 20:47:03 +08:00
Stephen Chung
809feaf58d
Add doc comments.
2022-01-02 15:14:55 +08:00
Stephen Chung
d60ed5a502
Reduce size of Variant trait.
2022-01-01 19:54:46 +08:00
Stephen Chung
a6ddb64596
Fix builds.
2022-01-01 17:38:32 +08:00
Stephen Chung
135b1f54c2
Remove Option from source and use empty string as no source.
2022-01-01 17:20:00 +08:00
Stephen Chung
8329baea29
Fix doc comments.
2021-12-31 23:01:34 +08:00
Stephen Chung
f3a8364936
Split blob write into write_utf8 and write_ascii.
2021-12-31 17:49:38 +08:00
Stephen Chung
ce93f56813
Rename parameters.
2021-12-31 17:49:19 +08:00
Stephen Chung
e3aa2c19ce
Make for loops for efficient.
2021-12-31 15:59:13 +08:00
Stephen Chung
64bf2eef5c
Better error messages.
2021-12-30 12:19:41 +08:00
Stephen Chung
1fd242ed2c
Flatten nested block scopes.
2021-12-30 12:14:54 +08:00
Stephen Chung
be4ae6e763
Add rewind_scope to eval_stmt.
2021-12-30 08:57:23 +08:00
Stephen Chung
3488dbe74b
Fix merging strings interner.
2021-12-29 14:26:54 +08:00
Stephen Chung
4bd482352e
Fix eval call.
2021-12-28 23:00:31 +08:00
Stephen Chung
cbaf095c7a
Merge restore_state and rewind_scope.
2021-12-28 17:50:49 +08:00
Stephen Chung
5b667a69b7
Reverse EvalStateData.
2021-12-28 12:19:20 +08:00
Stephen Chung
280010c427
Fix builds.
2021-12-28 12:00:01 +08:00
Stephen Chung
807240e249
Rename Imports to GlobalRuntimeState.
2021-12-28 11:42:52 +08:00
Stephen Chung
9deddc679c
Use Box<str>.
2021-12-27 23:15:25 +08:00
Stephen Chung
a78488d935
Rename Imports to GlobalRuntimeState.
2021-12-27 23:03:30 +08:00
Stephen Chung
e8b070cbf8
Fix builds.
2021-12-27 22:28:11 +08:00
Stephen Chung
9c7ced2b80
Move custom syntax to api.
2021-12-27 22:02:34 +08:00
Stephen Chung
4d226542fa
Split out strings interner.
2021-12-27 21:56:50 +08:00
Stephen Chung
7a15071e4e
Reduce size of ChainArgument.
2021-12-27 17:00:21 +08:00
Stephen Chung
757eacfdde
No need for types with Into::into.
2021-12-27 16:59:05 +08:00
Stephen Chung
f443e4d9f6
Fix formatting.
2021-12-27 13:30:44 +08:00
Stephen Chung
dfb3378b28
Expand function call arguments inline storage.
2021-12-27 12:27:44 +08:00
Stephen Chung
05d4c81e7a
Use type alias for error.
2021-12-27 12:27:31 +08:00
Stephen Chung
e7ca3f41dd
Fix formatting.
2021-12-27 11:43:11 +08:00
Stephen Chung
a07faf7dd9
Fix doc test.
2021-12-26 12:16:48 +08:00
Stephen Chung
01c35808cb
Use type alias
2021-12-25 23:49:14 +08:00
Stephen Chung
43363e0660
Reserve is keyword.
2021-12-24 14:59:14 +08:00
Stephen Chung
5c31ec7f78
Fix array bug.
2021-12-22 22:22:20 +08:00
Stephen Chung
3751b6d018
Build in array/blob concat functions.
2021-12-22 19:59:48 +08:00
Stephen Chung
422db4269e
Allow multiple packages in def_package.
2021-12-22 12:41:55 +08:00
Stephen Chung
1c50efbac8
Unroll switch range case if range has only one number.
2021-12-22 10:48:19 +08:00
Stephen Chung
7ff50451cc
Make comments multiline.
2021-12-21 22:16:03 +08:00
Stephen Chung
f9f3615878
Fix builds.
2021-12-21 16:36:53 +08:00
Stephen Chung
b85a9b3c1c
Extract doc-comment on plugin functions.
2021-12-21 16:14:07 +08:00
Stephen Chung
f74486f904
Separate return type name and use references for serialization.
2021-12-21 13:21:29 +08:00
Stephen Chung
d7960dfe80
Short circuit no_function.
2021-12-21 13:03:39 +08:00
Stephen Chung
b4756b4575
Move CallableFunction to own file.
2021-12-20 22:13:00 +08:00
Stephen Chung
bca9fe53b0
New syntax for def_package.
2021-12-20 11:42:39 +08:00
Stephen Chung
5729f0cdd4
Add test for call_fn_raw.
2021-12-19 23:22:14 +08:00
Stephen Chung
123012404b
Add Blob::write for strings.
2021-12-18 23:03:35 +08:00
Stephen Chung
e507dcfcb4
Fix no_index build.
2021-12-18 18:44:08 +08:00
Stephen Chung
541ef319bb
Merge branch 'v1.3-fixes'
2021-12-18 18:22:20 +08:00
Stephen Chung
7eda6454a8
Bug fix.
2021-12-18 17:47:35 +08:00
Stephen Chung
9736171089
Fix bug in hex parsing for negative numbers.
2021-12-18 17:07:30 +08:00
Stephen Chung
0ae4d14a62
Move BLOB concat and push to builtin.
2021-12-18 15:37:20 +08:00
Stephen Chung
82d3375fc0
Fix Dynamic::from for BLOB.
2021-12-18 15:36:30 +08:00
Stephen Chung
9cf8360616
Move blob functions to builtin.
2021-12-18 14:58:02 +08:00
Stephen Chung
2b79a65454
Move range contains into builtin.
2021-12-18 14:50:37 +08:00
Stephen Chung
fc84600b22
Add NativeCallContext::call_fn
2021-12-18 12:29:04 +08:00
Stephen Chung
1c1247ac9a
Tidy up code.
2021-12-18 12:28:56 +08:00
Stephen Chung
dc6896fbe2
Add OpAssignment::new_from_token.
2021-12-17 16:55:24 +08:00
Stephen Chung
8d67c70294
Fix builds.
2021-12-17 16:55:07 +08:00
Stephen Chung
29a9b3878d
Fix builds.
2021-12-17 16:32:34 +08:00
Stephen Chung
42638db0fb
Move Engine default limits.
2021-12-17 16:15:30 +08:00
Stephen Chung
c7ec27acc7
Split AST into separate files.
2021-12-17 16:07:13 +08:00
Stephen Chung
b1b2c62d7d
Merge branch 'v1.3-fixes'
2021-12-16 22:40:25 +08:00
Stephen Chung
10fa6844c4
Fix custom syntax with method calls.
2021-12-16 22:40:10 +08:00
Stephen Chung
fbc2b1f13d
Allow non-custom reserved symbols in custom syntax.
2021-12-16 18:01:49 +08:00
Stephen Chung
f92cbe1f6d
Merge branch 'v1.3-fixes'
2021-12-16 16:10:39 +08:00
Stephen Chung
224aa0ea68
Allow custom syntax inside binary operator expressions.
2021-12-16 16:06:44 +08:00
Stephen Chung
2adb4ba4a8
Simplify deref_mut to &mut *.
2021-12-15 23:21:05 +08:00
Stephen Chung
abbfa3777d
Add more range API's.
2021-12-15 22:12:51 +08:00
Stephen Chung
59a9ff0b0f
Fix range precedences and add comparison operators.
2021-12-15 14:18:03 +08:00
Stephen Chung
eda80488d5
Fix builds.
2021-12-15 12:46:25 +08:00
Stephen Chung
7afec287d8
Fix doc test.
2021-12-15 12:26:05 +08:00
Stephen Chung
ef14079c61
Add ranges.
2021-12-15 12:06:17 +08:00
Stephen Chung
93e3c4c10a
Compact BLOB display.
2021-12-13 09:40:43 +08:00
Stephen Chung
5eaf85254f
Fix builds.
2021-12-12 17:26:15 +08:00
Stephen Chung
6af406bafc
Add parse/write to blobs.
2021-12-12 16:29:54 +08:00
Stephen Chung
780c36e675
Simplify if let.
2021-12-12 12:33:22 +08:00
Stephen Chung
3a5495a65c
Clarify custom operators.
2021-12-09 22:54:10 +08:00
Stephen Chung
675ddb89f9
Add "" and `` in string literals.
2021-12-09 13:34:51 +08:00
Stephen Chung
d9d44a9683
Add Engine::register_type_with_name_raw.
2021-12-09 12:49:12 +08:00
Stephen Chung
4421f33b2c
Fix bug in blob's.
2021-12-07 19:03:04 +08:00
Stephen Chung
2a7a648429
Reduce feature gates.
2021-12-06 20:52:47 +08:00
Stephen Chung
5b64e0b383
Use deref for Expression.
2021-12-06 18:50:37 +08:00
Stephen Chung
cc98e82ea1
Include hashes in JSON output.
2021-12-06 11:12:54 +08:00
Stephen Chung
206b5051eb
Clarify non-zero hashes.
2021-12-06 10:34:13 +08:00
Stephen Chung
54f78c5cd9
Use zero for no hash.
2021-12-05 17:05:19 +08:00
Stephen Chung
6f6380ca3a
Fix builds.
2021-12-04 18:07:27 +08:00
Stephen Chung
b8c4054c20
Add strict variables mode.
2021-12-04 17:57:28 +08:00
Stephen Chung
fd26654125
Add allow_looping.
2021-12-03 11:24:38 +08:00
Stephen Chung
7cd76c6d18
Add language options.
2021-12-03 11:16:35 +08:00
Stephen Chung
9a5bd9396a
Fix builds.
2021-12-02 17:46:39 +08:00
Stephen Chung
27c0181035
Fix build.
2021-12-02 16:01:37 +08:00
Stephen Chung
41dd989866
Support deserialization into byte arrays for BLOB's via serde_bytes.
2021-12-02 14:10:53 +08:00
Stephen Chung
70f4c53854
Trap out-of-bounds panic for BLOB's.
2021-12-02 13:09:59 +08:00
Stephen Chung
5363b0724f
Support Option in from_dynamic.
2021-12-02 12:50:11 +08:00
Stephen Chung
5003d836d9
Do not construct function pointer for invalid function names.
2021-12-02 12:49:57 +08:00
Stephen Chung
d36e2d22d1
Minor refactor.
2021-12-02 12:49:46 +08:00
Stephen Chung
4b4b7a753b
Add low-level warnings.
2021-11-29 13:12:47 +08:00
Stephen Chung
ba0a6c667e
Add FnPtr::call_within_context.
2021-11-29 12:43:59 +08:00
Stephen Chung
0ab86ac623
Move AST::new() and AST::new_with_source() to internals.
2021-11-29 10:58:46 +08:00
Stephen Chung
c5f2b0a253
Fix builds.
2021-11-29 10:17:04 +08:00
Stephen Chung
95dc2ad502
Remove fields and parameters under no_function.
2021-11-29 09:43:35 +08:00
Stephen Chung
a3e79c0bd0
Fix builds.
2021-11-28 23:06:33 +08:00
Stephen Chung
9fa4d60336
Minor code and docs refactor.
2021-11-28 22:57:28 +08:00
Stephen Chung
dca47d5233
Remove volatile warnings for types and functions exposed unter internals.
2021-11-28 22:03:02 +08:00
Stephen Chung
c5317d7706
Deprecate NativeCallContext::new
2021-11-28 12:41:33 +08:00
Stephen Chung
d88e17d177
Move more &str to AsRef<str>
2021-11-28 12:41:20 +08:00
Stephen Chung
f49ff28b82
Fix test.
2021-11-28 10:49:48 +08:00
Stephen Chung
9c4ed44ab8
Fix builds.
2021-11-27 23:29:32 +08:00
Stephen Chung
4fc088a0f1
Fix feature builds.
2021-11-27 23:20:05 +08:00
Stephen Chung
e918e61e95
Use AsRef<str> for more flexible API.
2021-11-27 23:04:45 +08:00
Stephen Chung
30bfdd841a
Add FnPtr::call.
2021-11-27 16:28:34 +08:00
Stephen Chung
d56585c877
Remove no_smartstring feature.
2021-11-27 14:24:36 +08:00
Stephen Chung
abe6b4a29b
Use more const functions.
2021-11-27 14:24:06 +08:00
Stephen Chung
280b5b405e
Make some new functions const.
2021-11-25 17:09:00 +08:00
Stephen Chung
fc472f641b
Remove blob functions for filtering.
2021-11-23 23:01:14 +08:00
Stephen Chung
b7b42e658a
Fix blob methods.
2021-11-23 22:52:10 +08:00
Stephen Chung
93b802effd
Merge branch 'v1.2-fixes'
2021-11-23 22:46:16 +08:00
Stephen Chung
2b0b79870e
Fix bug in array methods.
2021-11-23 22:37:18 +08:00
Stephen Chung
0c89a9c4c5
Change parameter name.
2021-11-23 18:10:01 +08:00
Stephen Chung
a757dfe89d
Add blobs.
2021-11-23 14:58:54 +08:00
Stephen Chung
6ad7b344bf
Add into_array and into_typed_array.
2021-11-23 12:45:59 +08:00
Stephen Chung
90200e607c
Fix doc comment links.
2021-11-20 21:29:36 +08:00
Stephen Chung
fa41f4faf0
Move function back to correct file.
2021-11-20 15:43:55 +08:00
Stephen Chung
344b48ad36
Split APIs into files.
2021-11-20 14:57:21 +08:00
Stephen Chung
b7dc94fc1d
Refactor.
2021-11-16 23:13:53 +08:00
Stephen Chung
e961ae23fd
Eliminate script hashes under no_function.
2021-11-16 13:42:46 +08:00
Stephen Chung
b178d7c367
Fix no_function builds.
2021-11-16 13:42:22 +08:00
Stephen Chung
c2c30f7711
Use fold.
2021-11-16 13:15:43 +08:00
Stephen Chung
2fffe31b59
Level up exports.
2021-11-16 12:26:37 +08:00
Stephen Chung
98707912e0
Convert for loop to iterator.
2021-11-15 14:30:00 +08:00
Stephen Chung
de906053ed
Deprecate call_fn_dynamic into call_fn_raw.
2021-11-15 11:13:00 +08:00
Stephen Chung
615c3acad6
Use actual outer scope for function-bang calls.
2021-11-14 22:48:57 +08:00
Stephen Chung
64b889fb95
Restructure code base.
2021-11-13 22:36:23 +08:00
Stephen Chung
38884ede46
Reducce panic messages.
2021-11-13 12:23:35 +08:00
Stephen Chung
c8aab47f50
Merge branch 'v1.1-fixes'
2021-11-13 10:01:55 +08:00
Stephen Chung
a227963f7a
Fix unary parsing.
2021-11-13 09:50:49 +08:00
Stephen Chung
a9aa8e84fd
Use Box<[]>.
2021-11-12 13:25:57 +08:00
Stephen Chung
bffc73435c
Remove externals from ScriptFnDef.
2021-11-12 13:02:16 +08:00
Stephen Chung
7f34e4ad99
Merge branch 'v1.1-fixes'
2021-11-11 21:47:45 +08:00
Stephen Chung
774fd7514e
Fix bang function calls under no_closure.
2021-11-11 21:47:35 +08:00
Stephen Chung
5e18ea34fe
Fix doc test.
2021-11-11 21:43:45 +08:00
Stephen Chung
0fbc437916
Use Box<str> internally.
2021-11-11 13:55:52 +08:00
Stephen Chung
93869b544c
Fix doc test.
2021-11-09 15:42:17 +08:00
Stephen Chung
f6dc440601
Add AST::iter_literal_variables.
2021-11-09 13:22:45 +08:00
Stephen Chung
e63cba9caf
Merge branch 'v1.1-fixes'
2021-11-09 08:48:16 +08:00
Stephen Chung
5685ca8411
Fix floating-point display.
2021-11-09 08:46:02 +08:00
Stephen Chung
5083df3096
Propagate constants to functions for Engine::XXX_with_scope calls.
2021-11-08 22:16:28 +08:00
Stephen Chung
31ef7e6c69
Fix builds.
2021-11-08 12:07:49 +08:00
Stephen Chung
cc6a0571e7
Fix builds.
2021-11-08 11:35:46 +08:00
Stephen Chung
09e6b21729
Move mutable runtime global state to Imports.
2021-11-08 09:27:08 +08:00
Stephen Chung
71ad158b6a
Fix builds.
2021-11-07 18:25:32 +08:00
Stephen Chung
68c0ee08c0
Reduce usage of Default::default() to make it easier to refactor.
2021-11-07 18:12:37 +08:00
Stephen Chung
61cc3d0bf2
Merge branch 'v1.1-fixes'
2021-11-05 23:26:00 +08:00
Stephen Chung
eeca8c90aa
Make sure the global namespace is always searched first.
2021-11-05 23:22:05 +08:00
Stephen Chung
46e99df9cd
Reverse regression on string + operator.
2021-11-05 20:34:27 +08:00
Stephen Chung
b2eb207ce4
Fix no_position builds.
2021-11-05 19:53:52 +08:00
Stephen Chung
affbb81d8a
Add NativeCallContext::position.
2021-11-05 19:35:33 +08:00
Stephen Chung
231584824a
Properly handle unary operators at beginning of statement.
2021-11-03 09:11:20 +08:00
Stephen Chung
7c6b444616
Fix display of 0.0.
2021-11-03 08:44:07 +08:00
Stephen Chung
ff9ac41da2
Merge branch 'v1.1-fixes'
2021-11-01 10:08:27 +08:00
Stephen Chung
c955c9200e
Fix build.
2021-11-01 10:07:45 +08:00
Stephen Chung
2ea86c3987
Fix bug in assignment parsing.
2021-11-01 09:55:50 +08:00
Stephen Chung
b23bdb6d13
Remove unnecessary string builtins.
2021-11-01 09:42:22 +08:00
Stephen Chung
77dfc80fe9
Use iter().rev().enumerate().
2021-11-01 09:31:48 +08:00
Stephen Chung
3d1b2d6f10
Fix no_function build.
2021-10-29 17:10:28 +08:00
Stephen Chung
dc2e824ce2
Fix no_module builds.
2021-10-29 17:01:29 +08:00
Stephen Chung
a5ae002cb7
Refine namespace display.
2021-10-27 23:30:25 +08:00
Stephen Chung
00659d65d9
Implement global module in EvalState.
2021-10-27 17:52:48 +08:00
Stephen Chung
79dd3f8186
Add $$ marker to custom syntax.
2021-10-25 22:41:42 +08:00
Stephen Chung
96f08e8cad
Merge branch 'v1.1-fixes'
2021-10-23 17:54:03 +08:00
Stephen Chung
4e965c3f3f
Fix no_module+internals build.
2021-10-23 17:49:52 +08:00
Stephen Chung
34cf494545
Add Array::sort with no predicate.
2021-10-23 11:51:48 +08:00
wackbyte
9f0347df9f
Fix some rustdoc warnings and a typo in FLOAT's docs
...
Unfortunately, I can't fix the 2 remaining warnings.
2021-10-22 12:03:06 +08:00
Stephen Chung
8a7912a901
Fix build.
2021-10-21 19:51:35 +08:00
Stephen Chung
83f83307ca
Fix builds.
2021-10-21 19:30:58 +08:00
Stephen Chung
65ef402440
Eliminate optimize module with no_optimize.
2021-10-21 19:17:34 +08:00
Stephen Chung
315a891ba6
Fine tune array methods.
2021-10-21 19:04:53 +08:00
Stephen Chung
1c921f3784
Add dedup to array.
2021-10-21 17:59:54 +08:00
Stephen Chung
9c16d90de9
Use #[inline(always)] only when relatively certain.
2021-10-21 17:26:43 +08:00
Stephen Chung
313999b0ac
Reduce nesting in plugin sub-modules.
2021-10-20 16:22:12 +08:00
Stephen Chung
c8e7c970d1
Add variants of Array methods taking FnPtr with function names.
2021-10-20 11:06:38 +08:00
Stephen Chung
3001e90775
Deprecate From<EvalAltResult> for Result<T, Box<EvalAltResult>> because it is clearer for code to explicitly wrap errors in Err.
2021-10-19 23:52:58 +08:00
Stephen Chung
6d31bb0d19
Do not inline error path functions.
2021-10-19 20:16:36 +08:00
Stephen Chung
2334cd8f56
Avoid cloning in array methods as much as possible.
2021-10-19 19:57:15 +08:00
Stephen Chung
3174b4759e
Simplify code.
2021-10-18 15:09:07 +08:00
Stephen Chung
782f6a3e12
Revert change.
2021-10-11 16:46:34 +08:00
Stephen Chung
90b6b15f15
Use into().
2021-10-11 15:49:51 +08:00
Stephen Chung
4908b58473
Lazy calculate indexer call hashes.
2021-09-29 12:16:59 +08:00
Stephen Chung
87d48948f9
Merge branch 'bug-fixes'
2021-09-28 16:55:33 +08:00
Stephen Chung
7ce8887343
Fix no_index build.
2021-09-28 16:36:31 +08:00
Stephen Chung
85dcd6e754
Fix bug with changing property of value obtained via index getter.
2021-09-28 15:59:46 +08:00
Stephen Chung
e963a7251c
Check if empty string came from global instance.
2021-09-27 11:09:19 +08:00
Stephen Chung
fe47058add
Merge branch 'bug-fixes'
2021-09-27 10:34:46 +08:00
Stephen Chung
6df2178460
Assume property getters are pure.
2021-09-27 10:34:24 +08:00
Stephen Chung
70828209fe
Fix builds.
2021-09-26 21:50:07 +08:00
Stephen Chung
42d3fde0af
Fix no_closure build.
2021-09-26 21:30:33 +08:00
Stephen Chung
a130960627
Fix empty strings.
2021-09-26 21:25:29 +08:00
Stephen Chung
3557db88e8
Merge empty strings.
2021-09-26 21:18:52 +08:00
Stephen Chung
65a1c24d7b
Add signatures to callback function docs.
2021-09-25 15:57:38 +08:00
Stephen Chung
0715262c44
Enhance signature of on_parse_token callback.
2021-09-24 22:44:39 +08:00
Stephen Chung
d791052d5c
Add Engine::on_parse_token.
2021-09-24 18:00:48 +08:00
Stephen Chung
cd8af67842
Merge branch 'bug-fixes'
2021-09-24 09:27:45 +08:00
Stephen Chung
d9dca6ef98
Expore more internal data structures.
2021-09-24 09:26:35 +08:00
Stephen Chung
8f94a60020
Optimize interpolated strings.
2021-09-20 22:36:10 +08:00
Stephen Chung
adbe9a292e
Short circuit functions if empty: array, map, string.
2021-09-20 18:35:23 +08:00
Stephen Chung
6e7fbfa66f
Add pop to string.
2021-09-20 16:25:23 +08:00
Stephen Chung
71e8cf727d
Use LazyCompact for SmartString.
2021-09-20 11:34:01 +08:00
Stephen Chung
2d46bf37c8
Fix build.
2021-09-19 22:44:27 +08:00
Stephen Chung
e191f9d91e
Merge branch 'bug-fixes'
2021-09-19 22:34:47 +08:00
Stephen Chung
5d47ebf57a
Add test for constants to Scope::get_mut.
2021-09-18 10:14:54 +08:00
Stephen Chung
5163fb0a33
Upgrade to rust-decimal 1.16 and add sin/cos/tan.
2021-09-15 10:41:35 +08:00
Stephen Chung
08155c0978
Fix sign function for NaN.
2021-09-14 22:33:10 +08:00
Stephen Chung
bdbfa8ef5f
Catch mutually exclusive features.
2021-09-12 21:06:13 +08:00
Stephen Chung
50ad42bd7f
Fix metadata build.
2021-09-12 14:46:31 +08:00
Stephen Chung
c84f80d433
Use StaticVec for parsing.
2021-09-12 14:34:00 +08:00
Stephen Chung
b961a10d27
Refine code.
2021-09-12 14:33:48 +08:00
Stephen Chung
96dbbc76e4
Use StaticVec for function resolution caches for the common case where no modules are used.
2021-09-12 13:33:55 +08:00
Stephen Chung
6e25354076
Fix bit flag options and docs.
2021-09-12 13:21:53 +08:00
Stephen Chung
6510b617fe
Reduce usage of Default::default()
2021-09-11 19:40:40 +08:00
Stephen Chung
5d3a22ab6f
Fix NamespaceRef::new()
2021-09-11 19:40:31 +08:00
Stephen Chung
84be799403
Change StaticVec to 3 inline elements.
2021-09-10 20:25:22 +08:00
Stephen Chung
43de522568
Use option flags for certain AST nodes.
2021-09-10 20:23:59 +08:00
Stephen Chung
7956f9d59c
Reduce duplicated generics code.
2021-09-07 23:05:31 +08:00
Stephen Chung
09da9ddcbc
Move unit tests into separate file.
2021-09-07 22:12:04 +08:00
Stephen Chung
5ac33ce64d
Do not export FloatWrapper
under no_float
.
2021-09-04 18:43:18 +08:00
Stephen Chung
e8b811af28
Add test for minimal build Dynamic size.
2021-09-04 11:59:07 +08:00
Stephen Chung
6a2c9f0293
Add ASTNode::position().
2021-09-03 20:47:45 +08:00
Stephen Chung
cbe08fb64e
Merge branch 'bug-fixes'
2021-09-03 10:19:58 +08:00
Stephen Chung
71711998f1
Fix bug in catch error variable.
2021-09-03 10:05:58 +08:00
Stephen Chung
65fbfe36e7
Merge branch 'bug-fixes'
2021-09-02 22:49:17 +08:00
Stephen Chung
457be797a2
Fixed bug in using error variable within catch
block.
2021-09-02 22:17:45 +08:00
Stephen Chung
7b2b26aa0d
Separate is_valid_function_name.
2021-08-30 15:42:47 +08:00
Stephen Chung
b6d38a8fc9
Fix metadata build.
2021-08-30 10:25:24 +08:00
Stephen Chung
6faa6358f0
Simplify code by merging Engine::global_namespace with Engine::global_modules.
2021-08-30 10:09:28 +08:00
Stephen Chung
6f3de4c803
Fix doc test.
2021-08-27 12:10:58 +08:00
Stephen Chung
aec4417bd5
Refine expect messages.
2021-08-26 23:58:41 +08:00
Stephen Chung
2a760eb44b
Update doc-comments.
2021-08-24 12:04:53 +08:00
Stephen Chung
db3049e574
Engine::register_type_XXX available under no_object.
2021-08-23 23:10:54 +08:00
Stephen Chung
58352e00bd
Prevent spill-over of new variables in Engine::call_fn.
2021-08-17 23:24:41 +08:00
Stephen Chung
b6eac65601
Simplify code.
2021-08-17 18:14:16 +08:00
Stephen Chung
9c6cea3c9f
Add Scope::set_or_push.
2021-08-17 15:51:14 +08:00
Stephen Chung
0354f154ce
Add Scope::is_constant.
2021-08-17 15:51:14 +08:00
Stephen Chung
114c93f430
Fix bug in custom syntax starting with disabled stardard keyword.
2021-08-17 15:51:14 +08:00
Stephen Chung
c1b4c81e75
Scope::set_value takes name that implements Into<Cow<str>>.
2021-08-17 15:51:14 +08:00
Stephen Chung
288d575046
Add log10 for Decimal.
2021-08-17 15:50:56 +08:00
Stephen Chung
06f217d526
Move deprecated functions into separate file.
2021-08-17 15:50:56 +08:00
Stephen Chung
180ad77224
Change Engine::consume_XXX to Engine::run_XXX.
2021-08-17 15:50:56 +08:00
Stephen Chung
e0125a1033
Allow self-terminating custom syntax.
2021-08-17 15:50:56 +08:00
Stephen Chung
3127f9a8af
Add new constant from functions for Dynamic.
2021-08-17 15:50:56 +08:00
Stephen Chung
ffb1531e0e
New constants for Dynamic.
2021-08-17 15:50:56 +08:00
Stephen Chung
94674679d9
Rename as_string and as_immutable_string.
2021-08-17 15:50:55 +08:00
Stephen Chung
b21deaf052
Support $symbol$ in custom syntax.
2021-08-17 15:50:55 +08:00
Stephen Chung
e0cae4546c
Polyfiill some functions for decimal+no_float.
2021-08-17 15:50:54 +08:00
Stephen Chung
224a2dfb60
Fix bug in dotting-indexing.
2021-08-17 15:32:48 +08:00
Stephen Chung
8a8bc2adfb
Improve FnPtr debug display.
2021-08-17 15:32:12 +08:00
Stephen Chung
3610b5eb7e
Change some inline(always) into inline.
2021-08-14 15:10:37 +08:00
Stephen Chung
0f46bc7725
Fix builds.
2021-08-13 14:04:27 +08:00
Stephen Chung
dba4510456
Better function parameter names.
2021-08-13 13:42:39 +08:00
Stephen Chung
9b56c1ba78
Optimize loops better.
2021-08-04 17:40:26 +08:00
Stephen Chung
4807fdf1cf
Loops cannot be pure.
2021-08-04 17:37:56 +08:00
Stephen Chung
81770f00e0
Rename variables and constants for bit flags.
2021-08-04 11:16:11 +08:00
Stephen Chung
1d82a11f0b
Change AST nodes to use bitflags for options.
2021-08-03 22:19:25 +08:00
Stephen Chung
0944261b88
Merge Stmt::Let and Stmt::Const into Stmt::Var.
2021-08-01 11:59:53 +08:00
Stephen Chung
29133cf973
Satisfy clippy.
2021-07-26 22:22:27 +08:00
Stephen Chung
2c50738c6c
Change field names of EvalState.
2021-07-26 10:03:46 +08:00
Stephen Chung
c7498503ba
Use lower case for feature marker.
2021-07-25 22:56:05 +08:00
Stephen Chung
6cb710652b
Fix doc link.
2021-07-25 11:51:26 +08:00
Stephen Chung
8531567ee9
Fix builds.
2021-07-24 14:23:14 +08:00
Stephen Chung
df482d3574
Satisfy clippy.
2021-07-24 14:11:16 +08:00
Stephen Chung
b8485b1909
Fix bug in indexing.
2021-07-24 12:27:33 +08:00
Stephen Chung
106c8ab5d1
Fix builds.
2021-07-14 22:33:47 +08:00
Stephen Chung
e3668227c0
Remove absolute path for files in the current directory.
2021-07-14 18:32:22 +08:00
Stephen Chung
7c93622b57
Handle more data types in Expr::from_dynamic.
2021-07-14 14:00:10 +08:00
Stephen Chung
cb312539fb
Fix ImmutableString docs.
2021-07-14 13:58:50 +08:00
Stephen Chung
925325820e
Make some Position functions const.
2021-07-14 13:58:18 +08:00
Stephen Chung
0e77c4f9a0
Short-circuit optimizations for special keywords.
2021-07-14 13:57:58 +08:00
Stephen Chung
5def8f04bd
Remove From<Dynamic> for Expr in favor of Expr::from_dynamic.
2021-07-14 13:53:04 +08:00
Stephen Chung
dad1fe8392
Handle more data types in Expr::from_dynamic.
2021-07-14 13:52:40 +08:00
Stephen Chung
713f8ea672
Implement more methods for custom iterators.
2021-07-12 13:05:38 +08:00
Stephen Chung
e0673a2f1a
Change some #[inline(always)] to [#inline].
2021-07-10 11:06:13 +08:00
Stephen Chung
4d25fd0192
Remove unnecessary AsRef<str>.
2021-07-10 10:11:14 +08:00
Stephen Chung
d517a0219b
Revert "Remove unnecessary imports."
...
This reverts commit d6220f0d8d
.
2021-07-08 23:03:36 +08:00
Stephen Chung
d6220f0d8d
Remove unnecessary imports.
2021-07-08 22:42:50 +08:00
Stephen Chung
75a8a4d4e3
Enable json command in REPL.
2021-07-08 14:09:31 +08:00
Stephen Chung
9cb7610cc5
Unreserve begin, end, then, each, unless
2021-07-06 09:51:29 +08:00
Stephen Chung
d0fc5257c4
Fix formatting.
2021-07-04 17:09:26 +08:00
Stephen Chung
95c9423723
Revert "Change no-std build scripts."
...
This reverts commit 8e94b2e3b8
.
2021-07-04 17:02:56 +08:00
Stephen Chung
8e94b2e3b8
Change no-std build scripts.
2021-07-04 16:58:03 +08:00
Stephen Chung
4adc044c79
Fix builds.
2021-07-04 16:51:05 +08:00
Stephen Chung
694ac5b5bd
General code fixups.
2021-07-04 16:40:15 +08:00
Stephen Chung
23cc48f937
Implement standard traits for Imports.
2021-07-04 16:33:26 +08:00
Stephen Chung
ab21ba703f
Rename scope_changed to scope_may_be_changed.
2021-07-04 16:31:01 +08:00
Stephen Chung
b4da054bab
Catch more parse errors.
2021-07-04 00:15:27 +08:00
Stephen Chung
69c14e65f3
Add ImmutableString::new() to mirror String API.
2021-07-02 11:51:13 +08:00
Stephen Chung
88bfe64e35
Simplify error display.
2021-07-02 11:50:24 +08:00
Stephen Chung
8c802dcd58
Fix optimizer bug.
2021-07-01 12:27:29 +08:00
Stephen Chung
a0f51a1a39
Split calc_qualified_var_hash.
2021-06-30 16:28:37 +08:00
Stephen Chung
f033896fec
Add From<BTreeSet> and From<HashSet> for Dynamic.
2021-06-30 11:08:29 +08:00
Stephen Chung
fc0256aff9
Refine ChainArgument.
2021-06-30 10:13:45 +08:00
Stephen Chung
c87645ba77
Fix unchecked build.
2021-06-29 23:29:05 +08:00
Stephen Chung
69352d74c2
Optimize Scope layout.
2021-06-29 23:22:54 +08:00
Stephen Chung
fc349f67f8
Make more functions const.
2021-06-29 23:17:31 +08:00
Stephen Chung
bd35999b75
Remove unnecessary Box::new().
2021-06-29 21:58:05 +08:00
Stephen Chung
8b0299077b
Simplify FuncArgs::parse.
2021-06-29 21:47:55 +08:00
Stephen Chung
d146de4ff9
Make FnPtr::fn_name_raw const.
2021-06-29 21:47:27 +08:00
Stephen Chung
0346bb874b
Make Expr::position const.
2021-06-29 18:41:03 +08:00
Stephen Chung
08828dd8c1
Use .into() instead of Box::new()
2021-06-29 18:25:20 +08:00
Stephen Chung
4143ef1e3f
Simplify Engine creation.
2021-06-29 17:47:31 +08:00
Stephen Chung
27c126d2f0
Make on_print/on_debug Option.
2021-06-29 17:42:03 +08:00
Stephen Chung
8f4a582f88
Remove free list of empty function resolution caches.
2021-06-28 22:06:46 +08:00
Stephen Chung
a13a724361
Fix builds.
2021-06-28 18:29:53 +08:00
Stephen Chung
e40e81ac1a
Mark simple functions const.
2021-06-28 18:06:05 +08:00
Stephen Chung
0c99165007
Remove description.
2021-06-28 17:24:05 +08:00
Stephen Chung
0888738b75
Change AST::clone_source to AST::source_raw.
2021-06-28 13:53:30 +08:00
Stephen Chung
7196b017f5
Add is_odd, is_even and is_zero.
2021-06-27 22:10:52 +08:00
Stephen Chung
1247b89352
Deprecate description for errors.
2021-06-24 14:55:53 +08:00
Stephen Chung
83297ffa00
Bump version to 1.0.
2021-06-24 11:50:03 +08:00
Stephen Chung
178fe6b978
Remove deprecated API.
2021-06-24 09:48:44 +08:00
Stephen Chung
2342777a13
Iterator reference parameters.
2021-06-21 19:12:28 +08:00
Stephen Chung
3b345acebf
Impl returns closures.
2021-06-20 21:42:13 +08:00
Stephen Chung
4093727dcb
New string functions.
2021-06-17 13:31:58 +08:00
Stephen Chung
425e038f4b
Split FnPtr into own file.
2021-06-17 09:50:32 +08:00
Stephen Chung
40e33fa6f9
Add to_hex, to_octal and to_binary.
2021-06-16 23:49:18 +08:00
Stephen Chung
a9ed434c73
Refine error position for missing indexer.
2021-06-16 19:45:45 +08:00
Stephen Chung
0b028dc900
Fix decimal build.
2021-06-16 19:44:54 +08:00
Stephen Chung
c492fa3234
Do not export SmartString.
2021-06-16 19:02:37 +08:00
Stephen Chung
204dcf60ac
Export Identifier only when internals.
2021-06-16 18:58:48 +08:00
Stephen Chung
e684626fc4
Remove unnecessary #[must_use].
2021-06-16 18:58:32 +08:00
Stephen Chung
42a14ab4cc
Make file structures consistent.
2021-06-16 18:36:33 +08:00
Stephen Chung
aa2e04bd25
Simplify Expr::Export.
2021-06-16 16:35:56 +08:00
Stephen Chung
0a857e6944
Remove position for catch keyword.
2021-06-16 16:15:29 +08:00
Stephen Chung
03cb398edf
Better implementation for Expression::get_literal_value.
2021-06-16 12:24:36 +08:00
Stephen Chung
b5898f451e
Fix no_closure build.
2021-06-14 12:09:54 +08:00
Stephen Chung
bbf3d31fbf
Code style refactor.
2021-06-14 12:02:22 +08:00
Stephen Chung
743d48f44f
Code style cleanup.
2021-06-13 17:41:34 +08:00
Stephen Chung
8ca24059b1
Add #[must_use]
2021-06-12 22:47:43 +08:00
Stephen Chung
68ea8c27fd
Fix unchecked.
...
Do not duplicate data size checking.
2021-06-12 10:26:50 +08:00
Stephen Chung
f9dcfeb1ad
Check data size after assignments.
2021-06-11 19:59:50 +08:00
Stephen Chung
79d9977cd5
Change take_string and take_immutable_string to as_XXX.
2021-06-10 10:45:44 +08:00
Stephen Chung
a5031969ca
New custom syntax expression types.
2021-06-10 10:16:39 +08:00
Stephen Chung
c3eb6d65f6
Refine Target variant names.
2021-06-08 23:40:21 +08:00
Stephen Chung
6397ce671e
Simplify code.
2021-06-08 23:40:10 +08:00
Stephen Chung
bcf82dafcb
Fix tests.
2021-06-08 19:30:13 +08:00
Stephen Chung
ae9f4b5b71
Remove collect() with exact sizes.
2021-06-08 15:48:55 +08:00
Stephen Chung
2c21928f67
Simplify constant function call arguments.
2021-06-08 14:46:49 +08:00
Stephen Chung
3e08160653
Simplify variable name parsing.
2021-06-07 11:43:00 +08:00
Stephen Chung
411b718a3b
Fix test.
2021-06-07 11:21:45 +08:00
Stephen Chung
1e66f1963a
Add counter variable to for statement.
2021-06-07 11:01:16 +08:00
Stephen Chung
989cb702c0
Use chars() to iterate strings.
2021-06-07 09:47:49 +08:00
Stephen Chung
859a18c6fd
Fix Dynamic hashing.
2021-06-06 14:47:32 +08:00
Stephen Chung
c02d702081
Use StaticVec.
2021-06-06 12:17:04 +08:00
Stephen Chung
a530fbf4ff
Remove unnecessary raw stirngs.
2021-06-05 15:26:43 +08:00
Stephen Chung
3371eed411
Use write_str.
2021-06-04 14:23:40 +08:00
Stephen Chung
e35122ae5d
Disallow registering indexers for integers.
2021-06-04 14:23:30 +08:00
Stephen Chung
99e06abd94
Fix test.
2021-06-02 15:18:09 +08:00
Stephen Chung
4cf6550fc6
Fix tests.
2021-06-02 15:05:33 +08:00
Stephen Chung
71684f5e2a
Implement bit-fields.
2021-06-02 14:29:18 +08:00
Stephen Chung
76bd48d0a6
Code style refinements.
2021-05-29 18:33:29 +08:00
Stephen Chung
5f36f1a28c
Remove PluginFunction::is_variadic.
2021-05-29 18:32:34 +08:00
Stephen Chung
dfea3ed22a
Code style refactor.
2021-05-25 10:54:48 +08:00
Stephen Chung
58d6a88bc4
Use checked exp for decimal.
2021-05-24 12:12:29 +08:00
Stephen Chung
98a232cb8c
Prevent exp underflow.
2021-05-23 11:54:40 +08:00
Stephen Chung
d07d4d295d
Fix tests.
2021-05-22 19:34:10 +08:00
Stephen Chung
cc3e2d79a5
Replace unwrap with expect.
2021-05-22 19:14:24 +08:00
Stephen Chung
1545b602a7
Streamline hashing function.
2021-05-19 20:26:11 +08:00
Stephen Chung
85a5aa14b3
Fix no_index build.
2021-05-18 22:03:34 +08:00
Stephen Chung
2ade56fd94
Fix no_index build.
2021-05-18 21:38:09 +08:00
Stephen Chung
dc9b4d7f4d
Indexer as fallback to property.
2021-05-18 20:12:30 +08:00
Stephen Chung
e64dad4e9f
Optimize scope.
2021-05-18 12:40:40 +08:00
Stephen Chung
70f09d1c84
Make tag i32 on 64-bit targets.
2021-05-18 12:24:23 +08:00
Stephen Chung
3116a39331
Minor code refactor.
2021-05-18 12:24:11 +08:00
Stephen Chung
d1fc362eec
Handle constants propagation.
2021-05-16 21:21:13 +08:00
Stephen Chung
cce2e02428
Fix feature builds.
2021-05-15 11:56:19 +08:00
Stephen Chung
941e09d29d
Guard against setters mutating constants, and allow pure setters.
2021-05-15 11:41:42 +08:00
Stephen Chung
565134c4da
Fix bug in constants propagation.
2021-05-15 11:00:25 +08:00
Stephen Chung
4f14fd55f5
Small code refinements.
2021-05-14 19:21:28 +08:00
Stephen Chung
9585de4ae4
Add Dynamic from shared.
2021-05-11 21:38:07 +08:00
Stephen Chung
be052b2b26
Bump version of rust_decimal and add more functions.
2021-05-11 20:31:31 +08:00
Stephen Chung
97c8194d17
No need to specify number of variables added/removed for custom syntax.
2021-05-11 10:58:28 +08:00
Stephen Chung
fd19d625b0
Refine doc comments.
2021-05-10 11:07:19 +08:00
Stephen Chung
2cf59e9954
Expose DynamicReadLock and DynamicWriteLoc under internals.
2021-05-10 09:43:45 +08:00
Stephen Chung
d230f448c0
Add no_smartstring to disable using SmartString.
2021-05-08 22:59:33 +08:00
Stephen Chung
2c0215ea3f
Shrink arrays and use boxed slices.
2021-05-05 18:38:52 +08:00
Stephen Chung
13c620de4b
Implement Eq and PartialEq for ScriptFnMetadata that sorts on function signature.
2021-05-04 10:19:08 +08:00
Stephen Chung
c61b118037
Fix decimal build.
2021-05-03 13:57:47 +08:00
Stephen Chung
c749bbb653
Reduce BTree sizes by boxing values.
2021-05-03 13:45:41 +08:00
Stephen Chung
aad842fe50
Remove Engine::enable_doc_comments.
2021-05-03 13:07:51 +08:00
Stephen Chung
bb5dc7b637
Add tag to Dynamic.
2021-05-02 23:57:35 +08:00
Stephen Chung
b091113334
Eliminate unnecessary data structures.
2021-04-27 22:28:01 +08:00
Stephen Chung
a5d4a0abb9
Disable on_progress with unchecked.
2021-04-25 15:27:58 +08:00
Stephen Chung
f81e3d6ff8
Fix unchecked builds.
2021-04-24 18:14:48 +08:00
Stephen Chung
41d3709db1
Fix decimal build.
2021-04-24 15:53:02 +08:00
Stephen Chung
c82a47ac26
Unchecked index access.
2021-04-24 14:47:20 +08:00
Stephen Chung
ce35f7fa72
Fix off by one error in optimizer.
2021-04-24 13:42:45 +08:00
Stephen Chung
b5a2937336
Do not treat Expr::Index with pure index as pure.
2021-04-24 13:42:30 +08:00
Stephen Chung
61b559a58f
Refine op-assignment.
2021-04-24 11:55:40 +08:00
Stephen Chung
dc3a217b2f
ImmutableString += String optimized.
2021-04-23 23:37:33 +08:00
Stephen Chung
cc1f941875
Optimize op-assignment.
2021-04-23 23:37:10 +08:00
Stephen Chung
335ab64a2c
Use SmartString inside ImmutableString.
2021-04-23 19:10:10 +08:00
Stephen Chung
fc782c5563
Refine posistion display.
2021-04-23 14:24:53 +08:00
Stephen Chung
1fbbb2a40d
Fix doc test.
2021-04-22 23:09:10 +08:00
Stephen Chung
a54fbb32ff
Add no_position feature.
2021-04-22 23:02:25 +08:00
Stephen Chung
fe37edd123
Add Stmt::FnCall.
2021-04-21 18:16:24 +08:00
Stephen Chung
cc546fcaab
Add version to repl.
2021-04-21 17:39:45 +08:00
Stephen Chung
956c57e9d6
Fix no-std build.
2021-04-21 10:05:28 +08:00
Stephen Chung
815f7ba09e
Remove Expr::FnPointer.
2021-04-20 23:40:52 +08:00
Stephen Chung
ce384d8bb0
Change FnPtr to SmartString.
2021-04-20 23:28:04 +08:00
Stephen Chung
8f1bff2ded
Change hash to hashes.
2021-04-20 22:26:08 +08:00
Stephen Chung
61d06183ea
Speed up Array/Map Dynamic construction.
2021-04-20 22:21:51 +08:00
Stephen Chung
8ff1f57900
Remove redundant std.
2021-04-20 19:19:35 +08:00
Stephen Chung
0f66c67f82
Do not unnecessarily use raw strings.
2021-04-20 12:01:35 +08:00
Stephen Chung
a186eb8d97
Fix hanging when parsing unterminated statements block.
2021-04-20 11:22:38 +08:00
Stephen Chung
46b22ddd96
Fix tests.
2021-04-19 18:08:29 +08:00
Stephen Chung
e88fb071f7
Fix module test.
2021-04-19 15:41:24 +08:00
Stephen Chung
c5e716e71f
Fix zero position bugs in array methods.
2021-04-19 15:11:03 +08:00
Stephen Chung
1145c5a4c0
Update rust_decimal.
2021-04-18 21:35:55 +08:00
Stephen Chung
bd145bd080
Do not unnecessarily reindex module.
2021-04-17 22:19:48 +08:00
Stephen Chung
2efe9d08a4
Skip eval if statements are empty.
2021-04-17 22:19:34 +08:00
Stephen Chung
90198d5440
Fix test.
2021-04-17 18:59:20 +08:00
Stephen Chung
eefdc09352
Allow shadowing of global.
2021-04-17 18:40:16 +08:00
Stephen Chung
9a8da93145
Delay creation of global module until actually needed.
2021-04-17 18:10:57 +08:00
Stephen Chung
1be7e60be2
Automatic global module.
2021-04-17 17:25:35 +08:00
Stephen Chung
01f0cc028b
Use no-std-compat to build no-std.
2021-04-17 15:15:54 +08:00
Stephen Chung
2f2b7403cb
Streamline as_mut to &mut.
2021-04-17 13:54:24 +08:00
Stephen Chung
199df9aa4a
Use deref for Target.
2021-04-17 13:36:51 +08:00
Stephen Chung
807a14eaa2
call_fn always evalutes AST.
2021-04-17 13:36:23 +08:00
Stephen Chung
6c92011ea1
Hide is_shared and is_locked under feature gates.
2021-04-17 12:03:29 +08:00
Stephen Chung
2b10c5c6c1
Correct position of negative numbers.
2021-04-16 21:59:05 +08:00
Stephen Chung
208e5fdbf4
New switch errors.
2021-04-16 13:28:36 +08:00
Stephen Chung
1f987ec61a
Streamine StmtBlock.
2021-04-16 13:15:11 +08:00
Stephen Chung
980a13ca42
Add switch case conditions.
2021-04-16 12:04:33 +08:00
Stephen Chung
8da4c0c2b2
Default switch case must be last.
2021-04-16 09:41:02 +08:00
Stephen Chung
187dbe537f
Improve debug AST printing.
2021-04-13 15:52:45 +08:00
Stephen Chung
5a0199f44f
Explanation of parse_string_literal return values.
2021-04-13 14:38:04 +08:00
Stephen Chung
44e2e6aeb4
Fix string handling at EOF.
2021-04-11 21:49:03 +08:00
Stephen Chung
ccbbf3eb34
Enhance floating-point display.
2021-04-11 11:20:34 +08:00
Stephen Chung
c1c1e5f684
Use string start position as error position.
2021-04-11 11:19:46 +08:00
Stephen Chung
6b4553ffc8
Fix panic with unterminated interpolated string.
2021-04-10 17:47:44 +08:00
Stephen Chung
40fda5139d
Support negative index counting from end.
2021-04-10 15:00:03 +08:00
Stephen Chung
716e9cf779
Fix string parsing state.
2021-04-10 11:11:42 +08:00
Stephen Chung
42555ac732
Unify string continuation parsing.
2021-04-10 10:20:17 +08:00
Stephen Chung
4aaf957d73
Gate doc-comment tokenizing.
2021-04-09 23:13:33 +08:00
Stephen Chung
29d186b361
Put doc-comments under metadata flag.
2021-04-09 22:49:47 +08:00
Stephen Chung
0f2e7e3825
Fix builds and tests.
2021-04-06 23:28:22 +08:00
Stephen Chung
f17a826f99
Refine debug print-out.
2021-04-06 23:18:41 +08:00
Stephen Chung
7ec49a9510
Fix f32_feature with serde.
2021-04-06 23:18:28 +08:00
Stephen Chung
131147c65d
Optimize Fn construct.
2021-04-06 12:26:38 +08:00
Stephen Chung
d3cfb3c605
Optimize position in variable access.
2021-04-05 23:59:15 +08:00
Stephen Chung
94fc5af285
Store short index in variable access.
2021-04-05 23:06:48 +08:00
Stephen Chung
a3ee0f4245
Fix no_index build.
2021-04-05 18:32:20 +08:00
Stephen Chung
f5d3a0ef4f
Promote expr block.
2021-04-05 14:57:07 +08:00
Stephen Chung
00784d39ad
PropertyExpected for map literal with interpolated key.
2021-04-05 14:51:26 +08:00
Stephen Chung
26bb88974a
Add function for string + char.
2021-04-05 00:10:08 +08:00
Stephen Chung
e6ea006ac6
Fix builds.
2021-04-05 00:05:56 +08:00
Stephen Chung
8956a77c8c
Add new state in TokenizeState to switch back to text mode.
2021-04-04 23:23:10 +08:00
Stephen Chung
0807c474a1
Revise using string interpolation.
2021-04-04 23:22:45 +08:00
Stephen Chung
bc9c1ab850
Add external control interface for tokenizer.
2021-04-04 23:08:27 +08:00
Stephen Chung
20aaf1826a
Fix builds.
2021-04-04 15:06:13 +08:00
Stephen Chung
e6c878edf3
Implement string interpolation.
2021-04-04 13:13:07 +08:00
Stephen Chung
f7ad1cec39
Fix builds.
2021-04-03 11:49:16 +08:00
Stephen Chung
b089d5b8f4
Fix bug in property setter op-assignment.
2021-04-03 11:12:35 +08:00
Stephen Chung
a738f750f9
Implement string functions with to_string/to_debug.
2021-04-02 19:26:55 +08:00
Stephen Chung
889edbef71
Allow cross-loading of relative file paths in FileModuleResolver.
2021-04-02 12:34:39 +08:00
Stephen Chung
98afb2e7d6
Fix feature builds.
2021-03-31 10:16:38 +08:00
Stephen Chung
a049f7b5ba
Optimize data structures.
2021-03-30 23:55:29 +08:00
Stephen Chung
b14d18934a
Add Dynamic::clone_cast.
2021-03-30 18:57:16 +08:00
Stephen Chung
e36e490a30
Support back-tick at EOL for literal strings.
2021-03-30 13:59:27 +08:00
Stephen Chung
d756b7bac6
Rename FnWrongDefinition to WrongFnDefinition.
2021-03-30 11:39:00 +08:00
Stephen Chung
d2ded7733a
Add support for line continuation and multi-line string literals.
2021-03-30 00:21:09 +08:00
Stephen Chung
3a6e6848fd
Fix serde build.
2021-03-29 18:46:32 +08:00
Stephen Chung
e306a92ea0
Change Map keys to Identifier.
2021-03-29 17:14:22 +08:00
Stephen Chung
41b48d591f
Change to no_smartstring feature.
2021-03-29 17:13:54 +08:00
Stephen Chung
07efdddba3
Add smartstring default feature.
2021-03-29 13:40:33 +08:00
Stephen Chung
fc6c5ecd00
Fix no_closure builds.
2021-03-29 13:07:10 +08:00
Stephen Chung
60f8a7f91c
Remove Float trait.
2021-03-29 11:36:15 +08:00
Stephen Chung
e5249cc1ae
Extract Identifier type.
2021-03-29 11:36:02 +08:00
Stephen Chung
241f5abe10
Change function call name into ImmutableString from Cow<str>.
2021-03-28 23:06:59 +08:00
Stephen Chung
7bdc2e3d20
Extract constant arguments from function calls.
2021-03-28 19:04:25 +08:00
Stephen Chung
8e8c367034
Update deprecated methods with since attribute.
2021-03-28 17:04:16 +08:00
Stephen Chung
7825cb1c56
Support shebangs in scripts.
2021-03-28 16:36:56 +08:00
Stephen Chung
47588f9784
Fix codegen tests.
2021-03-27 08:12:13 +08:00
Stephen Chung
0afc2a0842
Reverse Module::set_plugin_fn.
2021-03-26 18:41:28 +08:00
Stephen Chung
33f88dc813
Fix sync build.
2021-03-26 16:57:28 +08:00
Stephen Chung
c443c3bb48
Gate codegen metadata output under metadata feature.
2021-03-26 10:59:34 +08:00
Stephen Chung
8ea218f907
Metadata pulls in serde.
2021-03-25 19:49:30 +08:00
Stephen Chung
adbb5f8eb8
Use static array for codegen parameters info.
2021-03-25 14:02:50 +08:00
Stephen Chung
1d661f2c8e
Fix decimal build.
2021-03-24 22:26:07 +08:00
Stephen Chung
ac7f35cacb
Move all functions metadata into metadata feature.
2021-03-24 19:27:38 +08:00
Stephen Chung
c4fe1782df
Streamline string handling.
2021-03-24 13:17:52 +08:00
Stephen Chung
3a1e93e324
Fix no_std build.
2021-03-24 10:38:56 +08:00
Stephen Chung
3d0d5d1708
Streamline code.
2021-03-24 10:02:50 +08:00
Stephen Chung
6d1700728a
Intern module registration strings.
2021-03-24 09:56:25 +08:00
Stephen Chung
0d7f2c16cc
Reduce indirections.
2021-03-23 20:04:54 +08:00
Stephen Chung
f9429c06f9
Use template for object map literal.
2021-03-23 18:25:40 +08:00
Stephen Chung
f70225ca1d
Change HashMap to BTreeMap.
2021-03-23 12:13:53 +08:00
Stephen Chung
7a0032fc89
Move return type to param_names.
2021-03-22 23:11:23 +08:00
Stephen Chung
42d7736d94
Add conversions between Decimal and FLOAT.
2021-03-22 15:16:01 +08:00
Stephen Chung
22ff68cdc9
Fix feature builds.
2021-03-22 12:18:13 +08:00
Stephen Chung
a82f0fc738
Allow non-Dynamic in return_raw.
2021-03-22 11:18:09 +08:00
Stephen Chung
297a539528
Flatten function call arguments.
2021-03-20 23:57:43 +08:00
Stephen Chung
aa0594210c
Use RhaiResult for plugin return.
2021-03-19 10:30:30 +08:00
Stephen Chung
1200ffcd2b
Add test with &str parameter.
2021-03-17 22:32:22 +08:00
Stephen Chung
e2a66e0241
Fix doc tests.
2021-03-17 14:45:40 +08:00
Stephen Chung
6667a22c0c
Code style and docs.
2021-03-17 13:30:47 +08:00
Stephen Chung
699131be58
New reserved keywords.
2021-03-17 10:31:50 +08:00
Stephen Chung
4581943435
Remove public_only parameters.
2021-03-17 09:58:08 +08:00
Stephen Chung
5172ade179
Code style edits.
2021-03-16 18:16:40 +08:00
Stephen Chung
082ecaa739
Fix feature builds.
2021-03-15 23:03:26 +08:00
Stephen Chung
a1549bb377
Allow register_result to return any type.
2021-03-15 22:37:50 +08:00
Stephen Chung
27953ef745
Register parameter type names.
2021-03-15 22:19:21 +08:00
Stephen Chung
6cbf771fdd
Fix private function signature.
2021-03-15 21:30:55 +08:00
Stephen Chung
e9f280f917
Deprecate Module::set_fn_XXX API.
2021-03-15 12:39:06 +08:00
Stephen Chung
d0922adb5b
Deprecate RegisterFn and RegisterResultFn.
2021-03-15 11:36:30 +08:00
Stephen Chung
d9df6aabc8
Change precedence to own type.
2021-03-14 10:47:29 +08:00
Stephen Chung
008ef0a41b
Fix feature builds.
2021-03-14 10:47:21 +08:00
Stephen Chung
4e3fdf6dab
Revamp statement block optimization.
2021-03-13 23:43:05 +08:00
Stephen Chung
58d28fb468
Fix no-std build.
2021-03-13 19:08:49 +08:00
Stephen Chung
558ffeaf3e
Add FnResolutionCacheEntry.
2021-03-13 18:46:08 +08:00
Stephen Chung
61b0c7b2b3
Optimize imports layout.
2021-03-12 22:30:08 +08:00
Stephen Chung
81ca86a8d2
Fix internals build.
2021-03-12 19:33:22 +08:00
Stephen Chung
b74d2ff2b4
Fix test.
2021-03-12 14:13:19 +08:00
Stephen Chung
85fcb74be9
Furtuer optimize data structure sizes.
2021-03-12 14:11:08 +08:00
Stephen Chung
4e5d009386
Inline scope entries.
2021-03-12 13:26:47 +08:00
Stephen Chung
c2a34bd518
Fix internals build.
2021-03-11 22:27:35 +08:00
Stephen Chung
7b8a4c46e7
Add ability to terminate AST walk.
2021-03-11 21:55:55 +08:00
Stephen Chung
b2fd0222de
Refine statement block optimization.
2021-03-11 18:29:22 +08:00
Stephen Chung
99020f3ed1
Fix builds.
2021-03-10 23:37:04 +08:00
Stephen Chung
9b37d84a9b
Enable/disable caching in FileModuleResolver.
2021-03-10 23:01:04 +08:00
Stephen Chung
728ed81173
Optimize layout.
2021-03-10 22:12:48 +08:00
Stephen Chung
874b3fc843
Fix metadata build.
2021-03-10 14:10:04 +08:00
Stephen Chung
cbad703b00
Flatten data structures and more aggressive inlining.
2021-03-10 13:32:09 +08:00
Stephen Chung
352408fd36
Flatten statement blocks.
2021-03-10 12:27:10 +08:00
Stephen Chung
2ff2789326
Fix Stmt size.
2021-03-09 23:48:40 +08:00
Stephen Chung
b11b8d6d39
Reduce redirections in Stmt.
2021-03-09 23:30:48 +08:00
Stephen Chung
8853ebf059
Remove EvalAltResult::ErrorInExpr.
2021-03-09 19:13:26 +08:00
Stephen Chung
9daa894e25
Pack method call args more tightly.
2021-03-09 18:11:43 +08:00
Stephen Chung
bc2b9bfbfd
Fix builds.
2021-03-09 14:39:03 +08:00
Stephen Chung
b78c6ddf62
Better debug display.
2021-03-09 14:00:21 +08:00
Stephen Chung
975bb3d6bf
Map in operator to contains function call.
2021-03-09 13:44:54 +08:00
Stephen Chung
ff7844893d
Add contains for array.
2021-03-09 13:16:05 +08:00
Stephen Chung
7805540b7b
Improve in statement.
2021-03-09 11:55:49 +08:00
Stephen Chung
795a3afa81
Use reference for method call parameters, add position info.
2021-03-09 00:07:05 +08:00
Stephen Chung
fefa5a7dc7
Split has_script_fn and has_native_fn.
2021-03-08 18:40:23 +08:00
Stephen Chung
57140cbeeb
Fix internals build.
2021-03-08 15:55:26 +08:00
Stephen Chung
62928f8613
Revise function hashing.
2021-03-08 15:30:32 +08:00
Stephen Chung
1c3a07fe86
Fix metadata build.
2021-03-07 22:37:23 +08:00
Stephen Chung
a7ff9fb24f
Add bytes method for strings.
2021-03-07 22:33:02 +08:00
Stephen Chung
330d3f87af
Use namespace for ScriptFnDef.
2021-03-07 22:10:54 +08:00
Stephen Chung
e87f981674
Fix sync build.
2021-03-06 22:07:20 +08:00
Stephen Chung
4da5af8aae
Do not flatten arguments passed by value.
2021-03-06 21:25:49 +08:00
Stephen Chung
a126d05c3f
Skip evaluate condition for loop statement.
2021-03-06 16:05:22 +08:00
Stephen Chung
e14bef4b10
Trap &mut String parameters.
2021-03-06 14:41:35 +08:00
Stephen Chung
fe633ea7d3
Fix bug when passing shared string variable to &str parameter.
2021-03-06 10:44:55 +08:00
Stephen Chung
426f841aa2
Fix serde build.
2021-03-05 23:41:20 +08:00
Stephen Chung
a251219730
Remove public Dynamic::as_str.
2021-03-05 23:00:27 +08:00
Stephen Chung
ca1ce6b6b8
Streamline macros.
2021-03-05 22:58:20 +08:00
Stephen Chung
65ef32af19
Calculate whether contains global functions during indexing.
2021-03-05 20:07:35 +08:00
Stephen Chung
4e5039d4fe
Fix bug in built-in string operators.
2021-03-05 20:06:49 +08:00
Stephen Chung
8f0830af1c
Expose Variant under internals.
2021-03-05 14:18:36 +08:00
Stephen Chung
2052942d9d
Add Dynamic::as_unit.
2021-03-05 13:34:58 +08:00
Stephen Chung
88943915a7
Fix decimal build.
2021-03-05 12:58:27 +08:00
Stephen Chung
4c5ea8decc
Fix switch of non-hashable value.
2021-03-05 10:33:48 +08:00
Stephen Chung
0fa3968b74
Try not to check slice bounds in straight hasher.
2021-03-05 09:31:56 +08:00
Stephen Chung
01664ef7ee
Fix range overflow panics.
2021-03-04 23:47:52 +08:00
Stephen Chung
8d487906cc
Remove unnecessary implementation.
2021-03-04 22:57:24 +08:00
Stephen Chung
0f56b56b9c
Fix range function.
2021-03-04 21:43:00 +08:00
Stephen Chung
0589572d19
Refine inlining.
2021-03-04 18:13:47 +08:00
Stephen Chung
4e69b1847d
Turn Shared into alias.
2021-03-04 14:08:11 +08:00
Stephen Chung
399e7b0e28
Streamline macros.
2021-03-04 13:13:51 +08:00
Stephen Chung
22c392d796
Fix no_closure build.
2021-03-04 10:50:45 +08:00
Stephen Chung
2707b887c6
Fix shared value assignments.
2021-03-04 10:24:14 +08:00
Stephen Chung
ade290da7e
Simplify lifetimes.
2021-03-03 22:49:57 +08:00
Stephen Chung
ed568a9395
Make RhaiResult internal.
2021-03-03 22:49:29 +08:00
Stephen Chung
dfc1ea692f
Implement built-in operators with macros.
2021-03-03 21:46:48 +08:00
Stephen Chung
41c39a2060
Remove Dynamic::as_locked_immutable_string.
2021-03-03 18:13:41 +08:00
Stephen Chung
58df3ca141
Fix decimal and no_std builds.
2021-03-03 13:34:29 +08:00
Stephen Chung
77277ebf37
Use as_xxx() API.
2021-03-03 13:16:53 +08:00
Stephen Chung
2c8b15c740
Private global functions are still exposed.
2021-03-03 11:40:27 +08:00
Stephen Chung
ce6e6ceaaa
Fix serde build.
2021-03-02 23:19:35 +08:00
Stephen Chung
7262d63909
Move default comparisons into builtin.
2021-03-02 23:08:54 +08:00
Stephen Chung
5b1f80f5ce
Store negative result from has_override to function resolution cache.
2021-03-02 22:31:07 +08:00
Stephen Chung
6fd2262ace
Remove unnecessary is_def_fn function.
2021-03-02 22:27:53 +08:00
Stephen Chung
e3e53bd399
Introduce RhaiResult.
2021-03-02 15:02:28 +08:00
Stephen Chung
521c8fad27
Streamline ref object backup.
2021-03-02 14:44:21 +08:00
Stephen Chung
b76e8da5ee
Cache built-in functions to improve resolution speed.
2021-03-02 13:48:41 +08:00
Stephen Chung
67d277aa21
Disallow overriding keywords.
2021-03-01 22:44:56 +08:00
Stephen Chung
fc10df7d63
Keyword can no longer be overloaded.
2021-03-01 17:17:13 +08:00
Stephen Chung
b7e864bb78
Extract function resolution code.
2021-03-01 16:53:03 +08:00
Stephen Chung
b466d58192
Remove unnecessary AsRef and impl IntoIterator.
2021-03-01 15:58:11 +08:00
Stephen Chung
061fce1f02
No more pub_only.
2021-03-01 15:39:49 +08:00