Commit Graph

71 Commits

Author SHA1 Message Date
Stephen Chung
5149c56256 Streamline switch case AST structure. 2022-07-19 13:33:53 +08:00
Stephen Chung
281e94fc62 Switch case condition that is constant () no longer optimizes to false. 2022-07-18 23:28:12 +08:00
Stephen Chung
f2724444bb Make default switch case Optional. 2022-07-18 22:30:09 +08:00
Stephen Chung
7dca916c45 Allow duplicated switch cases. 2022-07-18 13:40:41 +08:00
Stephen Chung
4b760d1d0f Unroll switch ranges if possible. 2022-07-18 08:54:10 +08:00
Stephen Chung
dda7bc7b85 Add eval_expression_tree_raw. 2022-07-06 12:56:15 +08:00
Stephen Chung
b4dbc7619a Add no_custom_syntax. 2022-07-05 22:59:03 +08:00
Stephen Chung
b6528bd51d Reduce usage of as_ref and as_mut. 2022-07-05 16:26:38 +08:00
Stephen Chung
dee66a409f Add case alternatives for switch. 2022-07-04 17:42:24 +08:00
Stephen Chung
0031678cd4 Fix shared variable assignment. 2022-06-26 18:09:15 +08:00
Stephen Chung
7068775f19 Use locked_read. 2022-06-26 14:10:09 +08:00
Stephen Chung
2b44778a5c Add elvis operator for indexing. 2022-06-12 00:32:12 +08:00
Stephen Chung
8999872d62 Add null coalescing operator. 2022-06-10 11:22:33 +08:00
Stephen Chung
0f1e51b1c9 Support Elvis operator. 2022-06-10 10:26:06 +08:00
Stephen Chung
e5f6b28abd Fix warnings. 2022-06-08 17:06:49 +08:00
Stephen Chung
07d3dd6882 Add lifetime to Caches. 2022-05-24 11:52:03 +08:00
Stephen Chung
2a57bd9d25 Mark some types as non_exhaustive. 2022-05-03 21:55:08 +08:00
Stephen Chung
c69f98c2c4 Add custom state. 2022-05-02 00:03:45 +08:00
Stephen Chung
770b2e04cc Simplify switch condition. 2022-04-19 16:20:43 +08:00
Stephen Chung
60a933862e Streamline op-assignments. 2022-04-18 23:12:47 +08:00
Stephen Chung
855cb76246 Rename EvalState to Caches. 2022-04-16 16:36:53 +08:00
Stephen Chung
63359f3f81 Unused parameters naming. 2022-04-11 16:29:16 +08:00
Stephen Chung
95753bb9c3 Use global module constants in optimization. 2022-03-28 12:53:52 +08:00
Stephen Chung
6369fa5c65 Minor refactor. 2022-03-27 21:53:50 +08:00
Stephen Chung
672cda63ab Simplify formatting. 2022-03-14 08:50:17 +08:00
Stephen Chung
1e4abd012c Minor refactor. 2022-03-09 09:25:55 +08:00
Stephen Chung
b35d965e55 Reverse Box<[...]> to Vec. 2022-03-06 16:37:27 +08:00
Stephen Chung
8bda8c64df Refine data structures 2022-03-05 17:57:23 +08:00
Stephen Chung
e06c2b2abb Remove constants in function call expressions. 2022-03-05 12:06:47 +08:00
Stephen Chung
0335035b0f Fix bug with eager optimization of method calls. 2022-03-04 12:22:44 +08:00
Stephen Chung
8205547d8a Use bitflags. 2022-02-25 11:42:59 +08:00
Stephen Chung
bb04fab011 Optimize variable shadowing. 2022-02-18 15:04:46 +08:00
Stephen Chung
0d2e3d82f3 Reduce size of Stmt. 2022-02-16 17:51:14 +08:00
Stephen Chung
cf0660e36b Expand StmtBlock inline size. 2022-02-16 12:57:26 +08:00
Stephen Chung
d23d1159ab Fix positions. 2022-02-10 17:55:32 +08:00
Stephen Chung
3b9dbd5fce Add Span. 2022-02-08 23:01:47 +08:00
Stephen Chung
7686ca619a Use .. for (_). 2022-02-08 09:46:14 +08:00
Stephen Chung
f8cee0fe4e Simplify using .. 2022-02-08 09:02:15 +08:00
Stephen Chung
6c1c8bc538 Improve position display. 2022-02-04 12:04:33 +08:00
Stephen Chung
4a80483749 Support call stack and FunctionExit for native functions. 2022-02-02 14:47:35 +08:00
Stephen Chung
7b92a80c32 Fix encapsulated environment in module functions. 2022-01-30 17:27:13 +08:00
Stephen Chung
6b02dde848 Gate dead code for no_module. 2022-01-29 11:09:43 +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
b9f2fdb635 Rename AST option flags. 2022-01-28 08:28:17 +08:00
Stephen Chung
97be256a1a Fix bug with optimizing op-assignment operators. 2022-01-23 21:09:37 +08:00
Stephen Chung
f92894e337 Rename GlobalRuntimeStatemodules -> imports. 2022-01-20 08:17:34 +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
d99953c101 Fixup AsRef<str> vs &str. 2022-01-04 15:22:48 +08:00