Spec-Zone.ru › Kotlin 2

Плагины компилятора

Плагины компилятора подключаются к процессу компиляции, чтобы анализировать или изменять код во время его компиляции, не изменяя сам компилятор. Например, они могут добавлять аннотации к коду или генерировать новый код, чтобы обеспечить его совместимость с другими фреймворками или API.

На этой странице описаны доступные вам плагины компилятора Kotlin и способы решения задачи, если ни один из них не подходит для вашего случая.

Команда Kotlin поддерживает следующие плагины компилятора:

Плагин

Описание

All-open

Автоматически делает классы с аннотациями и их члены open, чтобы фреймворки могли расширять их во время выполнения.

AtomicFU

Преобразует атомарные операции в эффективные, специфичные для платформы реализации, обеспечивающие параллельное выполнение без блокировок.

DataFrame

Генерирует типизированные API, позволяющие безопасно работать с DataFrame удобным для Kotlin способом.

jvm-abi-gen

Генерирует JAR-файлы Application Binary Interface (ABI).

js-plain-objects

Предоставляет доступ к классам Kotlin как к обычным объектам JavaScript, улучшая взаимодействие с инструментами и библиотеками JS.

kapt

Запускает процессоры аннотаций Java для кода Kotlin и генерирует дополнительные исходные файлы.

Lombok

Позволяет коду Kotlin распознавать и использовать код, сгенерированный аннотациями Lombok в исходных файлах Java.

no-arg

Генерирует конструкторы без аргументов для классов с аннотациями, чтобы поддерживать фреймворки, которым требуются такие конструкторы.

Power-assert

Улучшает сообщения об ошибках при сбое утверждений, показывая подробные значения каждой части выражения.

SAM with receiver

Позволяет использовать в SAM-интерфейсах лямбда-выражения с получателями, обеспечивая синтаксис, более похожий на DSL.

Serialization

Генерирует код для сериализации и десериализации объектов Kotlin без рефлексии.

Команда Android в Google поддерживает следующие плагины:

Плагин

Описание

Плагин компилятора Compose для Gradle

Интегрирует компилятор Compose с Gradle, обеспечивая поддержку декларативного пользовательского интерфейса и оптимизаций для Compose.

Плагин Parcelize

Автоматически генерирует реализации Parcelable, позволяя передавать объекты Kotlin между компонентами Android.

Если вам нужно адаптировать процесс компиляции способом, который не охватывают эти плагины, сначала проверьте, можно ли использовать API обработки символов Kotlin (KSP) или внешний линтер, например Android lint. Вы можете просмотреть Slack Kotlin или связаться с нами и попросить совета по вашему случаю.

Если вы всё ещё не нашли то, что вам нужно, вы можете создать собственный плагин компилятора. Используйте этот подход только в крайнем случае, поскольку API плагинов компилятора Kotlin нестабилен. Если вы создадите собственный плагин компилятора, вам придётся постоянно прикладывать значительные усилия для его поддержки, так как в каждом новом выпуске компилятора появляются несовместимые изменения.

2 февраля 2026 г.
Стратегия выполнения компилятораПлагин компилятора All-open

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/compiler-plugins-overview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API