kcbanner
f10499be0a
sema: analyze field init bodies in a second pass
...
This change allows struct field inits to use layout information
of their own struct without causing a circular dependency.
`semaStructFields` caches the ranges of the init bodies in the `StructType`
trailing data. The init bodies are then resolved by `resolveStructFieldInits`,
which is called before the inits are actually required.
Within the init bodies, the struct decl's instruction is repurposed to refer
to the field type itself. This is to allow us to easily rebuild the inst_map
mapping required for the init body instructions to refer to the field type.
Thanks to @mlugg for the guidance on this one!
2023-11-07 00:49:35 +00:00
..
2023-11-07 00:49:35 +00:00
2023-10-17 11:55:17 +03:00
2023-10-17 11:55:17 +03:00
2023-10-03 00:45:48 -07:00
2023-10-17 11:55:17 +03:00
2023-06-19 12:34:42 -07:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-06-27 19:08:27 -04:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-27 19:57:23 -04:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2022-06-30 21:47:26 +03:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-07 20:02:02 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-07 20:02:02 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-06-30 09:57:38 +02:00
2022-05-04 23:51:16 +02:00
2023-09-19 15:15:05 +03:00
2023-09-19 15:15:05 +03:00
2023-04-26 17:31:42 +03:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2022-10-20 20:11:00 +03:00
2022-05-04 23:51:16 +02:00
2023-10-17 11:55:17 +03:00
2023-10-17 11:55:17 +03:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2022-10-07 11:04:02 +03:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2022-05-04 23:51:16 +02:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-06-27 19:08:27 -04:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-10-17 11:55:17 +03:00
2023-04-20 20:49:36 +01:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-06-27 19:57:23 -04:00
2022-09-12 01:52:44 -04:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-06-27 19:57:23 -04:00
2023-06-27 19:57:23 -04:00
2023-10-17 11:55:17 +03:00
2022-09-13 02:04:20 -07:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2022-05-04 23:51:16 +02:00
2023-06-19 12:34:42 -07:00
2023-09-15 11:33:53 -07:00
2022-09-14 16:12:55 -07:00
2022-10-07 11:04:02 +03:00
2022-05-04 23:51:16 +02:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2023-06-19 12:34:42 -07:00
2022-10-07 11:04:02 +03:00
2022-10-07 11:04:02 +03:00
2022-10-07 11:04:02 +03:00
2022-07-07 21:38:32 +03:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00
2023-04-20 20:49:36 +01:00