Andreas Kling
bce7fdba81
LibJS: Bring Reference records a bit closer to the ECMAScript spec
...
Our Reference class now has the same fields as the spec:
- Base (a non-nullish value, an environment record, or `unresolvable`)
- Referenced Name (the name of the binding)
- Strict (whether the reference originated in strict mode code)
- ThisValue (if non-empty, the reference represents a `super` keyword)
The main difference from before is that we now resolve the environment
record that a reference interacts with. Previously we simply resolved
to either "local variable" or "global variable".
The associated abstract operations are still largely non-conforming,
since we don't yet implement proper variable bindings. But this patch
should at least fix a handful of test262 cases. :^)
There's one minor regression: some TypeError message strings get
a little worse due to doing a RequireObjectCoercible earlier in the
evaluation of MemberExpression.
2021-06-25 16:58:36 +02:00
..
2021-06-25 16:58:36 +02:00
2021-06-23 09:38:33 +01:00
2021-06-23 13:59:17 +01:00
2021-06-23 13:59:17 +01:00
2021-06-20 12:12:39 +02:00
2021-06-11 18:49:50 +01:00
2021-06-11 18:49:50 +01:00
2021-06-11 18:49:50 +01:00
2021-06-13 00:33:28 +01:00
2021-06-11 13:38:25 +01:00
2021-06-17 02:20:03 +01:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-16 12:57:55 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:28 +01:00
2021-06-22 20:49:28 +01:00
2021-06-14 09:57:06 +01:00
2021-06-16 12:57:55 +01:00
2021-06-13 19:11:29 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 21:33:41 +01:00
2021-06-22 18:44:53 +02:00
2021-06-22 18:44:53 +02:00
2021-06-19 16:13:59 +01:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-14 01:45:04 +01:00
2021-06-14 01:45:04 +01:00
2021-06-14 01:45:04 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-18 10:21:29 +02:00
2021-06-24 13:28:15 +02:00
2021-06-24 13:28:15 +02:00
2021-06-23 13:08:27 +02:00
2021-06-24 13:26:00 +02:00
2021-06-11 21:34:05 +01:00
2021-06-11 21:34:05 +01:00
2021-06-20 12:12:39 +02:00
2021-06-11 18:49:50 +01:00
2021-06-13 00:33:28 +01:00
2021-06-11 18:49:50 +01:00
2021-06-23 12:50:21 +02:00
2021-06-24 19:28:00 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-15 23:59:21 +01:00
2021-06-15 23:59:21 +01:00
2021-06-15 23:59:21 +01:00
2021-06-20 12:12:39 +02:00
2021-06-22 18:44:53 +02:00
2021-06-19 00:38:41 +01:00
2021-06-19 00:04:57 +01:00
2021-06-24 13:28:15 +02:00
2021-06-23 13:08:27 +02:00
2021-06-24 19:28:00 +02:00
2021-06-22 18:44:53 +02:00
2021-06-19 00:04:57 +01:00
2021-06-19 00:04:57 +01:00
2021-06-19 00:04:57 +01:00
2021-06-24 19:28:00 +02:00
2021-06-21 23:49:50 +02:00
2021-06-19 00:04:57 +01:00
2021-06-19 00:04:57 +01:00
2021-06-24 13:26:00 +02:00
2021-06-23 13:08:27 +02:00
2021-06-23 09:38:33 +01:00
2021-06-23 09:38:33 +01:00
2021-06-17 16:52:15 +02:00
2021-06-17 16:52:15 +02:00
2021-06-20 12:12:39 +02:00
2021-06-19 09:38:26 +02:00
2021-06-13 00:33:28 +01:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:18 +01:00
2021-06-15 23:51:20 +01:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:18 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 12:20:21 +01:00
2021-06-13 00:33:18 +01:00
2021-06-13 19:11:29 +02:00
2021-06-13 00:33:18 +01:00
2021-06-12 13:24:45 +02:00
2021-06-16 12:57:55 +01:00
2021-06-22 18:44:53 +02:00
2021-06-22 18:44:53 +02:00
2021-06-20 12:12:39 +02:00
2021-06-19 16:13:59 +01:00
2021-06-19 16:13:59 +01:00
2021-06-24 19:28:00 +02:00
2021-06-23 13:08:27 +02:00
2021-06-22 18:59:24 +01:00
2021-06-15 12:15:18 +01:00
2021-06-24 13:26:00 +02:00
2021-06-24 13:26:00 +02:00
2021-06-20 12:12:39 +02:00
2021-06-17 13:20:18 +01:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-17 13:10:06 +01:00
2021-06-13 00:33:28 +01:00
2021-06-17 13:10:06 +01:00
2021-06-22 20:49:28 +01:00
2021-06-22 20:49:28 +01:00
2021-06-22 20:49:28 +01:00
2021-06-17 13:10:06 +01:00
2021-06-08 23:53:13 +02:00
2021-06-22 20:49:28 +01:00
2021-06-22 20:49:28 +01:00
2021-06-25 16:58:36 +02:00
2021-06-25 16:58:36 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-24 19:28:00 +02:00
2021-06-22 18:44:53 +02:00
2021-06-09 18:01:19 +01:00
2021-06-15 23:51:20 +01:00
2021-06-20 12:12:39 +02:00
2021-06-09 11:48:04 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:28 +01:00
2021-06-09 11:48:04 +01:00
2021-06-13 21:33:41 +01:00
2021-06-09 18:01:19 +01:00
2021-06-13 19:11:29 +02:00
2021-06-13 19:11:29 +02:00
2021-06-16 12:57:55 +01:00
2021-06-16 10:29:10 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-13 00:33:28 +01:00
2021-06-19 11:34:19 +02:00
2021-06-19 11:34:19 +02:00
2021-06-13 19:11:29 +02:00
2021-06-20 12:12:39 +02:00
2021-06-16 20:05:18 +01:00
2021-06-15 18:31:52 +01:00
2021-06-15 18:31:52 +01:00
2021-06-15 18:31:52 +01:00
2021-06-15 18:31:52 +01:00
2021-06-15 18:31:52 +01:00
2021-06-20 12:12:39 +02:00
2021-06-22 20:49:28 +01:00
2021-06-19 00:38:41 +01:00
2021-06-17 18:13:20 +01:00
2021-06-18 20:17:45 +01:00
2021-06-18 20:17:45 +01:00
2021-06-20 17:52:09 +01:00
2021-06-20 12:12:39 +02:00
2021-06-25 16:58:36 +02:00
2021-06-25 16:58:36 +02:00
2021-06-12 18:39:23 +01:00
2021-06-12 10:44:28 +01:00
2021-06-12 10:44:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-12 10:44:28 +01:00
2021-06-13 19:11:29 +02:00
2021-06-12 10:44:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-06-12 18:39:23 +01:00
2021-06-13 19:11:29 +02:00
2021-06-12 18:39:23 +01:00
2021-06-12 10:44:28 +01:00
2021-06-12 10:44:28 +01:00
2021-06-20 12:12:39 +02:00
2021-06-09 21:52:25 +01:00
2021-06-13 19:11:29 +02:00
2021-06-09 21:52:25 +01:00