Commit Graph

54 Commits

Author SHA1 Message Date
Andrew Morris
9b84429a9d Clippy fixes 2024-07-24 15:54:20 +09:00
Andrew Morris
a35fd06fce Move some things into utils.rs 2024-07-17 15:09:39 +09:00
Andrew Morris
357c31f117 Supply input val to override_unary_op 2024-07-17 10:12:34 +09:00
Andrew Morris
27115c3e24 Enable right side to override binary ops 2024-07-17 10:07:21 +09:00
Andrew Morris
9a105c44c1 Enable op overrides 2024-07-15 12:58:02 +09:00
Andrew Morris
1c04e92753 Implement delete 2023-12-18 15:11:18 +11:00
Andrew Morris
9dee5505fb Avoid unnecessary tranasctions, fix ptr indirection 2023-11-02 23:25:07 +11:00
Andrew Morris
3f70148110 Remove unnecessary option wrapper for object prototype 2023-11-02 15:13:58 +11:00
Andrew Morris
8bdccba57e wip storage integration 2023-10-30 17:39:36 +11:00
Andrew Morris
d49937663c Implement direct class comparison 2023-08-16 15:30:25 +10:00
Andrew Morris
3ffafda8d2 FnMeta 2023-08-14 17:35:24 +10:00
Andrew Morris
cf14a21fe9 hash -> srcHash 2023-08-14 12:17:41 +10:00
Andrew Morris
31a00cba19 Put source_hash in function hash 2023-08-14 10:59:32 +10:00
Andrew Morris
4c6b249c10 VsFunctionMetadata 2023-08-14 09:13:11 +10:00
Andrew Morris
9c21f0ee9c Implement instanceof 2023-07-27 11:42:49 +10:00
Andrew Morris
69663190ee Add fake hash and use it to compare functions and class instances 2023-07-26 17:27:03 +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
814fb09159 Implement in operator 2023-07-06 15:56:04 +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
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
6ef2eea2c1 Subscript classes using .static_ 2023-06-23 09:51:28 +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
7e16156933 Use &Val for submov key 2023-06-20 14:26:36 +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
4cfcb00e10 custom -> dynamic 2023-05-29 11:09:59 +10:00
Andrew Morris
4fb30d68be Replace range_error macro 2023-05-26 16:18:51 +10:00
Andrew Morris
1613734325 Simplify native_fn 2023-05-26 16:13:23 +10:00
Andrew Morris
67ba0d9a03 Reduce explicit Val::Static() 2023-05-26 14:25:20 +10:00
Andrew Morris
bc89575eae Replace val_to_string with to_string (via fmt::Display) 2023-05-26 13:17:31 +10:00
Andrew Morris
ea42e94d5d to_val refactor, remove error macros 2023-05-26 11:54:43 +10:00
Andrew Morris
205f5efa02 Add Symbol builtin 2023-05-25 13:45:38 +10:00
Andrew Morris
706fb78442 Add symbols 2023-05-25 13:15:15 +10:00
Andrew Morris
e54abc981f Make native functions const aware 2023-04-04 00:13:04 +10:00
Andrew Morris
a046a8e4fc Fix bigint + type error 2023-03-21 16:47:54 +11:00
Andrew Morris
feeb0594de Emit type and range errors 2023-03-21 16:44:41 +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
215139e98b Exceptions for binary ops 2023-03-21 11:14:44 +11:00
Andrew Morris
d2c437a9b6 BigInt 2023-03-20 17:59:07 +11:00
Andrew Morris
c3647969e8 Boolean methods 2023-03-20 10:04:18 +11:00