Анастасия Бирилло — Compile-time рефлексия в Kotlin
На этом докладе мы не будем рассматривать все возможности, которые предоставляет рефлексия Kotlin в общем случае. Мы разберём довольно конкретную задачу «Как найти все классы, помеченные аннотацией и\или имеющие определённый супертип?» (и аналогичную для функций). Такую задачу можно решить несколькими способами, но все они имеют существенные недостатки. Например, стандартная Java рефлексия сильно увеличит время старта приложения. Такие библиотеки, как Classgraph ускорят процесс, но все еще заставят нас постоянно осуществлять поиск по classpath (хоть и оптимизированный). Annotation processing позволит проиндексировать классы во время компиляции, но при этом придется использовать специальные аннотации и усложнять проект.
Во время доклада мы разберем новый подход — плагин для компилятора Kotlin, который позволяет перенести решение этой задачи в compile-time без существенных ограничений и решать ее в run-time за O(1). Кроме того, с помощью него можно решить данную задачу в общем виде и искать сущност
1 view
23
8
6 years ago 00:15:22 6
Мысли про нейронные сети и ИИ. Сколько нам еще?
6 years ago 00:03:37 2
Обновление логотипа компании OUTLOG для сата
6 years ago 00:07:15 6
“Команда мечты“ Мои мысли по этому поводу. Как создать команду и где искать людей.