Commit Graph

549 Commits

Author SHA1 Message Date
Andrew Morris
ba68ef697a Test exceptions 2023-03-23 15:48:33 +11:00
Andrew Morris
2e500692bf Compile try-catch 2023-03-23 14:12:35 +11:00
Andrew Morris
473f061373 Add tryCatchFinally concept 2023-03-23 11:15:38 +11:00
Andrew Morris
45294cec47 Avoid throwing when register is void 2023-03-23 10:30:57 +11:00
Andrew Morris
56b35e06e2 Add finallyWithoutThrow concept 2023-03-23 10:14:34 +11:00
Andrew Morris
ad478c0c4b Catch exceptions using .catch_setting 2023-03-23 10:11:10 +11:00
Andrew Morris
0daaf0f650 Implement stack unwinding 2023-03-23 09:57:40 +11:00
Andrew Morris
337c5c5296 Add set_catch, unset_catch instructions 2023-03-23 09:35:33 +11:00
Andrew Morris
56f6ce5922 Add limited comment support in assembly 2023-03-23 08:59:57 +11:00
Andrew Morris
d21de90730 exception concepts 2023-03-22 16:37:11 +11:00
Andrew Morris
55fceb80cb Store mutations by span 2023-03-22 14:39:32 +11:00
Andrew Morris
7594eeeadd Replace capture_finder with scope_analysis data 2023-03-22 14:27:06 +11:00
Andrew Morris
120cede42d Add capture test 2023-03-22 09:34:03 +11:00
Andrew Morris
a046a8e4fc Fix bigint + type error 2023-03-21 16:47:54 +11:00
Andrew Morris
660518b083 Update readme 2023-03-21 16:44:57 +11:00
Andrew Morris
feeb0594de Emit type and range errors 2023-03-21 16:44:41 +11:00
Andrew Morris
e657604cbe Error builtin 2023-03-21 16:06:53 +11:00
Andrew Morris
e94876fc68 Update status 2023-03-21 14:34:49 +11:00
Andrew Morris
f43e83cffe Compile throw expressions 2023-03-21 14:29:38 +11:00
Andrew Morris
8b535f4f03 Throw instruction 2023-03-21 14:16:23 +11:00
Andrew Morris
cfb72fdbcd Dedupe InstructionByte 2023-03-21 14:00:33 +11:00
Andrew Morris
20d81f5324 Add label to uncaught exceptions 2023-03-21 13:52:11 +11:00
Andrew Morris
f75b0c7152 Convert most vm panics into exceptions 2023-03-21 13:45:22 +11:00
Andrew Morris
a59b577cd3 Make NativeFunction use exceptions (panics not converted though) 2023-03-21 12:07:04 +11:00
Andrew Morris
79534a8d38 Enable testing exceptions with test_output 2023-03-21 11:23:05 +11:00
Andrew Morris
215139e98b Exceptions for binary ops 2023-03-21 11:14:44 +11:00
Andrew Morris
11b547db15 Set up frame steps for exceptions 2023-03-21 09:51:25 +11:00
Andrew Morris
eaf6280c71 Add Number.EPSILON 2023-03-20 18:51:10 +11:00
Andrew Morris
5b7a64049c Fix codify bigint suffix, adjust readme 2023-03-20 18:29:01 +11:00
Andrew Morris
d2c437a9b6 BigInt 2023-03-20 17:59:07 +11:00
Andrew Morris
44de4a88f4 Allow using isFinite, isNaN, parseFloat, parseInt globally 2023-03-20 14:39:49 +11:00
Andrew Morris
b71bf3a9d1 Array builtin 2023-03-20 14:31:41 +11:00
Andrew Morris
904f230416 inf -> Infinity 2023-03-20 11:43:56 +11:00
Andrew Morris
549e7e546a NaN, Infinity 2023-03-20 11:34:48 +11:00
Andrew Morris
c3647969e8 Boolean methods 2023-03-20 10:04:18 +11:00
Andrew Morris
07a299c465 Boolean builtin 2023-03-20 09:56:50 +11:00
Andrew Morris
15fc9fa12b Module for builtins 2023-03-20 09:35:35 +11:00
Andrew Morris
58fae267bb Consistent naming 2023-03-20 09:23:52 +11:00
Andrew Morris
358c816fe3 More deduping of builtins, fix todo 2023-03-20 09:20:51 +11:00
Andrew Morris
8dfb174cb2 Deduplicate builtin name list 2023-03-20 08:42:09 +11:00
Andrew Morris
71bedae91e Update playground examples 2023-03-19 14:07:51 +11:00
Andrew Morris
e168f0370a String(), Number() 2023-03-19 13:54:33 +11:00
Andrew Morris
14983eebea toString, valueOf 2023-03-19 13:39:58 +11:00
Andrew Morris
606b2be84d toExponential, toFixed 2023-03-17 12:58:14 +11:00
Andrew Morris
791e69dcca number_builtin 2023-03-17 01:00:10 +11:00
Andrew Morris
751bf7a30d substring, toLowerCase, toString, toUpperCase, trim, trimEnd, trimStart, valueOf 2023-03-16 23:41:45 +11:00
Andrew Morris
d508831e9c Use details+summary for status sections 2023-03-16 15:36:20 +11:00
Andrew Morris
cd75108328 Update status 2023-03-16 15:06:44 +11:00
Andrew Morris
2a489b3264 startsWith 2023-03-15 13:05:29 +11:00
Andrew Morris
efb21c777a split 2023-03-15 11:39:28 +11:00