Commit Graph

148 Commits

Author SHA1 Message Date
Andrew Morris
ed0d2665fd Add Value::Class, Kal::Class 2023-07-25 10:20:48 +10:00
Andrew Morris
e81eb6d1e2 Fix clippy issues 2023-07-24 10:38:46 +10:00
Andrew Morris
581965e01b Make clippy a happy chappy 2023-07-07 16:08:28 +10:00
Andrew Morris
6615ea79d2 Support more static expressions 2023-07-06 21:52:08 +10:00
Andrew Morris
5a6d11c980 Implement string indexing for Kal 2023-07-06 17:38:08 +10:00
Andrew Morris
34d6a21aab Rc<String> -> Rc<str> 2023-07-06 17:25:24 +10:00
Andrew Morris
814fb09159 Implement in operator 2023-07-06 15:56:04 +10:00
Andrew Morris
fcc140c46c Fix throw %!e 2023-07-06 14:27:01 +10:00
Andrew Morris
d217f60967 Add jmpif_not instruction 2023-07-03 09:33:47 +10:00
Andrew Morris
dada0cb779 Extract constants later so that simplify has more information 2023-07-01 17:12:41 +10:00
Andrew Morris
530c025864 Basic subscripting for Kal 2023-07-01 16:33:11 +10:00
Andrew Morris
7ad17b73b6 Reduce exception copying 2023-07-01 09:21:47 +10:00
Andrew Morris
f20cbc9a36 Use register for this argument of Apply, SubCall, ThisSubCall 2023-06-30 11:47:18 +10:00
Andrew Morris
842ad083b5 wip 2023-06-29 18:39:02 +10:00
Andrew Morris
05efdfd517 Add structural comparison 2023-06-29 11:05:12 +10:00
Andrew Morris
b2bb618c52 Simplify array methods 2023-06-29 09:21:25 +10:00
Andrew Morris
a8dbbe63a7 Prefer InternalError over panicking 2023-06-29 09:00:27 +10:00
Andrew Morris
14f7ee2cb6 Add internal error and use it for todos 2023-06-29 08:50:48 +10:00
Andrew Morris
aab67fd678 Improve error 2023-06-28 18:09:26 +10:00
Andrew Morris
0a840c0b08 Fallback to ecma spec-based comparisons 2023-06-28 17:56:56 +10:00
Andrew Morris
4642f22344 Make todos more descriptive 2023-06-28 15:59:17 +10:00
Andrew Morris
e49b1ff3da Implement yield* instruction 2023-06-27 14:38:42 +10:00
Andrew Morris
6ef2eea2c1 Subscript classes using .static_ 2023-06-23 09:51:28 +10:00
Andrew Morris
41a6a20573 Include static in class assembly and bytecode 2023-06-23 09:47:12 +10:00
Andrew Morris
290c9b0cf0 Add static_ field 2023-06-23 09:10:35 +10:00
Andrew Morris
a00a161973 instance_prototype -> prototype 2023-06-23 09:06:01 +10:00
Andrew Morris
af136fa5aa p20 2023-06-22 21:29:42 +10:00
Andrew Morris
a253ccbcea Fix rampant iterator copying 2023-06-22 19:54:30 +10:00
Andrew Morris
fdae0c5ff4 Use take on iter_res 2023-06-22 19:49:54 +10:00
Andrew Morris
7c217dd264 Fix copying on method calls 2023-06-22 18:13:01 +10:00
Andrew Morris
48433d650e Refactor - stop assuming assignment to target_register 2023-06-22 13:08:08 +10:00
Andrew Morris
703bbf9b8a Fix decoding TakeRegister 2023-06-21 21:11:29 +10:00
Andrew Morris
910f6684f5 Use take for TakeRegister 2023-06-21 17:20:45 +10:00
Andrew Morris
b33ef2b5b0 Remove Vallish, use refs and clones 2023-06-21 17:16:03 +10:00
Andrew Morris
e9dac713e0 Implement loose negated comparison against undefined and null 2023-06-21 11:32:22 +10:00
Andrew Morris
bd01c95069 Implement loose comparison against undefined and null 2023-06-21 11:22:09 +10:00
Andrew Morris
72f9fbf0f7 Represent register taking 2023-06-20 16:57:49 +10:00
Andrew Morris
4e91cf3b20 Fix SubMov copying 2023-06-20 14:58:23 +10:00
Andrew Morris
7e16156933 Use &Val for submov key 2023-06-20 14:26:36 +10:00
Andrew Morris
13d782114f Fix return copying 2023-06-20 14:08:08 +10:00
Andrew Morris
0b98f41658 Move Vallish into file 2023-06-20 13:52:20 +10:00
Andrew Morris
6340db8794 Fix subscript copying 2023-06-20 13:50:15 +10:00
Andrew Morris
72191319b2 Make unary ops to &Val 2023-06-20 13:03:16 +10:00
Andrew Morris
98d1488aff CopyCounter 2023-06-20 11:39:42 +10:00
Andrew Morris
d136593fa7 Debug.log multiple params on one line 2023-06-20 10:38:34 +10:00
Andrew Morris
c6b438d776 compile_to_rust_tests 2023-06-16 09:42:46 +10:00
Andrew Morris
1340b80bed Use range more in projEuler 2023-06-04 17:48:33 +10:00
Andrew Morris
97ac17e917 Partially implement yield* 2023-06-01 17:28:31 +10:00
Andrew Morris
9663de9384 Fix factorizeAsPowers 2023-06-01 13:32:37 +10:00
Andrew Morris
5712221cd6 Generators now work 2023-06-01 11:53:36 +10:00