Можно ли добавить к Trait Local Transformer? - PullRequest
0 голосов
/ 04 августа 2020

Можно ли таким образом добавить локальный преобразователь в Trait?

@Retention(RetentionPolicy.RUNTIME)
@GroovyASTTransformationClass(["swagger.grails4.compiler.ApiDocTransformer"])
@interface ApiDoc {
  String value() default ""
}

@CompileStatic
@GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
class ApiDocTransformer extends AbstractASTTransformation {

    @Override
    void visit(ASTNode[] nodes, SourceUnit source) {
        // processing Class node it should be an Interface because trait is transformed to Interface and some helper classes
        // But The trasformer will not be triggered for Trait
    }
}

@ApiDoc("My Trait")
trait MyTrait {
}

Я пробовал вот так, но преобразователь не может быть вызван для Trait.

Если я добавлю аннотацию @ ApiDo c для реализации класса, который может быть вызван преобразователем, но как я могу преобразовать методы черт, такие как добавление аннотации к методу получения в преобразователе?

...