Aspectj no funciona con kotlin

quiero usar aspectj aop en kotlin, aquí está mi código:

mi anotación en annotation.lazy_list:

Kotlin:

package anotation @Retention(AnnotationRetention.RUNTIME) @Target(AnnotationTarget.FUNCTION) annotation class lazy_list 

mi class aspectj aop:

 @Aspect class ActiveListAop{ @Pointcut("execution(@annotation.lazy_list * *(..))") fun profile() { } @Before("profile()") fun testModeOnly(joinPoint: JoinPoint) { println("123") } } 

mi uso:

  @lazy_list fun all():List<T>{ return lazy_obj?.all() as List<T> } 

cuando llamo a la function all (), no hay error, pero no imprimo "123", ¿por qué?

Para el process de anotación en Kotlin, debe habilitar y usar KAPT . Sin que esto se agregue a través del plugin Gradle o Maven, nada va a funcionar para el procesamiento de annotations en el código de Kotlin.

El complemento de Kotlin admite procesadores de annotations como Dagger o DBFlow. Para que puedan trabajar con las classs de Kotlin, aplique el complemento kotlin-kapt.

Ver también:

  • Empujando los límites del process de anotación de Kotlin
  • kapt: Procesamiento de annotations para Kotlin
  • Mejor procesamiento de annotations: apéndices de apoyo en kapt
  • Proyecto Gradle: java.lang.NoClassDefFoundError: kotlin / jvm / internal / Intrinsics
  • Métodos de interfaz de anulación de Android kotlin dentro del método onCreateView ()
  • Procesador de anotación Java / Kotlin: get el tipo de campo / propiedad anotado
  • Cómo usar @link y @code en kotlin kDoc
  • ¿Se puede convertir un campo en una versión no nula de sí mismo?
  • Corda: request de session rechazada por la Parte ya que el solicitante no se ha registrado
  • Android DecimalFormat no formatea correctamente
  • Reactor Flux <MyObject> a Mono <List <MyObject >>
  • Subsorting de una class para cambiar la varianza de un parámetro de tipo en Kotlin
  • UNRESOLVED_REFERENCE Referencia no resuelta: isInitialized
  • Elegir una estrategia a través de la configuration JSON