Stephen Chung
|
01f0cc028b
|
Use no-std-compat to build no-std.
|
2021-04-17 15:15:54 +08:00 |
|
Stephen Chung
|
f17a826f99
|
Refine debug print-out.
|
2021-04-06 23:18:41 +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
|
b14d18934a
|
Add Dynamic::clone_cast.
|
2021-03-30 18:57:16 +08:00 |
|
Stephen Chung
|
3a6e6848fd
|
Fix serde build.
|
2021-03-29 18:46:32 +08:00 |
|
Stephen Chung
|
41b48d591f
|
Change to no_smartstring feature.
|
2021-03-29 17:13:54 +08:00 |
|
Stephen Chung
|
e5249cc1ae
|
Extract Identifier type.
|
2021-03-29 11:36:02 +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
|
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
|
6d1700728a
|
Intern module registration strings.
|
2021-03-24 09:56:25 +08:00 |
|
Stephen Chung
|
f70225ca1d
|
Change HashMap to BTreeMap.
|
2021-03-23 12:13:53 +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
|
4581943435
|
Remove public_only parameters.
|
2021-03-17 09:58:08 +08:00 |
|
Stephen Chung
|
e9f280f917
|
Deprecate Module::set_fn_XXX API.
|
2021-03-15 12:39:06 +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
|
85fcb74be9
|
Furtuer optimize data structure sizes.
|
2021-03-12 14:11:08 +08:00 |
|
Stephen Chung
|
9b37d84a9b
|
Enable/disable caching in FileModuleResolver.
|
2021-03-10 23:01:04 +08:00 |
|
Stephen Chung
|
cbad703b00
|
Flatten data structures and more aggressive inlining.
|
2021-03-10 13:32:09 +08:00 |
|
Stephen Chung
|
b78c6ddf62
|
Better debug display.
|
2021-03-09 14:00:21 +08:00 |
|
Stephen Chung
|
62928f8613
|
Revise function hashing.
|
2021-03-08 15:30:32 +08:00 |
|
Stephen Chung
|
330d3f87af
|
Use namespace for ScriptFnDef.
|
2021-03-07 22:10:54 +08:00 |
|
Stephen Chung
|
65ef32af19
|
Calculate whether contains global functions during indexing.
|
2021-03-05 20:07:35 +08:00 |
|
Stephen Chung
|
0589572d19
|
Refine inlining.
|
2021-03-04 18:13:47 +08:00 |
|
Stephen Chung
|
41c39a2060
|
Remove Dynamic::as_locked_immutable_string.
|
2021-03-03 18:13:41 +08:00 |
|
Stephen Chung
|
2c8b15c740
|
Private global functions are still exposed.
|
2021-03-03 11:40:27 +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
|
1300ad8677
|
No need to copy sub-modules.
|
2021-03-01 14:54:20 +08:00 |
|
Stephen Chung
|
6f876e85cc
|
Always call native for op-assignment operators.
|
2021-02-23 20:32:50 +08:00 |
|
Stephen Chung
|
4120e3c88e
|
Include decimal in generated docs.
|
2021-02-21 14:26:31 +08:00 |
|
Stephen Chung
|
724ad05916
|
Add wasm64 as potential target.
|
2021-02-19 15:50:48 +08:00 |
|
Stephen Chung
|
4fdd58f220
|
Change AST filters to Fn from FnMut.
|
2021-02-13 10:56:09 +08:00 |
|
Stephen Chung
|
88b01d6aba
|
Refine docs.
|
2021-02-09 14:22:55 +08:00 |
|
Stephen Chung
|
7b87f81850
|
Add has_override and script calls to function resolution cache.
|
2021-02-07 15:09:27 +08:00 |
|
Stephen Chung
|
4a8debb5ed
|
Fix builds.
|
2021-01-18 10:56:42 +08:00 |
|
Stephen Chung
|
65621b79b1
|
Fix volatile warnings.
|
2021-01-16 14:46:03 +08:00 |
|
Stephen Chung
|
8c47d61456
|
Refine documentation and comments.
|
2021-01-11 23:09:33 +08:00 |
|
Stephen Chung
|
5b9a18f5b8
|
Fix FileModuleResolver::clear_cache_for_path.
|
2021-01-10 19:34:26 +08:00 |
|
Stephen Chung
|
14fe4f9f1b
|
Change resolve_ast return type.
|
2021-01-09 23:26:50 +08:00 |
|
Stephen Chung
|
0b6657d1b1
|
Fix clippy.
|
2021-01-09 17:13:34 +08:00 |
|
Stephen Chung
|
ad250fc973
|
Recursive self-contained AST.
|
2021-01-09 16:52:22 +08:00 |
|
Stephen Chung
|
637f47d259
|
Split AST::set_source into set_source/clear_source.
|
2021-01-09 15:20:07 +08:00 |
|
Stephen Chung
|
103af43f68
|
Fix typo in sync.
|
2021-01-03 13:46:08 +08:00 |
|
Stephen Chung
|
33f7c8557c
|
Put source into AST.
|
2021-01-03 13:30:01 +08:00 |
|
Stephen Chung
|
d3894e8aef
|
Add #[inline]
|
2021-01-03 13:29:42 +08:00 |
|
Stephen Chung
|
70a0d6ce58
|
Make id_raw return Option<&ImmutableString>
|
2021-01-03 11:25:25 +08:00 |
|
Ilya Lakhin
|
85ec781a35
|
Module::id_raw became crate-public
|
2021-01-03 09:29:50 +07:00 |
|
Stephen Chung
|
ef48f47b74
|
Refine docs and comments etc.
|
2021-01-02 23:30:10 +08:00 |
|
Stephen Chung
|
05fa8460a3
|
Remove unnecessary err.fill_position()
|
2021-01-02 13:29:16 +08:00 |
|
Stephen Chung
|
13f5cec291
|
Fix call stack limits.
|
2020-12-29 12:29:45 +08:00 |
|
Stephen Chung
|
5c813ca7c0
|
Code cleanup.
|
2020-12-28 09:49:54 +08:00 |
|
Stephen Chung
|
88f63fa24b
|
Refine docs.
|
2020-12-26 23:21:16 +08:00 |
|
Stephen Chung
|
dc4e52e795
|
Code enhancements.
|
2020-12-26 13:05:57 +08:00 |
|
Stephen Chung
|
8f969b1ab5
|
Reduce indirections.
|
2020-12-24 23:22:50 +08:00 |
|
Stephen Chung
|
363085efc3
|
Map actual 0 hash to 42.
|
2020-12-24 18:43:04 +08:00 |
|
Stephen Chung
|
8506640073
|
Use NonZeroU64 for function hashes.
|
2020-12-24 16:32:43 +08:00 |
|
Stephen Chung
|
9fd7e01197
|
Simplify code.
|
2020-12-23 23:29:19 +08:00 |
|
Stephen Chung
|
2e7ec8f1db
|
IdentX -> Ident.
|
2020-12-22 16:45:56 +08:00 |
|
Stephen Chung
|
ff67efc6d5
|
Add source to contexts.
|
2020-12-21 23:12:45 +08:00 |
|
Stephen Chung
|
5ac83f0f46
|
Add context source to on_debug.
|
2020-12-21 22:04:46 +08:00 |
|
Stephen Chung
|
bed29da71a
|
Use ImmutableString.
|
2020-12-11 12:57:07 +08:00 |
|
Stephen Chung
|
f22a04fc74
|
Move constancy into Dynamic.
|
2020-12-08 22:47:38 +08:00 |
|
Stephen Chung
|
bd52333802
|
Add namespace test.
|
2020-12-07 21:54:52 +08:00 |
|
Stephen Chung
|
36546c7325
|
Fix builds
|
2020-11-27 23:37:59 +08:00 |
|
Stephen Chung
|
a0979d0c35
|
Code cleanup
|
2020-11-25 09:36:06 +08:00 |
|
Stephen Chung
|
b43223a94f
|
Add get_fn_metadata_list.
|
2020-11-23 19:11:32 +08:00 |
|
Stephen Chung
|
8d410dfc71
|
Add return type to function metadata.
|
2020-11-22 22:15:17 +08:00 |
|
Stephen Chung
|
9edd494000
|
Fix builds.
|
2020-11-22 17:32:10 +08:00 |
|
Stephen Chung
|
07fe132e1a
|
Add gen_fn_siguatures API.
|
2020-11-22 17:21:34 +08:00 |
|
Stephen Chung
|
e5c9ca23b5
|
Build index when creating a module.
|
2020-11-21 22:18:32 +08:00 |
|
Stephen Chung
|
783803ec46
|
Update comments with links.
|
2020-11-20 16:52:28 +08:00 |
|
Stephen Chung
|
0e4743e7c7
|
Share environment when making module from AST.
|
2020-11-19 10:52:45 +08:00 |
|
Stephen Chung
|
a8cdb661f8
|
Optimize Imports.
|
2020-11-19 10:14:43 +08:00 |
|
Stephen Chung
|
21c641d21f
|
Set namespace in Module::set_fn_XXX_mut calls.
|
2020-11-17 15:11:58 +08:00 |
|
Stephen Chung
|
038e3c2554
|
Add FnNamespace for module functions.
|
2020-11-17 12:23:53 +08:00 |
|
Stephen Chung
|
7ef3bd6b20
|
Fix no_function build.
|
2020-11-16 23:25:19 +08:00 |
|
Stephen Chung
|
272c8505b8
|
Refactor use.
|
2020-11-16 23:10:14 +08:00 |
|
Stephen Chung
|
adb902326e
|
Reduce feature gates on imports.
|
2020-11-16 16:28:04 +08:00 |
|
Stephen Chung
|
ef02150afd
|
Expose methods for Engine::register_module.
|
2020-11-16 14:07:48 +08:00 |
|
Stephen Chung
|
937b45a187
|
Add Engine::load_module.
|
2020-11-15 23:14:16 +08:00 |
|
Stephen Chung
|
c919ee4e46
|
Fine tune hash map sizes.
|
2020-11-15 13:49:54 +08:00 |
|
Stephen Chung
|
bde8917ed4
|
Set capacity of hash maps.
|
2020-11-15 12:07:35 +08:00 |
|
Stephen Chung
|
69a0f044f4
|
Use interned strings to prepare for match statement.
|
2020-11-12 22:36:13 +08:00 |
|
Stephen Chung
|
958762079e
|
Change modules to namespace.
|
2020-11-10 23:26:50 +08:00 |
|
Stephen Chung
|
c41f5aefcb
|
Change sub-modules to shared.
|
2020-11-09 22:44:20 +08:00 |
|
Stephen Chung
|
e69444293c
|
Encapsulate imported modules into AST.
|
2020-11-09 21:52:23 +08:00 |
|
Stephen Chung
|
821e64adc4
|
Allow multiple exports.
|
2020-11-09 14:38:33 +08:00 |
|
Stephen Chung
|
487a073caf
|
Fix recursive file import bug.
|
2020-11-08 23:00:03 +08:00 |
|
Stephen Chung
|
b926eba501
|
Fix doc test.
|
2020-11-08 16:49:59 +08:00 |
|
Stephen Chung
|
1e07e4356e
|
Re-index imported modules if they are not yet indexed.
|
2020-11-08 14:29:54 +08:00 |
|
Stephen Chung
|
760f6c3678
|
Fix no_function build.
|
2020-11-08 10:56:33 +08:00 |
|
Stephen Chung
|
b3d318ef7f
|
Module resolver returns shared module.
|
2020-11-07 23:33:21 +08:00 |
|
Stephen Chung
|
6bc5ba6668
|
Enable functions to use global imports.
|
2020-11-06 19:17:07 +08:00 |
|
Stephen Chung
|
a5d22ddd45
|
Make FuncInfo a struct.
|
2020-11-04 14:37:46 +08:00 |
|
Stephen Chung
|
32f41c69bd
|
Refine code and docs.
|
2020-11-03 21:50:14 +08:00 |
|
Stephen Chung
|
d7d6f74dfd
|
Add constant NO_POS.
|
2020-11-02 12:50:27 +08:00 |
|
Stephen Chung
|
6f3ce96d9d
|
Enable termination token.
|
2020-11-02 11:04:45 +08:00 |
|
Stephen Chung
|
b07a2aa79c
|
Pack Imports.
|
2020-11-01 23:42:00 +08:00 |
|
Stephen Chung
|
c55fc5a9a5
|
Optimize Scope.
|
2020-11-01 22:46:46 +08:00 |
|
Stephen Chung
|
629e02f9da
|
Use Ident.
|
2020-11-01 00:04:02 +08:00 |
|
Stephen Chung
|
a73584cd36
|
Fix no_std.
|
2020-10-29 12:00:02 +08:00 |
|
Stephen Chung
|
4e115d2bc2
|
Code structure refactor.
|
2020-10-29 11:37:51 +08:00 |
|
Stephen Chung
|
f5ffbfbe06
|
Code structure cleanup.
|
2020-10-28 22:18:44 +08:00 |
|
Stephen Chung
|
01663a6581
|
Refine docs.
|
2020-10-27 11:30:38 +08:00 |
|
Stephen Chung
|
65432330c4
|
Add Module::fill_with.
|
2020-10-25 00:39:47 +08:00 |
|
Stephen Chung
|
2c7c719cd5
|
Minor cleanup before release.
|
2020-10-22 12:26:44 +08:00 |
|
Stephen Chung
|
a9fd0ff4de
|
Encapsulate scope into EvalContext;
Fix bug with custom syntax delta.
|
2020-10-19 19:11:55 +08:00 |
|
Stephen Chung
|
6e5c903241
|
Fix no_module build.
|
2020-10-18 22:10:08 +08:00 |
|
Stephen Chung
|
46b92c9d1f
|
Allow NativeCallContext in function arguments.
|
2020-10-18 21:47:34 +08:00 |
|
Stephen Chung
|
232ff91957
|
Fix doc test.
|
2020-10-18 17:08:57 +08:00 |
|
Stephen Chung
|
82e6dd446a
|
Encapsulate register_fn_raw parameters into NativeCallContext.
|
2020-10-18 17:02:17 +08:00 |
|
Stephen Chung
|
8eb6c821d4
|
Fix tests.
|
2020-10-17 14:08:59 +08:00 |
|
Stephen Chung
|
39474d6420
|
Streamline function pointers and currying.
|
2020-10-17 13:49:16 +08:00 |
|
Stephen Chung
|
a16fc71935
|
Encapsulate RwLock and RefCell into Locked.
|
2020-10-16 23:41:56 +08:00 |
|
Stephen Chung
|
3b99b8f166
|
Simplify iterator registration.
|
2020-10-15 22:11:18 +08:00 |
|
Stephen Chung
|
707ece7e80
|
Refactor iterators API.
|
2020-10-14 23:22:10 +08:00 |
|
Stephen Chung
|
28697e0380
|
Remove support for script-line native functions.
|
2020-10-13 14:40:02 +08:00 |
|
Stephen Chung
|
1c86c66f1a
|
Add more functions to arrays.
|
2020-10-13 10:57:29 +08:00 |
|
Stephen Chung
|
3c7805d514
|
Encapsulate environment in ScriptFnDef.
|
2020-10-13 09:38:14 +08:00 |
|
Stephen Chung
|
fd5a932611
|
Implement variable resolver.
|
2020-10-11 21:58:11 +08:00 |
|
Stephen Chung
|
612ecc4ebc
|
Move StaticVec definition to lib.rs.
|
2020-10-10 13:41:55 +08:00 |
|
Stephen Chung
|
7ede299aae
|
Allow expressions in constants.
|
2020-10-09 11:15:25 +08:00 |
|
Stephen Chung
|
1272eeb81a
|
Add/remove #[inline] attributes.
|
2020-10-08 22:25:50 +08:00 |
|
Stephen Chung
|
b2d603ec06
|
Refine Add/AddAssign for AST and Module.
|
2020-10-07 23:25:08 +08:00 |
|
Stephen Chung
|
d7bfe13b3e
|
Add convenient functions and operators for Module and module resolvers.
|
2020-10-07 15:40:36 +08:00 |
|
Stephen Chung
|
44f8d9e429
|
Refine Module::iter_script_fn_info.
|
2020-10-05 21:52:39 +08:00 |
|
Stephen Chung
|
2f6bb643aa
|
Remove Module::get_script_function_by_signature.
|
2020-10-05 18:07:40 +08:00 |
|
Stephen Chung
|
29bf790286
|
Fix no_function build.
|
2020-10-05 12:09:45 +08:00 |
|
Stephen Chung
|
0d0affd5e9
|
Eagerly evaluate built-in operators for OptimizationLevel::Simple.
|
2020-10-05 10:27:31 +08:00 |
|
Stephen Chung
|
1e13e6be5f
|
Doc formatting.
|
2020-10-03 18:49:11 +08:00 |
|
Stephen Chung
|
fbfb7677c1
|
Add is_def_var and is_def_fn.
|
2020-10-03 16:25:58 +08:00 |
|
Stephen Chung
|
eec3f4e1bf
|
Module:;eval_ast_as_new defaults to merging namespaces.
|
2020-10-03 11:42:54 +08:00 |
|
Stephen Chung
|
a72f70846f
|
Make merged namespace more efficient.
|
2020-10-02 23:14:33 +08:00 |
|
Stephen Chung
|
038b058e63
|
Use shared AST module.
|
2020-10-02 16:21:18 +08:00 |
|
Stephen Chung
|
d2c94ba07c
|
Add more module tests.
|
2020-10-02 14:55:02 +08:00 |
|
Stephen Chung
|
e8d5f78f88
|
Simplify code.
|
2020-10-01 23:31:27 +08:00 |
|
Stephen Chung
|
e526b53b42
|
No need to merge module if empty.
|
2020-09-30 09:57:21 +08:00 |
|
Stephen Chung
|
2123b0a279
|
Module::eval_ast_as_new will merge global and module namespaces if private_namespace is true.
|
2020-09-28 18:53:03 +08:00 |
|
Stephen Chung
|
5e43f2e5a4
|
Better error handling messages.
|
2020-09-28 11:19:49 +08:00 |
|
Stephen Chung
|
a1cf852bb9
|
Merge in function pointer arguments.
|
2020-09-28 11:01:25 +08:00 |
|
Stephen Chung
|
516f7b60d9
|
Fix no_std build.
|
2020-09-27 18:47:20 +08:00 |
|
Stephen Chung
|
da9aa60256
|
Wrap file module functions in ErrorInModule.
|
2020-09-25 20:24:03 +08:00 |
|
Stephen Chung
|
39bbff878c
|
Fix doc test.
|
2020-09-25 20:00:49 +08:00 |
|
Stephen Chung
|
599fe846cb
|
Add complete_namespace to Module::eval_ast_as_new.
|
2020-09-25 18:07:39 +08:00 |
|
Stephen Chung
|
93f53fa417
|
Refactor module.rs into files structure.
|
2020-09-25 10:59:21 +08:00 |
|