Не могу понять, как сгенерировать @TypeParceler аннотация с KotlinPoet с использованием имен классов - PullRequest
1 голос
/ 24 февраля 2020

Я пытаюсь сгенерировать код для объявления класса с аннотацией @TypeParceler. Я могу создать ParameterizedTypeName с:

    val myParcelerClass = ClassName("com.example", "MyParceler")
    val genericTypeParcelerClass = ClassName("kotlinx.android.parcel", "TypeParceler")
    val parameterizedTypeParcelerClass = genericTypeParcelerClass.plusParameter(MyType::class.asClassName()).plusParameter(myParcelerClass)

Я хотел бы добавить аннотацию с parameterizedTypeParcelerClass, используя TypeSpe c .Builder.addAnnotation (), но нет переопределения с TypeName. Например:

    val myTargetClass = ClassName("com.example", "MyTarget")
    val classBuilder = TypeSpec.classBuilder(myTargetClass)
            .addAnnotation(parameterizedTypeParcelerClass)

Класс аннотации TypeParceler недоступен для кода KotlinPoet, поскольку библиотека расширения Android здесь не включена. Есть ли способ сделать это, что мне не хватает?

...