Commit Graph

353 Commits

Author SHA1 Message Date
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
e476929597 Remove Box on callback traits. 2022-01-27 23:55:32 +08:00
Stephen Chung
fc87dec128 Add debugging interface. 2022-01-27 16:58:11 +08:00
Stephen Chung
fb0b071fe0 Add lifetimes to GlobalRuntimeState and EvalState for future needs. 2022-01-22 17:48:07 +08:00
Stephen Chung
f92894e337 Rename GlobalRuntimeStatemodules -> imports. 2022-01-20 08:17:34 +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
573bfe46dd Fix formatting. 2022-01-17 07:50:29 +08:00
Stephen Chung
ae77582028 Minor refactor. 2022-01-14 21:49:38 +08:00
Stephen Chung
25f54c0ea5 Pretty-display return types. 2022-01-13 22:51:10 +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
37dbc68bf5 Use target_family for wasm. 2022-01-12 08:12:28 +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
bc6bf6c6ba Change expect("exists") to unwrap(). 2022-01-06 11:07:52 +08:00
Stephen Chung
2b613fdff3 Remove unneeded strings interner for modules. 2022-01-05 13:40:49 +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
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
64bf2eef5c Better error messages. 2021-12-30 12:19:41 +08:00
Stephen Chung
807240e249 Rename Imports to GlobalRuntimeState. 2021-12-28 11:42:52 +08:00
Stephen Chung
a78488d935 Rename Imports to GlobalRuntimeState. 2021-12-27 23:03:30 +08:00
Stephen Chung
4d226542fa Split out strings interner. 2021-12-27 21:56:50 +08:00
Stephen Chung
f443e4d9f6 Fix formatting. 2021-12-27 13:30: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
01c35808cb Use type alias 2021-12-25 23:49:14 +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
c7ec27acc7 Split AST into separate files. 2021-12-17 16:07:13 +08:00
Stephen Chung
d9d44a9683 Add Engine::register_type_with_name_raw. 2021-12-09 12:49:12 +08:00
Stephen Chung
2a7a648429 Reduce feature gates. 2021-12-06 20:52:47 +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
4b4b7a753b Add low-level warnings. 2021-11-29 13:12:47 +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
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
d88e17d177 Move more &str to AsRef<str> 2021-11-28 12:41:20 +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
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
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
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
0fbc437916 Use Box<str> internally. 2021-11-11 13:55:52 +08:00
Stephen Chung
cc6a0571e7 Fix builds. 2021-11-08 11:35:46 +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
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
9c16d90de9 Use #[inline(always)] only when relatively certain. 2021-10-21 17:26:43 +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
5d3a22ab6f Fix NamespaceRef::new() 2021-09-11 19:40:31 +08:00
Stephen Chung
aec4417bd5 Refine expect messages. 2021-08-26 23:58:41 +08:00
Stephen Chung
3610b5eb7e Change some inline(always) into inline. 2021-08-14 15:10:37 +08:00
Stephen Chung
29133cf973 Satisfy clippy. 2021-07-26 22:22:27 +08:00
Stephen Chung
c7498503ba Use lower case for feature marker. 2021-07-25 22:56:05 +08:00
Stephen Chung
df482d3574 Satisfy clippy. 2021-07-24 14:11:16 +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
694ac5b5bd General code fixups. 2021-07-04 16:40:15 +08:00
Stephen Chung
a0f51a1a39 Split calc_qualified_var_hash. 2021-06-30 16:28:37 +08:00
Stephen Chung
bd35999b75 Remove unnecessary Box::new(). 2021-06-29 21:58:05 +08:00
Stephen Chung
08828dd8c1 Use .into() instead of Box::new() 2021-06-29 18:25:20 +08:00
Stephen Chung
e40e81ac1a Mark simple functions const. 2021-06-28 18:06:05 +08:00
Stephen Chung
0888738b75 Change AST::clone_source to AST::source_raw. 2021-06-28 13:53:30 +08:00
Stephen Chung
83297ffa00 Bump version to 1.0. 2021-06-24 11:50:03 +08:00
Stephen Chung
425e038f4b Split FnPtr into own file. 2021-06-17 09:50:32 +08:00
Stephen Chung
42a14ab4cc Make file structures consistent. 2021-06-16 18:36:33 +08:00
Stephen Chung
8ca24059b1 Add #[must_use] 2021-06-12 22:47:43 +08:00
Stephen Chung
c02d702081 Use StaticVec. 2021-06-06 12:17:04 +08:00
Stephen Chung
dfea3ed22a Code style refactor. 2021-05-25 10:54:48 +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
dc9b4d7f4d Indexer as fallback to property. 2021-05-18 20:12:30 +08:00
Stephen Chung
3116a39331 Minor code refactor. 2021-05-18 12:24:11 +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
c749bbb653 Reduce BTree sizes by boxing values. 2021-05-03 13:45:41 +08:00
Stephen Chung
f81e3d6ff8 Fix unchecked builds. 2021-04-24 18:14:48 +08:00
Stephen Chung
fc782c5563 Refine posistion display. 2021-04-23 14:24:53 +08:00
Stephen Chung
8ff1f57900 Remove redundant std. 2021-04-20 19:19:35 +08:00
Stephen Chung
e88fb071f7 Fix module test. 2021-04-19 15:41:24 +08:00
Stephen Chung
bd145bd080 Do not unnecessarily reindex module. 2021-04-17 22:19:48 +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
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