ClassDescriptionDetermines the nullness type of calls to
Collection.toArray().Boilerplate code to glue together all the parts the KeyFor dataflow classes.For the following initializations we wish to propagate the annotations from the left-hand side to the right-hand side or vice versa:KeyForPropagator is used to move nested KeyFor annotations in type arguments from one side of a pseudo-assignment to the other.A type-checker for determining which values are keys for which maps.KeyForTransfer ensures that java.util.Map.put and containsKey cause the appropriate @KeyFor annotation to be added to the key.KeyForValue holds additional information about which maps this value is a key for.The analysis class for the non-null type system (serves as factory for the transfer function, stores and abstract values.The annotated type factory for the nullness type-system.Nullness doesn't call propagation on binary and unary because the result is always @Initialized (the default qualifier).A DefaultAnnotatedTypeFormatter that prints null literals without their annotations.An implementation of the nullness type-system, parameterized by an initialization type-system for safe initialization.Behaves like
InitializationStore, but additionally tracks whether
PolyNullis known to be
Nullable(or not known to be either).Transfer function for the non-null type system.The visitor for the nullness type-system.Utility class for handling
System.getProperty(String)and related invocations.