Commit Graph

208 Commits

Author SHA1 Message Date
Andrew Morris
a5d0e2a46f Fix undefined elements in array toString 2022-05-22 11:39:16 +10:00
Andrew Morris
8a97ad7c38 Add stubs for remaining array methods 2022-05-22 11:26:44 +10:00
Andrew Morris
cc6f7f4eb6 Alphabetize array methods 2022-05-21 18:09:53 +10:00
Andrew Morris
8706929c25 Array.prototype.flat (without depth param) 2022-05-21 18:07:37 +10:00
Andrew Morris
b7d5d66a7c Array.prototype.fill 2022-05-21 17:53:44 +10:00
Andrew Morris
5056dc89f5 Fix index clamping for copyWithin 2022-05-21 17:47:32 +10:00
Andrew Morris
3dc2eb7d8b Fix copyWithin 2022-05-21 17:29:54 +10:00
Andrew Morris
55e75669f7 wip Array.prototype.copyWithin 2022-05-21 15:57:18 +10:00
Andrew Morris
26f0180ede Array.prototype.concat 2022-05-21 14:54:42 +10:00
Andrew Morris
778c4204c4 Add tsconfig to improve intellisense 2022-05-21 14:53:21 +10:00
Andrew Morris
5880318caf Array.prototype.at 2022-05-21 14:38:24 +10:00
Andrew Morris
55191fb43c Implement array's .length 2022-05-21 14:21:01 +10:00
Andrew Morris
fcd12b9b96 Add class-like examples 2022-05-21 14:14:10 +10:00
Andrew Morris
fe7fb346e0 Ignore type aliases 2022-05-21 14:13:07 +10:00
Andrew Morris
474e1047b2 Fix target access on method calls 2022-05-21 14:12:59 +10:00
Andrew Morris
587d6da4e8 Use 16-bit pointers in the bytecode 2022-05-21 14:12:36 +10:00
Andrew Morris
99db7d6c0a Fix return and undefined bugs in capture finder 2022-05-21 14:11:56 +10:00
Andrew Morris
1d3d341183 Fix this parameter for ordinary functions 2022-05-20 17:03:01 +10:00
Andrew Morris
01470f484f unshift, pop, shift 2022-05-20 17:02:48 +10:00
Andrew Morris
007618f417 Array.prototype.includes 2022-05-20 16:48:19 +10:00
Andrew Morris
e663f1c077 Improve debug printing 2022-05-20 16:19:30 +10:00
Andrew Morris
00b7c56053 Compile method calls 2022-05-20 15:19:36 +10:00
Andrew Morris
5f3875ff4d Implement subcall instruction 2022-05-20 14:46:07 +10:00
Andrew Morris
b756605d5d Implement .push (in theory 😅) 2022-05-20 11:54:43 +10:00
Andrew Morris
0a0c3e98d3 Add native_function 2022-05-20 11:28:38 +10:00
Andrew Morris
ca5ef43ee2 Add array prototype 2022-05-20 10:54:05 +10:00
Andrew Morris
b5989a8137 Add static system 2022-05-20 10:22:38 +10:00
Andrew Morris
6a3b62dec0 Introduce VsArray with object fallback 2022-05-20 10:06:48 +10:00
Andrew Morris
4a31e11811 Fallback to prototype when subscripting object 2022-05-20 09:39:48 +10:00
Andrew Morris
fcc8c55b38 Introduce VsObject 2022-05-20 09:32:07 +10:00
Andrew Morris
2a456145f1 Fix failing input 2022-05-20 08:54:19 +10:00
Andrew Morris
51a4f5bebe Add failing input 2022-05-20 08:44:01 +10:00
Andrew Morris
18d2335fae Implement template literals 2022-05-19 10:14:43 +10:00
Andrew Morris
db8044e4d3 Add more inputs 2022-05-19 09:39:15 +10:00
Andrew Morris
59f0fb530f Move several concepts into inputs and add failing case 2022-05-19 09:04:55 +10:00
Andrew Morris
6c87d901fa Implement closures for function declarations 2022-05-18 22:03:24 +10:00
Andrew Morris
81241481e6 Closures! 2022-05-18 20:05:55 +10:00
Andrew Morris
3e6a2adbc6 Set up native functions 2022-05-18 09:54:15 +10:00
Andrew Morris
a714c2894d Allow assigning past the end of an array 2022-05-16 14:57:11 +10:00
Andrew Morris
944dc45fbd Implement target access for assign expressions 2022-05-16 14:51:39 +10:00
Andrew Morris
1f19a673bc Add missing recursive packup call 2022-05-16 12:12:44 +10:00
Andrew Morris
bfbf5f943c Implement TargetAccessor and use with update_expression 2022-05-16 12:08:11 +10:00
Andrew Morris
271f1ca032 Fix void's val_to_string 2022-05-16 10:13:51 +10:00
Andrew Morris
6c17442dc9 Fix to_string -> val_to_string 2022-05-16 10:12:24 +10:00
Andrew Morris
b940f22040 Enable voids in bytecode 2022-05-16 10:11:19 +10:00
Andrew Morris
4e712a28b1 Implement submov 2022-05-16 10:02:26 +10:00
Andrew Morris
84c20f0cc3 Implement break and continue 2022-05-15 20:58:29 +10:00
Andrew Morris
a4ced15d61 Implement update expressions 2022-05-15 16:22:52 +10:00
Andrew Morris
cf7aed1a1a Implement compound assignment 2022-05-15 15:49:06 +10:00
Andrew Morris
1b550f1200 Simplify assign using inline 2022-05-15 15:00:17 +10:00