Stephen Chung
|
0cb781c1aa
|
Avoid allocation in Target.
|
2020-05-16 11:42:56 +08:00 |
|
Stephen Chung
|
be97047e51
|
Limit modules loading.
|
2020-05-15 21:40:54 +08:00 |
|
Stephen Chung
|
55c97eb649
|
Add progress tracking and operations limit.
|
2020-05-15 11:43:32 +08:00 |
|
Stephen Chung
|
5d5ceb4049
|
Consolidate all unsafe code under one single file.
|
2020-05-14 18:27:22 +08:00 |
|
Stephen Chung
|
5c61827c7c
|
Force-cast local variable names when pushing into scope.
|
2020-05-14 11:21:56 +08:00 |
|
Stephen Chung
|
cabceb7498
|
Better handling of errors during function calls.
|
2020-05-13 21:58:38 +08:00 |
|
Stephen Chung
|
9d8d074940
|
Consistent naming of methods.
|
2020-05-13 20:22:05 +08:00 |
|
Stephen Chung
|
5a02548ebc
|
Allocate packages with higher functions capacity.
|
2020-05-13 19:39:34 +08:00 |
|
Stephen Chung
|
30e5e2f034
|
Use modules to implement packages.
|
2020-05-13 19:21:42 +08:00 |
|
Stephen Chung
|
8e8816cb0c
|
Add compile_scripts_with_scope.
|
2020-05-13 11:57:07 +08:00 |
|
Stephen Chung
|
996a54279c
|
Pre-calculate property getter/setter function names.
|
2020-05-13 10:19:18 +08:00 |
|
Stephen Chung
|
d6fd5416b0
|
Add replace function for characters
|
2020-05-12 23:30:55 +08:00 |
|
Stephen Chung
|
ec67879759
|
Derive more standard traits.
|
2020-05-12 18:48:25 +08:00 |
|
Stephen Chung
|
03c64688ad
|
Fix sync feature.
|
2020-05-12 16:32:22 +08:00 |
|
Stephen Chung
|
2e28967565
|
Fix bug with wrong method call hash.
|
2020-05-12 10:20:29 +08:00 |
|
Stephen Chung
|
33c9be7efc
|
Reformat.
|
2020-05-11 23:48:50 +08:00 |
|
Stephen Chung
|
414f3d3c23
|
Fix bug with calling a pure function method-call style.
|
2020-05-11 18:55:58 +08:00 |
|
Stephen Chung
|
4a8710a4a9
|
Create NativeCallable trait.
|
2020-05-11 13:36:50 +08:00 |
|
Stephen Chung
|
314ec5e4d2
|
Remove checks for number of arguments.
|
2020-05-11 10:29:33 +08:00 |
|
Stephen Chung
|
7ea341833c
|
Merge branch 'master' into plugins
|
2020-05-10 21:59:27 +08:00 |
|
Stephen Chung
|
8aa0e2ceb4
|
Use StaticVec to avoid most allocations with function arguments.
|
2020-05-10 21:25:47 +08:00 |
|
Stephen Chung
|
974512d650
|
Use StaticVec to build arguments list.
|
2020-05-10 16:56:17 +08:00 |
|
Stephen Chung
|
80debbc432
|
Refactor.
|
2020-05-10 00:19:13 +08:00 |
|
Stephen Chung
|
95490adf0b
|
Merge branch 'master' into plugins
|
2020-05-10 00:14:03 +08:00 |
|
Stephen Chung
|
29159b359b
|
Refactor.
|
2020-05-10 00:13:49 +08:00 |
|
Stephen Chung
|
a7bfac21bd
|
Reducing boxing and sizes of Expr/Stmt.
|
2020-05-09 21:46:38 +08:00 |
|
Stephen Chung
|
17e4adc049
|
Move hash calculation out of loop.
|
2020-05-09 16:21:11 +08:00 |
|
Stephen Chung
|
79f39bd702
|
Pre-calculate function call hashes.
|
2020-05-09 16:15:50 +08:00 |
|
Stephen Chung
|
0d20137d6c
|
Implement private modifier for functions.
|
2020-05-09 11:29:30 +08:00 |
|
Stephen Chung
|
d1de84fdd2
|
Add comments and fix documentation.
|
2020-05-09 10:00:59 +08:00 |
|
Stephen Chung
|
e50fcc385f
|
Pre-calculate index for module-qualified calls.
|
2020-05-08 22:38:56 +08:00 |
|
Stephen Chung
|
eb52bfa28a
|
Add export statement.
|
2020-05-08 16:49:24 +08:00 |
|
Stephen Chung
|
89d75b1b11
|
Fix compilation errors for no_module.
|
2020-05-08 14:50:48 +08:00 |
|
Stephen Chung
|
e0745ef069
|
Do not build index for multiple packages to avoid Engine creation regression.
|
2020-05-08 13:27:51 +08:00 |
|
Stephen Chung
|
e6fabe58cc
|
Unify function hash calculations, pre-hash module-qualified function calls.
|
2020-05-08 11:34:56 +08:00 |
|
Stephen Chung
|
5f12391ec6
|
Use hashed lookup for module-qualified functions and variables.
|
2020-05-08 00:19:08 +08:00 |
|
Stephen Chung
|
7f6ce29447
|
Add try_cast to cast any type to another.
|
2020-05-07 19:16:50 +08:00 |
|
Stephen Chung
|
c607c7c428
|
Move Engine functions and iterators lib to Packages API.
|
2020-05-07 15:25:50 +08:00 |
|
Stephen Chung
|
f3c0609377
|
Catch more assignment errors at parse time.
|
2020-05-07 12:25:09 +08:00 |
|
Stephen Chung
|
fb64adca93
|
Move fn_lib into State, and use StaticVec for function call arguments in dotting/indexing chains.
|
2020-05-07 10:00:10 +08:00 |
|
Stephen Chung
|
8e60976cfa
|
Merge branch 'namespace'
|
2020-05-07 09:32:00 +08:00 |
|
Stephen Chung
|
34327f6e54
|
Avoid copying arguments in packages.
|
2020-05-06 23:52:47 +08:00 |
|
Stephen Chung
|
ae776f1e11
|
Avoid recreating array in loop.
|
2020-05-06 23:19:55 +08:00 |
|
Stephen Chung
|
1934811838
|
Merge branch 'master' into namespace
|
2020-05-06 22:58:15 +08:00 |
|
Stephen Chung
|
898bb229e8
|
Merge branch 'master' into plugins
|
2020-05-06 22:57:16 +08:00 |
|
Stephen Chung
|
e966f5d49e
|
Fix bug with let statement without expression.
|
2020-05-06 22:54:34 +08:00 |
|
Stephen Chung
|
59eaad1fdf
|
Create module from file.
|
2020-05-06 22:26:52 +08:00 |
|
Stephen Chung
|
fa4d391e4b
|
Merge branch 'master' into plugins
|
2020-05-06 20:00:02 +08:00 |
|
Stephen Chung
|
d75a8bc6cd
|
Make sure all features compile correctly.
|
2020-05-06 19:45:17 +08:00 |
|
Stephen Chung
|
88fec57394
|
Make module_resolver optional and remove NullModuleResolver.
|
2020-05-06 16:09:44 +08:00 |
|
Stephen Chung
|
c9571d375a
|
Add position to script error.
|
2020-05-06 00:09:04 +08:00 |
|
Stephen Chung
|
82e1af7acd
|
Implement module resolvers.
|
2020-05-05 23:57:25 +08:00 |
|
Stephen Chung
|
87e0e783bc
|
Display timestamp.
|
2020-05-05 20:54:56 +08:00 |
|
Stephen Chung
|
a1bcc5cd7d
|
Merge branch 'master' into namespace
|
2020-05-05 20:42:16 +08:00 |
|
Stephen Chung
|
f081040767
|
Add support for custom type indexers.
|
2020-05-05 20:38:48 +08:00 |
|
Stephen Chung
|
aae9e43109
|
Implement module-qualified functions.
|
2020-05-05 17:51:40 +08:00 |
|
Stephen Chung
|
38e717a838
|
Build Module type plus engine hooks.
|
2020-05-05 15:00:10 +08:00 |
|
Stephen Chung
|
c03b162b7e
|
Refactor code base and split into more module files.
|
2020-05-05 12:24:13 +08:00 |
|
Stephen Chung
|
143861747d
|
Rename sub-scope/SubScope to module.
|
2020-05-05 10:39:12 +08:00 |
|
Stephen Chung
|
64036f69ca
|
Refine modules.
|
2020-05-04 23:07:42 +08:00 |
|
Stephen Chung
|
2bdd174f16
|
Add import statement.
|
2020-05-04 19:36:58 +08:00 |
|
Stephen Chung
|
b94fa31e21
|
Merge branch 'master' into namespace
|
2020-05-04 18:06:39 +08:00 |
|
Stephen Chung
|
798e1df298
|
Do not error when a property is read-only.
|
2020-05-04 18:06:09 +08:00 |
|
Stephen Chung
|
ead9716f6d
|
Add namespacing syntax.
|
2020-05-04 17:43:54 +08:00 |
|
Stephen Chung
|
4bf07182dc
|
Merge branch 'namespace' of https://github.com/schungx/rhai into namespace
|
2020-05-04 10:42:57 +08:00 |
|
Stephen Chung
|
7da9d265d3
|
Avoid copying parameters for function calls.
|
2020-05-04 10:41:58 +08:00 |
|
jhwgh1968
|
7011e4068f
|
Start on namespaces
|
2020-05-03 12:19:01 -05:00 |
|
Stephen Chung
|
3d05cc96cd
|
Remove downcast_XXX from Variant.
|
2020-05-03 22:17:28 +08:00 |
|
Stephen Chung
|
d83b829810
|
Avoid copying arguments for function calls.
|
2020-05-03 16:54:24 +08:00 |
|
Stephen Chung
|
3f9c4c32da
|
Merge branch 'master' into plugins
|
2020-05-02 11:57:45 +08:00 |
|
Stephen Chung
|
fc99b981a1
|
Fix panic when string character index is OOB.
|
2020-05-01 23:39:55 +08:00 |
|
Stephen Chung
|
c7c7fe3dfc
|
Reduce size of Expr and Stmt by Boxing strings.
|
2020-05-01 17:32:39 +08:00 |
|
Stephen Chung
|
5c5e1db61e
|
Cleanup code.
|
2020-05-01 10:17:19 +08:00 |
|
Stephen Chung
|
4f91e7fbcf
|
Avoid copying in Dynamic.
|
2020-04-30 22:52:36 +08:00 |
|
Stephen Chung
|
10756cdaf2
|
Merge branch 'master' into plugins
|
2020-04-29 16:33:47 +08:00 |
|
Stephen Chung
|
21c3edb31e
|
Streamline.
|
2020-04-29 16:11:54 +08:00 |
|
Stephen Chung
|
304c658f89
|
Use scope offset for variable access.
|
2020-04-28 23:05:03 +08:00 |
|
Stephen Chung
|
9ad9dd52ab
|
Reduce unnecessary Cow's in Expr.
|
2020-04-28 19:39:36 +08:00 |
|
Stephen Chung
|
6351c07bc6
|
Fix compiling for all features.
|
2020-04-28 19:39:28 +08:00 |
|
Stephen Chung
|
ec036e4039
|
Merge branch 'master' into plugins
|
2020-04-27 22:52:37 +08:00 |
|
Stephen Chung
|
41366d08fe
|
Fix tests and packages for all features.
|
2020-04-27 22:52:20 +08:00 |
|
Stephen Chung
|
d3a97dc86b
|
Remove EntryRef from Scope.
|
2020-04-27 22:49:09 +08:00 |
|
Stephen Chung
|
d043300ae2
|
Reduce unnecessary Option's.
|
2020-04-27 21:28:31 +08:00 |
|
Stephen Chung
|
c2bb1f48c2
|
Reduce size of scope entry.
|
2020-04-27 21:14:34 +08:00 |
|
Stephen Chung
|
43fdf3f962
|
FunctionsLib always exist.
|
2020-04-27 20:43:55 +08:00 |
|
Stephen Chung
|
b3e4659790
|
Encapsulate index values into StaticVec type.
|
2020-04-27 20:25:20 +08:00 |
|
Stephen Chung
|
5afeba6fd1
|
No need to return value for Scope::get.
|
2020-04-27 11:24:58 +08:00 |
|
Stephen Chung
|
07c5abcc02
|
Remove RefCell in Scope.
|
2020-04-27 09:36:31 +08:00 |
|
Stephen Chung
|
ce121ed6af
|
Add comments and minor refactor.
|
2020-04-26 21:48:49 +08:00 |
|
Stephen Chung
|
f5c7d7cd0d
|
Reduce memory footprint of Target.
|
2020-04-26 19:37:32 +08:00 |
|
Stephen Chung
|
33d3e34908
|
Deep linking for dot/index chains.
|
2020-04-26 18:04:07 +08:00 |
|
Stephen Chung
|
5da9bc0f98
|
Merge pull request #6 from schungx/master
Avoid copying iterator sources.
|
2020-04-26 17:03:28 +08:00 |
|
jhwgh1968
|
e59f6939f7
|
Added basic Plugin trait and test
|
2020-04-25 19:15:06 -05:00 |
|
Stephen Chung
|
9998cf8890
|
Avoid copying iterator sources.
|
2020-04-24 22:54:56 +08:00 |
|
Stephen Chung
|
3cb3dc8e4f
|
Fix shift function.
|
2020-04-24 20:05:34 +08:00 |
|
Stephen Chung
|
fb8459d4de
|
Remove unnecessary usings.
|
2020-04-24 20:05:28 +08:00 |
|
Stephen Chung
|
b6d839c8a9
|
Fix no_std build.
|
2020-04-24 12:39:24 +08:00 |
|
Stephen Chung
|
5aaaa7be3b
|
Simplify parsing by expecting the tokens stream will never be exhausted.
|
2020-04-23 13:24:24 +08:00 |
|
Stephen Chung
|
a4bf572d5a
|
Filter out reg_test so it doesn't prevent compiling.
|
2020-04-23 13:23:25 +08:00 |
|
Stephen Chung
|
5b41985ccc
|
Fix doc test in on_debug.
|
2020-04-23 13:22:53 +08:00 |
|
Stephen Chung
|
e7cc403381
|
Warn against eval in method-call style.
|
2020-04-23 13:22:28 +08:00 |
|
Stephen Chung
|
05bad53011
|
Encapsulate function calls and handle map property access more efficiently.
|
2020-04-23 10:21:02 +08:00 |
|
Stephen Chung
|
ef9d870a82
|
Remove builtin.rs
|
2020-04-22 19:28:00 +08:00 |
|
Stephen Chung
|
fbfea60903
|
Disallow assignments in expressions.
|
2020-04-22 17:37:06 +08:00 |
|
Stephen Chung
|
7df36033c4
|
Warn against === and !==.
|
2020-04-22 17:36:51 +08:00 |
|
Stephen Chung
|
9a1c715aad
|
Refine package API.
|
2020-04-22 14:55:40 +08:00 |
|
Stephen Chung
|
c40c0a0bc3
|
Add From<Vec<T>> and From<HashMap<String, T>> for Dynamic.
|
2020-04-22 14:07:34 +08:00 |
|
Stephen Chung
|
c69647d9fd
|
Change Dynamic::from_xxx to From<xxx> impl.
|
2020-04-22 12:12:13 +08:00 |
|
Stephen Chung
|
69733688bf
|
Make all public API's return Box<EvalAltResult> to reduce footprint.
|
2020-04-21 23:25:12 +08:00 |
|
Stephen Chung
|
0a75479637
|
Refine packages plumbing.
|
2020-04-21 23:01:10 +08:00 |
|
Stephen Chung
|
e394824bf3
|
Fixes.
|
2020-04-21 00:24:25 +08:00 |
|
Stephen Chung
|
0306d15c04
|
Split core and standard libraries into packages.
|
2020-04-21 00:11:25 +08:00 |
|
Stephen Chung
|
976f3a7f6d
|
Avoid an allocation in each function registration.
|
2020-04-20 12:43:34 +08:00 |
|
Stephen Chung
|
a1e33af5a0
|
Reduce size of Position by limiting resolution to 16 bits.
|
2020-04-20 11:08:54 +08:00 |
|
Stephen Chung
|
642533aef6
|
Extract function registration into a macro to prepare for future packages support.
|
2020-04-19 22:58:44 +08:00 |
|
Stephen Chung
|
b23fd6e20a
|
Reshuffle code sections.
|
2020-04-19 18:33:02 +08:00 |
|
Stephen Chung
|
d3d62c7dd9
|
Anticipate number of functions to be registered.
|
2020-04-19 13:40:11 +08:00 |
|
Stephen Chung
|
1ebdf6dcfc
|
Add one more level of Boxing for Dynamic::Variant to reduce size.
|
2020-04-18 12:36:10 +08:00 |
|
Stephen Chung
|
a0bc49c867
|
Reduce size of Dynamic by boxing large types.
|
2020-04-18 11:10:03 +08:00 |
|
Stephen Chung
|
f5fff828e8
|
Box errors to reduce return type footprint.
|
2020-04-18 00:14:33 +08:00 |
|
Stephen Chung
|
65d611b976
|
FIX: no_float errors.
|
2020-04-17 20:08:41 +08:00 |
|
Stephen Chung
|
c5f66e932b
|
Simplify parsing by introducing an EOF token.
|
2020-04-17 20:01:41 +08:00 |
|
Stephen Chung
|
5d9a99cefc
|
Refine postfix operators handling.
|
2020-04-17 19:00:52 +08:00 |
|
Stephen Chung
|
3a93ab8240
|
Make FunctionsLib a HashMap.
|
2020-04-16 23:58:57 +08:00 |
|
Stephen Chung
|
f8e9d66a0b
|
Remove lifetime from Engine.
|
2020-04-16 23:31:48 +08:00 |
|
Stephen Chung
|
4f2350734f
|
Avoid copying indexed value if not necessary.
|
2020-04-16 12:08:28 +08:00 |
|
Stephen Chung
|
1ace4b474c
|
Favor matching on Union's instead of downcast::<T>, as_xxx() or is::<T>.
|
2020-04-16 10:24:30 +08:00 |
|
Stephen Chung
|
c799a4567a
|
Remove IndexSourceType.
|
2020-04-16 00:05:07 +08:00 |
|
Stephen Chung
|
a35518fe49
|
Split tokenizer into separate file, plus fix no_std feature.
|
2020-04-15 22:21:23 +08:00 |
|
Stephen Chung
|
78cd53db09
|
Streamline tokens reading and reformat code for easier reading.
|
2020-04-15 21:41:28 +08:00 |
|
Stephen Chung
|
f600e59401
|
Fix bug with casting from float.
|
2020-04-13 23:31:05 +08:00 |
|
Stephen Chung
|
20bc66c5f6
|
Merge branch 'master' into enum-Dynamic
|
2020-04-13 21:34:20 +08:00 |
|
Stephen Chung
|
2e9a5f7a89
|
Add sub_string, crop and index_of to String.
|
2020-04-13 12:29:22 +08:00 |
|
Stephen Chung
|
5796e520ec
|
Support Dynamic return values.
|
2020-04-13 10:27:08 +08:00 |
|
Stephen Chung
|
adaf086e90
|
Add i128, u128 and make timestamp functions safe.
|
2020-04-13 09:49:12 +08:00 |
|
Stephen Chung
|
5152a40e93
|
Change Dynamic to enum.
|
2020-04-12 23:00:06 +08:00 |
|
Stephen Chung
|
bc0d43d68f
|
Simplify code.
|
2020-04-11 18:09:03 +08:00 |
|
Stephen Chung
|
5848339d5a
|
Add timestamp support.
|
2020-04-11 16:06:57 +08:00 |
|
Stephen Chung
|
d73cfb6da5
|
Allow escaping quotes in strings.
|
2020-04-11 12:46:10 +08:00 |
|
Stephen Chung
|
c1b16b1a35
|
Add remove/insert to arrays and maps.
|
2020-04-10 21:59:29 +08:00 |
|
Stephen Chung
|
81894e52cb
|
Do not optimize single-use AST's.
|
2020-04-10 21:02:38 +08:00 |
|
Stephen Chung
|
4b2cff715e
|
Optimize property access for object maps.
|
2020-04-10 21:02:13 +08:00 |
|
Stephen Chung
|
ff8eca8a5e
|
Add parse_json.
|
2020-04-10 17:14:07 +08:00 |
|
Stephen Chung
|
5d611d1674
|
Add docs on JSON parsing.
|
2020-04-10 15:18:26 +08:00 |
|
Stephen Chung
|
adbfceb5be
|
Do not omit error enum variants.
|
2020-04-10 12:16:39 +08:00 |
|
Stephen Chung
|
3609150dcf
|
Bump version to 0.12.0.
|
2020-04-09 18:45:49 +08:00 |
|
Stephen Chung
|
34ef2d6e00
|
Rename AnonymousFn to Func
|
2020-04-09 10:38:33 +08:00 |
|
Stephen Chung
|
518725e119
|
Add support for anonymous functions in Rust.
|
2020-04-08 23:01:48 +08:00 |
|
Stephen Chung
|
660ce6cc79
|
Change parameter input to script.
|
2020-04-08 16:57:15 +08:00 |
|
Stephen Chung
|
bcff6bfd71
|
Remove no_stdlib feature in favor of Engine::new_raw().
|
2020-04-08 10:19:03 +08:00 |
|