Class ScalaAnnotatingVisitor

java.lang.Object
io.micronaut.scala.processing.test.ScalaAnnotatingVisitor
All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.core.util.Toggleable, io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>

public final class ScalaAnnotatingVisitor extends Object implements io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
Test visitor used to verify that Scala elements can be annotated by visitors.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Annotation name used by the visitor.

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    finish(io.micronaut.inject.visitor.VisitorContext visitorContext)
     
    int
     
    void
    start(io.micronaut.inject.visitor.VisitorContext visitorContext)
     
    void
    visitClass(io.micronaut.inject.ast.ClassElement element, io.micronaut.inject.visitor.VisitorContext context)
     
    void
    visitMethod(io.micronaut.inject.ast.MethodElement element, io.micronaut.inject.visitor.VisitorContext context)
     
    static <T> T
    Executes a compilation with this visitor enabled.
    static <T> T
    withClassAnnotation(String annotationName, Supplier<T> supplier)
    Executes a compilation with this visitor adding the given annotation to classes.
    static <T> T
    withClassFailure(RuntimeException exception, Supplier<T> supplier)
    Executes a compilation with this visitor failing when it visits a class.
    static <T> T
    withFinishFailure(RuntimeException exception, Supplier<T> supplier)
    Executes a compilation with this visitor failing when visitor processing finishes.
    static <T> T
    withMethodAnnotation(String annotationName, Supplier<T> supplier)
    Executes a compilation with this visitor adding the given annotation to methods.
    static <T> T
    withStartFailure(RuntimeException exception, Supplier<T> supplier)
    Executes a compilation with this visitor failing when visitor processing starts.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.core.util.Toggleable

    isEnabled

    Methods inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    getClassType, getElementType, getSupportedAnnotationNames, getSupportedOptions, getVisitorKind, query, visitConstructor, visitEnumConstant, visitField
  • Field Details

  • Constructor Details

    • ScalaAnnotatingVisitor

      public ScalaAnnotatingVisitor()
  • Method Details

    • withAnnotations

      public static <T> T withAnnotations(Supplier<T> supplier)
      Executes a compilation with this visitor enabled.
      Type Parameters:
      T - The result type
      Parameters:
      supplier - The compilation work
      Returns:
      The supplier result
    • withClassAnnotation

      public static <T> T withClassAnnotation(String annotationName, Supplier<T> supplier)
      Executes a compilation with this visitor adding the given annotation to classes.
      Type Parameters:
      T - The result type
      Parameters:
      annotationName - The annotation name
      supplier - The compilation work
      Returns:
      The supplier result
    • withMethodAnnotation

      public static <T> T withMethodAnnotation(String annotationName, Supplier<T> supplier)
      Executes a compilation with this visitor adding the given annotation to methods.
      Type Parameters:
      T - The result type
      Parameters:
      annotationName - The annotation name
      supplier - The compilation work
      Returns:
      The supplier result
    • withStartFailure

      public static <T> T withStartFailure(RuntimeException exception, Supplier<T> supplier)
      Executes a compilation with this visitor failing when visitor processing starts.
      Type Parameters:
      T - The result type
      Parameters:
      exception - The exception to throw
      supplier - The compilation work
      Returns:
      The supplier result
    • withClassFailure

      public static <T> T withClassFailure(RuntimeException exception, Supplier<T> supplier)
      Executes a compilation with this visitor failing when it visits a class.
      Type Parameters:
      T - The result type
      Parameters:
      exception - The exception to throw
      supplier - The compilation work
      Returns:
      The supplier result
    • withFinishFailure

      public static <T> T withFinishFailure(RuntimeException exception, Supplier<T> supplier)
      Executes a compilation with this visitor failing when visitor processing finishes.
      Type Parameters:
      T - The result type
      Parameters:
      exception - The exception to throw
      supplier - The compilation work
      Returns:
      The supplier result
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface io.micronaut.core.order.Ordered
    • start

      public void start(io.micronaut.inject.visitor.VisitorContext visitorContext)
      Specified by:
      start in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
    • visitClass

      public void visitClass(io.micronaut.inject.ast.ClassElement element, io.micronaut.inject.visitor.VisitorContext context)
      Specified by:
      visitClass in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
    • visitMethod

      public void visitMethod(io.micronaut.inject.ast.MethodElement element, io.micronaut.inject.visitor.VisitorContext context)
      Specified by:
      visitMethod in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
    • finish

      public void finish(io.micronaut.inject.visitor.VisitorContext visitorContext)
      Specified by:
      finish in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>