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
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-07-06 15:06:31 +00:00
2023-04-30 16:12:54 +00: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
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-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-05-08 07:45:57 +00:00
2023-07-20 07:29:18 +00:00
2023-07-12 09:11:01 +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-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
2023-05-19 12:41:37 +02:00
2023-07-20 07:29:18 +00:00
2023-04-17 17:42:01 +00:00
2023-05-30 10:44:41 +00:00
2023-07-13 09:21:38 +00:00
2023-05-30 10:44:41 +00:00
2023-07-20 12:50:06 +00:00
2023-06-23 07:30:45 +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
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-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
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
2023-07-03 10:11:36 +00:00
2023-05-17 12:44:52 +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-31 15:01:50 +00:00
2023-03-31 15:01:50 +00:00
2023-03-31 15:01:50 +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-07-04 16:00:45 +00:00
2023-07-04 16:00:45 +00:00
2023-05-25 14:52:04 +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-06-22 14:59:19 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +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
2023-07-04 16:00:45 +00:00
2023-04-19 20:12:38 +00:00
2023-04-19 20:12:38 +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-05-12 14:47:24 +00:00
2023-03-27 13:46:13 +00:00
2023-07-03 10:11:36 +00:00
2023-03-31 12:54:30 +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-05-08 14:25:54 +00:00
2023-03-31 15:01:50 +00:00
2023-07-10 10:26:43 +00:00
2023-05-15 10:03:19 +00:00
2023-03-31 12:54:29 +00:00
2023-07-25 13:16:37 +00:00
2023-03-31 12:54:29 +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-03-30 09:42:15 +00:00
2023-07-25 13:16:37 +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
2023-05-16 10:40:25 +00:00
2023-05-16 10:40:25 +00:00