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
|
a126d05c3f
|
Skip evaluate condition for loop statement.
|
2021-03-06 16:05:22 +08:00 |
|
Stephen Chung
|
2052942d9d
|
Add Dynamic::as_unit.
|
2021-03-05 13:34:58 +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
|
b76e8da5ee
|
Cache built-in functions to improve resolution speed.
|
2021-03-02 13:48:41 +08:00 |
|
Stephen Chung
|
fc10df7d63
|
Keyword can no longer be overloaded.
|
2021-03-01 17:17:13 +08:00 |
|
Stephen Chung
|
061fce1f02
|
No more pub_only.
|
2021-03-01 15:39:49 +08:00 |
|
Stephen Chung
|
1300ad8677
|
No need to copy sub-modules.
|
2021-03-01 14:54:20 +08:00 |
|
Stephen Chung
|
9495d3f733
|
Separate op-assignment with other function calls.
|
2021-02-25 10:59:22 +08:00 |
|
Stephen Chung
|
baaa0461bf
|
Limit Dynamic parameters to 16.
|
2021-02-24 22:40:18 +08:00 |
|
Stephen Chung
|
4ac05aee8b
|
Disallow implicit comparisons between different numeric types.
|
2021-02-24 15:45:29 +08:00 |
|
Stephen Chung
|
182fc2c3d1
|
Check for constant values passed to methods.
|
2021-02-19 23:13:53 +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
|
f6553c1426
|
Fix feature builds.
|
2021-01-21 10:32:05 +08:00 |
|
Stephen Chung
|
fe65bf6137
|
Fix bug in optimizer.
|
2021-01-12 23:52:50 +08:00 |
|
Stephen Chung
|
ef48f47b74
|
Refine docs and comments etc.
|
2021-01-02 23:30:10 +08:00 |
|
Stephen Chung
|
e481a8019d
|
Simplify code and better error messages.
|
2020-12-28 14:21:13 +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
|
822fe80105
|
Reduce redirections.
|
2020-12-25 11:02:29 +08:00 |
|
Stephen Chung
|
8f969b1ab5
|
Reduce indirections.
|
2020-12-24 23:22:50 +08:00 |
|
Stephen Chung
|
8506640073
|
Use NonZeroU64 for function hashes.
|
2020-12-24 16:32:43 +08:00 |
|
Stephen Chung
|
882b26d2a1
|
Change ScriptFnMetadata to hold references.
|
2020-12-18 16:31:44 +08:00 |
|
Stephen Chung
|
26449a9f1c
|
Add ScriptFnMetadata.
|
2020-12-12 18:44:28 +08:00 |
|
Stephen Chung
|
5443368359
|
Pass Position into function calls.
|
2020-12-12 11:15:09 +08:00 |
|
Stephen Chung
|
dbee0eb0f5
|
Rename AccessType to ReadWrite and ReadOnly.
|
2020-12-09 18:37:52 +08:00 |
|
Stephen Chung
|
8e8069f819
|
Do not propagate constants if shadowed.
|
2020-12-08 22:20:29 +08:00 |
|
Stephen Chung
|
b098160262
|
New CI test.
|
2020-11-28 16:58:02 +08:00 |
|
Stephen Chung
|
a0979d0c35
|
Code cleanup
|
2020-11-25 09:36:06 +08:00 |
|
Stephen Chung
|
739dce72e3
|
Move if_def_fn into CorePackage.
|
2020-11-22 15:41:55 +08:00 |
|
Stephen Chung
|
6069a4cf55
|
do loop.
|
2020-11-20 22:23:37 +08:00 |
|
Stephen Chung
|
783803ec46
|
Update comments with links.
|
2020-11-20 16:52:28 +08:00 |
|
Stephen Chung
|
15afd83da5
|
Merge Expr::True/False into BoolConstant.
|
2020-11-19 22:29:50 +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
|
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
|
a63f14b59c
|
Expr::Switch -> Stmt::Switch.
|
2020-11-14 23:43:36 +08:00 |
|
Stephen Chung
|
0182117759
|
Change Stmt Variant names.
|
2020-11-14 22:55:23 +08:00 |
|
Stephen Chung
|
28de155f08
|
Add Expr::DynamicConstant.
|
2020-11-14 19:04:49 +08:00 |
|
Stephen Chung
|
55b4907f19
|
Add switch expression.
|
2020-11-13 18:32:18 +08:00 |
|
Stephen Chung
|
7d1b971b39
|
More interned strings.
|
2020-11-13 10:43:54 +08:00 |
|
Stephen Chung
|
41c815f355
|
Optimize in-place.
|
2020-11-12 12:37:42 +08:00 |
|
Stephen Chung
|
958762079e
|
Change modules to namespace.
|
2020-11-10 23:26:50 +08:00 |
|
Stephen Chung
|
e69444293c
|
Encapsulate imported modules into AST.
|
2020-11-09 21:52:23 +08:00 |
|
Stephen Chung
|
4b622a8830
|
Enable export let/export const short-hand.
|
2020-11-09 12:21:11 +08:00 |
|
Stephen Chung
|
b3d318ef7f
|
Module resolver returns shared module.
|
2020-11-07 23:33:21 +08:00 |
|
Stephen Chung
|
07a8a43298
|
Optimize data structures.
|
2020-11-06 16:27:40 +08:00 |
|
Stephen Chung
|
b390586bcc
|
Fix optimization of Stmt::Expr.
|
2020-11-04 13:11:37 +08:00 |
|
Stephen Chung
|
c287a61b93
|
Streamline ScriptFnDef.
|
2020-11-04 12:34:54 +08:00 |
|
Stephen Chung
|
2168fd5361
|
Expr::Stmt takes a statements block.
|
2020-11-04 11:49:02 +08:00 |
|
Stephen Chung
|
f74d947c6b
|
Fix constant assignment.
|
2020-11-03 13:08:19 +08:00 |
|
Stephen Chung
|
b9de8eaa7f
|
Minor code refactor.
|
2020-11-02 23:54:19 +08:00 |
|
Stephen Chung
|
cc304ba513
|
Fix serde build.
|
2020-11-02 13:18:37 +08:00 |
|
Stephen Chung
|
d7d6f74dfd
|
Add constant NO_POS.
|
2020-11-02 12:50:27 +08:00 |
|
Stephen Chung
|
717e8e7eee
|
Remove unnecessary clone.
|
2020-11-01 22:55:19 +08:00 |
|
Stephen Chung
|
c55fc5a9a5
|
Optimize Scope.
|
2020-11-01 22:46:46 +08:00 |
|
Stephen Chung
|
42eac410b7
|
Optimize Expr.
|
2020-10-31 23:26:21 +08:00 |
|
Stephen Chung
|
89811c8dfc
|
Pack Stmt and Expr some more.
|
2020-10-31 14:13:45 +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
|
f56c3fe9cb
|
Add Ident/IdentX to AST.
|
2020-10-28 19:11:17 +08:00 |
|
Stephen Chung
|
00b1051732
|
Optimize Stmt/Expr reflections.
|
2020-10-28 14:10:48 +08:00 |
|
Stephen Chung
|
51fca1e757
|
Move Assignment to Stmt.
|
2020-10-27 23:21:20 +08:00 |
|
Stephen Chung
|
fd2ba54b49
|
Introduce BinaryExpr.
|
2020-10-27 23:00:05 +08:00 |
|
Stephen Chung
|
f62f7908ab
|
Pack Stmt tighter.
|
2020-10-27 19:23:43 +08:00 |
|
Stephen Chung
|
93b5df6b3c
|
Pack Stmt structure.
|
2020-10-27 18:18:19 +08:00 |
|
Stephen Chung
|
01663a6581
|
Refine docs.
|
2020-10-27 11:30:38 +08:00 |
|
Stephen Chung
|
07bdb824fe
|
Add try-catch.
|
2020-10-20 23:16:03 +08:00 |
|
Stephen Chung
|
92ba7b42d5
|
Implement namespaces chain.
|
2020-10-20 10:54:32 +08:00 |
|
Stephen Chung
|
3c7805d514
|
Encapsulate environment in ScriptFnDef.
|
2020-10-13 09:38:14 +08:00 |
|
Stephen Chung
|
612ecc4ebc
|
Move StaticVec definition to lib.rs.
|
2020-10-10 13:41:55 +08:00 |
|
Stephen Chung
|
95c4ac4180
|
Fix no_float bug in time.
|
2020-10-09 13:47:35 +08:00 |
|
Stephen Chung
|
59b380b130
|
Allow propagation for pushed scope constants.
|
2020-10-09 13:26:32 +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
|
ae1157a140
|
Remove Expr::get_constant_str and change Expr::get_constant_value not to panic.
|
2020-10-06 22:09:26 +08:00 |
|
Stephen Chung
|
b67a743306
|
Do not eagerly evaluate is_def_fn and is_def_var.
|
2020-10-05 12:14:34 +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
|
03dce86328
|
Support Dynamic as function default return value.
|
2020-09-26 16:27:38 +08:00 |
|
Stephen Chung
|
6a53c446d3
|
Fix no_function build.
|
2020-09-24 23:32:54 +08:00 |
|
Stephen Chung
|
c4ec93080e
|
New FileModuleResolver.
|
2020-09-24 22:50:28 +08:00 |
|
Stephen Chung
|
db59aed14e
|
Fix bug in optimizer for if statements with empty true blocks.
|
2020-09-14 22:24:55 +08:00 |
|
Stephen Chung
|
ae11dbbefe
|
Fix feature flags.
|
2020-08-05 22:53:01 +08:00 |
|
Stephen Chung
|
4079164bfd
|
Implement closures.
|
2020-08-03 12:10:20 +08:00 |
|
Stephen Chung
|
60891e694f
|
Streamline code and feature gates.
|
2020-07-31 22:30:23 +08:00 |
|
Stephen Chung
|
cb005506e2
|
Simplify function calling.
|
2020-07-31 12:11:16 +08:00 |
|
Stephen Chung
|
98b294c699
|
Implement capturing.
|
2020-07-30 18:18:28 +08:00 |
|
Stephen Chung
|
691e04292f
|
Put externals in ScriptFnDef.
|
2020-07-30 13:28:06 +08:00 |
|
Stephen Chung
|
1465ba2315
|
Refactor auto-currying.
|
2020-07-29 22:43:50 +08:00 |
|
Stephen Chung
|
afbcd0fc0b
|
Replace StaticVec with SmallVec.
|
2020-07-29 16:10:06 +08:00 |
|
Stephen Chung
|
b63ff56e09
|
Make sure we keep the starting position of each statement (for future uses).
|
2020-07-28 10:26:20 +08:00 |
|
Stephen Chung
|
a3a167424b
|
Allow Rust functions in FnPtr::call_dynamic.
|
2020-07-27 12:52:32 +08:00 |
|
Stephen Chung
|
6b600704a3
|
Avoid warnings.
|
2020-07-26 15:53:22 +08:00 |
|
Stephen Chung
|
a58207aaa9
|
Change ScriptFnDef to use ImmutableString.
|
2020-07-25 14:06:13 +08:00 |
|
Stephen Chung
|
bff266d4e1
|
Move function calling to separate source file.
|
2020-07-23 18:40:42 +08:00 |
|