Leonid Startsev
648c1f4599
Support instantiation of annotations with type parameters
...
By ignoring type parameters. Since type parameters in annotations are a
very limited feature, their sole use is to be able to specify them as
KClass argument: annotation class Foo<T: Any>(val bar: KClass<T>).
Since we can encounter type param only as a KClass type argument (and
never as a property type), simple approach of ignoring them works fine.
In that case, since we simply copy property types to synthetic
implementation class, its properties in IR start look like this:
annotation class FooImpl(override val bar: KClass<T of Foo>). This IR
seems to be not completely correct, since FooImpl.bar type contains T of
Foo param, which is out of its scope. However, so far I didn't
encounter any problems with this during testing and after MR discussion
this approach has been considered possible.
#KT-59558 Fixed
#KT-59036 Fixed
2023-07-26 17:16:13 +00:00
..
2023-07-26 17:16:13 +00:00
2023-05-23 14:12:29 +03:00
2023-07-20 07:29:18 +00:00
2023-05-02 13:14:47 +00:00
2023-07-20 09:38:28 +00:00
2023-06-22 07:09:15 +00:00
2023-07-13 17:37:48 +00:00
2023-07-19 13:34:58 +00:00
2023-04-30 16:12:54 +00:00
2023-07-13 17:37:48 +00:00
2023-07-25 13:16:37 +00:00
2023-07-05 06:56:12 +00:00
2023-05-31 05:56:18 +00:00
2023-05-05 12:35:46 +00:00
2023-07-25 11:25:43 +00:00
2022-06-06 09:39:29 +00:00
2023-02-15 08:13:42 +00:00
2022-06-28 16:58:20 +02:00
2023-04-19 20:12:38 +00:00
2023-06-12 11:30:35 +00:00
2023-07-20 07:29:18 +00:00
2023-05-11 10:31:52 +00:00
2023-05-30 10:44:41 +00:00
2023-01-09 08:57:10 +00:00
2023-07-06 15:06:31 +00:00
2023-04-30 16:12:54 +00:00
2022-02-23 14:21:59 +03:00
2023-06-12 20:05:23 +00:00
2023-05-24 08:56:21 +00:00
2023-07-07 11:41:59 +00:00
2023-04-26 11:47:16 +00:00
2023-04-30 16:12:54 +00:00
2023-07-20 09:36:55 +00:00
2023-06-16 16:26:50 +00:00
2023-05-31 16:25:51 +00:00
2023-07-01 16:27:23 +00:00
2023-07-20 07:29:18 +00:00
2023-07-20 09:36:55 +00:00
2023-04-19 20:12:38 +00:00
2023-07-25 07:48:22 +00:00
2023-04-19 20:12:38 +00:00
2023-07-04 16:00:45 +00:00
2023-06-22 12:29:11 +00:00
2023-07-20 17:22:56 +00:00
2022-09-16 07:15:43 +00:00
2023-03-31 12:54:30 +00:00
2023-04-20 11:05:02 +00:00
2023-04-19 20:12:38 +00:00
2023-07-24 09:15:11 +00:00
2023-07-24 14:20:57 +00:00
2023-07-25 22:30:09 +02:00
2023-07-04 16:00:45 +00:00
2023-05-15 10:43:19 +00:00
2023-07-05 06:56:15 +00:00
2023-04-30 16:12:54 +00:00
2023-01-04 15:09:26 +00:00
2023-02-28 10:19:18 +00:00
2023-04-30 16:12:54 +00:00
2023-04-19 20:12:38 +00:00
2023-07-25 11:25:43 +00:00
2023-07-04 07:25:22 +00:00
2023-02-28 10:19:18 +00:00
2023-05-08 07:45:57 +00:00
2023-07-20 07:29:18 +00:00
2023-07-12 09:11:01 +00:00
2022-02-25 11:46:27 +00:00
2023-03-02 10:23:38 +00:00
2023-07-05 19:46:04 +00:00
2023-07-26 06:09:15 +00:00
2023-07-10 09:43:22 +00:00
2023-03-17 16:27:29 +00:00
2023-02-21 12:36:04 +00:00
2023-06-16 16:26:50 +00:00
2023-07-05 19:46:04 +00:00
2023-06-19 15:21:32 +00:00
2023-07-04 16:00:45 +00:00
2023-06-22 08:02:07 +00:00
2023-06-22 08:02:07 +00:00
2023-07-12 10:50:33 +00:00
2022-03-23 21:13:33 +00:00
2023-05-19 12:41:37 +02:00
2022-02-18 17:44:40 +03:00
2023-07-20 07:29:18 +00:00
2022-11-29 14:47:59 +00:00
2023-04-17 17:42:01 +00:00
2023-05-30 10:44:41 +00:00
2023-02-16 10:50:48 +00:00
2023-07-13 09:21:38 +00:00
2023-05-30 10:44:41 +00:00
2023-02-06 08:09:56 +00:00
2022-11-08 14:51:33 +01:00
2023-07-20 12:50:06 +00:00
2023-06-23 07:30:45 +00:00
2022-12-15 12:12:19 +00:00
2023-05-10 11:48:58 +00:00
2023-04-19 20:12:38 +00:00
2023-07-20 07:29:18 +00:00
2023-04-19 20:12:38 +00:00
2023-06-21 13:08:00 +00:00
2022-10-12 20:53:02 +00:00
2023-06-23 07:30:45 +00:00
2023-06-07 16:45:28 +00:00
2023-07-10 09:43:22 +00:00
2023-03-10 17:29:37 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 16:05:19 +00:00
2022-11-21 16:17:51 +00:00
2022-02-25 11:46:27 +00:00
2023-07-13 13:41:36 +00:00
2023-07-13 13:41:36 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2022-12-09 12:02:05 +00:00
2023-01-13 21:32:51 +00:00
2023-01-13 21:32:51 +00:00
2023-07-03 10:11:36 +00:00
2023-01-30 09:29:57 +00:00
2022-03-23 21:13:33 +00:00
2023-05-17 12:44:52 +00:00
2022-03-23 21:13:33 +00:00
2023-01-09 21:37:22 +00:00
2023-01-09 21:37:22 +00:00
2023-01-09 21:37:22 +00:00
2023-01-09 21:37:22 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2023-04-19 20:12:36 +00:00
2023-04-19 20:12:36 +00:00
2023-03-02 10:23:38 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2022-02-25 11:46:27 +00:00
2022-02-25 11:46:27 +00:00
2023-07-20 12:50:06 +00:00
2023-04-19 20:12:41 +00:00
2023-04-19 20:12:41 +00:00
2023-04-19 20:12:41 +00:00
2023-01-17 06:26:34 +00:00
2023-07-04 16:00:45 +00:00
2023-07-04 16:00:45 +00:00
2022-03-23 21:13:33 +00:00
2023-05-25 14:52:04 +00:00
2022-03-23 21:13:33 +00:00
2023-05-25 14:52:04 +00:00
2023-03-31 15:01:50 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-03-21 08:48:38 +00:00
2023-06-22 14:59:19 +00:00
2023-02-21 14:45:46 +01:00
2023-03-02 10:19:57 +00:00
2023-03-02 10:19:57 +00:00
2023-03-02 10:19:57 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2022-11-16 12:27:12 +00:00
2022-11-16 12:27:12 +00:00
2022-11-16 12:27:12 +00:00
2023-05-22 11:40:30 +00:00
2023-05-22 11:40:30 +00:00
2023-05-25 12:19:30 +00:00
2023-05-25 12:19:30 +00:00
2022-01-17 21:27:14 +03:00
2022-03-23 21:13:33 +00:00
2023-07-04 16:00:45 +00:00
2023-01-04 11:46:11 +00:00
2022-03-03 12:57:04 +00:00
2022-03-03 12:57:04 +00:00
2022-04-12 10:55:12 +00:00
2022-07-22 16:03:52 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2022-09-28 13:38:18 +00:00
2022-11-03 08:30:09 +00:00
2022-11-03 08:30:09 +00:00
2022-04-20 22:31:54 +03:00
2022-11-22 10:54:09 +00:00
2022-11-22 10:54:09 +00:00
2022-11-22 10:54:09 +00:00
2022-11-25 10:19:58 +00:00
2022-11-25 10:19:58 +00:00
2022-11-25 10:19:58 +00:00
2022-11-25 10:19:58 +00:00
2023-01-16 17:24:22 +00:00
2023-01-16 17:24:22 +00:00
2023-01-20 08:09:08 +00:00
2023-01-20 08:09:08 +00:00
2023-01-12 13:51:11 +00:00
2023-01-12 13:51:11 +00:00
2023-02-17 09:15:59 +00:00
2023-02-17 09:15:59 +00:00
2023-02-16 17:48:38 +00:00
2023-02-16 17:48:38 +00:00
2023-02-27 15:00:30 +00:00
2023-02-27 15:00:30 +00:00
2023-02-27 15:00:30 +00:00
2023-03-07 11:35:47 +00:00
2023-03-07 11:35:47 +00:00
2023-03-09 09:43:03 +00:00
2023-03-09 09:43:03 +00:00
2023-03-09 09:43:02 +00:00
2023-03-07 20:28:02 +00:00
2023-03-09 09:44:09 +00:00
2023-03-14 10:25:02 +00:00
2023-05-09 17:23:45 +00:00
2023-07-25 10:55:41 +00:00
2023-07-25 10:55:41 +00:00
2023-03-02 10:19:57 +00:00
2023-05-12 14:47:24 +00:00
2023-01-13 21:32:51 +00:00
2023-01-13 21:32:51 +00:00
2022-11-23 18:29:29 +00:00
2022-11-23 18:29:29 +00:00
2022-11-23 18:29:29 +00:00
2022-11-23 18:29:29 +00:00
2023-01-30 17:17:58 +00:00
2022-11-23 18:29:29 +00:00
2023-03-27 13:46:13 +00:00
2023-07-03 10:11:36 +00:00
2023-01-13 21:32:51 +00:00
2023-03-13 16:34:47 +00:00
2023-03-13 16:34:47 +00:00
2023-01-31 08:39:43 +00:00
2023-01-31 08:39:43 +00:00
2023-01-31 08:39:43 +00:00
2022-03-23 21:13:33 +00:00
2022-03-23 21:13:33 +00:00
2023-01-13 21:32:51 +00:00
2023-01-13 21:32:51 +00:00
2022-03-23 21:13:33 +00:00
2023-03-21 08:48:38 +00:00
2023-03-21 08:48:38 +00:00
2023-03-21 08:48:38 +00:00
2023-03-21 08:48:38 +00:00
2023-01-13 21:32:51 +00:00
2023-03-31 12:54:30 +00:00
2022-10-13 18:11:49 +00:00
2022-10-13 18:11:49 +00:00
2022-10-13 18:11:49 +00:00
2023-03-02 10:23:38 +00:00
2023-05-02 15:10:55 +00:00
2023-05-02 15:10:55 +00:00
2023-05-02 15:10:55 +00:00
2023-01-31 08:39:43 +00:00
2023-01-13 21:32:51 +00:00
2023-02-15 08:13:41 +00:00
2023-03-15 13:56:51 +00:00
2023-03-15 13:56:51 +00:00
2023-05-08 14:25:54 +00:00
2022-01-17 21:27:14 +03:00
2022-03-23 21:13:33 +00:00
2022-06-17 23:26:16 +00:00
2022-01-17 21:27:14 +03:00
2022-03-23 21:13:33 +00:00
2023-03-31 15:01:50 +00:00
2023-07-10 10:26:43 +00:00
2023-03-02 10:23:38 +00:00
2023-03-02 10:23:38 +00:00
2023-05-15 10:03:19 +00:00
2023-03-31 12:54:29 +00:00
2022-02-25 11:46:27 +00:00
2022-02-25 11:46:27 +00:00
2022-02-25 11:46:27 +00:00
2023-02-27 15:00:30 +00:00
2023-02-27 15:00:30 +00:00
2022-02-25 11:46:27 +00:00
2022-02-25 11:46:27 +00:00
2023-07-25 13:16:37 +00:00
2022-02-25 11:46:27 +00:00
2023-03-31 12:54:29 +00:00
2023-03-02 10:23:38 +00:00
2022-11-08 14:51:33 +01:00
2023-03-30 09:42:15 +00:00
2023-03-30 09:42:15 +00:00
2023-03-30 09:42:15 +00:00
2023-03-30 09:42:15 +00:00
2023-01-31 22:05:18 +00:00
2023-01-31 22:05:18 +00:00
2023-01-31 22:05:18 +00:00
2022-10-25 12:33:09 +00:00
2022-10-25 12:33:09 +00:00
2022-06-07 14:12:13 +00:00
2022-06-07 14:12:13 +00:00
2023-03-02 10:23:38 +00:00
2023-03-02 10:23:38 +00:00
2023-03-02 10:23:38 +00:00
2022-11-08 14:51:33 +01:00
2023-03-21 20:24:57 +00:00
2022-02-10 21:20:47 +00:00
2023-07-25 13:16:37 +00:00
2023-03-02 10:23:38 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2023-03-27 13:46:13 +00:00
2023-03-27 13:46:13 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +00:00
2022-09-13 16:45:06 +00:00
2023-05-16 10:40:25 +00:00
2023-05-16 10:40:25 +00:00