Class UnitsAnnotationClassLoader
java.lang.Object
org.checkerframework.framework.type.AnnotationClassLoader
org.checkerframework.checker.units.UnitsAnnotationClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
-
Field Summary
Fields inherited from class org.checkerframework.framework.type.AnnotationClassLoader
checker, classLoader, processingEnv
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
isSupportedAnnotationClass
(Class<? extends Annotation> annoClass) Custom filter for units annotations:Methods inherited from class org.checkerframework.framework.type.AnnotationClassLoader
close, getBundledAnnotationClasses, hasWellDefinedTargetMetaAnnotation, loadAnnotationClass, loadAnnotationClasses, loadExternalAnnotationClass, loadExternalAnnotationClassesFromDirectory, printPaths
-
Constructor Details
-
UnitsAnnotationClassLoader
-
-
Method Details
-
isSupportedAnnotationClass
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 byUnitsAnnotatedTypeFactory.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 classAnnotationClassLoader
- Parameters:
annoClass
- an annotation class- Returns:
- true if the annotation is supported, false if it isn't
-