Commit Graph

61 Commits

Author SHA1 Message Date
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
Stephen Chung
64bf2eef5c Better error messages. 2021-12-30 12:19:41 +08:00
Stephen Chung
1fd242ed2c Flatten nested block scopes. 2021-12-30 12:14:54 +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
e8b070cbf8 Fix builds. 2021-12-27 22:28:11 +08:00
Stephen Chung
dc6896fbe2 Add OpAssignment::new_from_token. 2021-12-17 16:55:24 +08:00
Stephen Chung
2adb4ba4a8 Simplify deref_mut to &mut *. 2021-12-15 23:21:05 +08:00
Stephen Chung
abbfa3777d Add more range API's. 2021-12-15 22:12:51 +08:00
Stephen Chung
ef14079c61 Add ranges. 2021-12-15 12:06:17 +08:00
Stephen Chung
780c36e675 Simplify if let. 2021-12-12 12:33:22 +08:00