Annotation Interface Bottom


A special annotation intended solely for representing the bottom type in the qualifier hierarchy. It should not be used! Instead, each type system should define its own dedicated bottom type.

This qualifier is used automatically if the existing qualifiers do not have a bottom type. This only works the user never runs two type systems together. Furthermore, because it has no @RetentionPolicy meta-annotation, this qualifier will not be stored in bytecode. So, only use this qualifier during prototyping of very simple type systems. For realistic systems, introduce a top and bottom qualifier that gets stored in bytecode.

To use this qualifier, the type system designer needs to use methods like ImplicitsTreeAnnotator.addTreeKind() to add default annotations and needs to manually add the bottom qualifier to the qualifier hierarchy.

See QualifierHierarchy.getBottomAnnotations()

See the Checker Framework Manual:
Subtyping Checker