Примеры макросов для статьи на Хабре.
Фазы: | ClassDeclarationsMacro |
Что делает: | Собирает конструктор, используя аннотации полей класса. |
Работоспособность: | Работает только для полей без аннотации, так как CFE в настоящий момент [не поддерживает](https://github. |
Фазы: | FieldDefinitionMacro ,FieldDeclarationsMacro |
Что делает: | Создает геттер для ValueNotifier поля, который возвращает ValueListenable для этого поля. |
Работоспособность: | Работает |
Фазы: | ClassDeclarationsMacro |
Что делает: | Добавляет метод dispose в класс, который вызывает dispose /cancel /close для всех полей, аннотированных соответствующим образом. |
Работоспособность: | Как и авто-конструктор, полагается на использование аннотаций, а потому пока не работает. Кроме этого, пока нет возможности вызывать супер-класс, если изначальный класс имеет свой собственный dispose-метод. |
Фазы: | ClassDeclarationsMacro |
Что делает: | Создаёт класс для хранения зависимостей с возможностью асинхронной инициализации и защитой от циклов. Позволяет указывать только инициализатор зависимости. |
Работоспособность: | Работает |
Фазы: | ClassDeclarationsMacro , MethodDefinitionMacro |
Что делает: | Генерирует GET-запрос с использованием dio. |
Работоспособность: | Как и авто-конструктор, полагается на использование аннотаций, а потому пока не работает. Полная версия macrofit на pub.dev |
Фазы: | ClassTypesMacro , ClassDeclarationsMacro |
Что делает: | Генерирует геттеры props и stringify и добавляет интерфейс Equatable для класса. |
Работоспособность: | Работает |