Class UnitsAnnotationClassLoader

java.lang.Object
org.checkerframework.framework.type.AnnotationClassLoader
org.checkerframework.checker.units.UnitsAnnotationClassLoader
All Implemented Interfaces:
Closeable, AutoCloseable

public class UnitsAnnotationClassLoader extends AnnotationClassLoader
  • Constructor Details

    • UnitsAnnotationClassLoader

      public UnitsAnnotationClassLoader(BaseTypeChecker checker)
  • Method Details

    • isSupportedAnnotationClass

      protected boolean isSupportedAnnotationClass(Class<? extends Annotation> annoClass)
      Custom filter for units annotations:

      This filter will ignore (by returning false) any units annotation which is an alias of another base unit annotation (identified via UnitsMultiple meta-annotation). Alias annotations can still be used in source code; they are converted into a base annotation by UnitsAnnotatedTypeFactory.canonicalAnnotation(AnnotationMirror). This filter simply makes sure that the alias annotations themselves don't become part of the type hierarchy as their base annotations already are in the hierarchy.

      Overrides:
      isSupportedAnnotationClass in class AnnotationClassLoader
      Parameters:
      annoClass - an annotation class
      Returns:
      true if the annotation is supported, false if it isn't