Package org.checkerframework.framework.flow
package org.checkerframework.framework.flow
Contains an extension of the general org.checkerframework.dataflow framework that is specific to
the Checker Framework and can be used by any checker.
-
ClassDescriptionCFAbstractAnalysis<V extends CFAbstractValue<V>,
S extends CFAbstractStore<V, S>, T extends CFAbstractTransfer<V, S, T>> CFAbstractAnalysis
is an extensible org.checkerframework.dataflow analysis for the Checker Framework that tracks the annotations using a flow-sensitive analysis.CFAbstractAnalysis.FieldInitialValue<V extends CFAbstractValue<V>>A triple of field, value corresponding to the annotations on its declared type, value of its initializer.A store for the Checker Framework analysis.CFAbstractTransfer<V extends CFAbstractValue<V>,S extends CFAbstractStore<V, S>, T extends CFAbstractTransfer<V, S, T>> The default analysis transfer function for the Checker Framework propagates information through assignments and uses theAnnotatedTypeFactory
to provide checker-specific logic how to combine types (e.g., what is the type of a string concatenation, given the types of the two operands) and as an abstraction function (e.g., determine the annotations on literals).CFAbstractValue<V extends CFAbstractValue<V>>An implementation of an abstract value used by the Checker Framework org.checkerframework.dataflow analysis.The default org.checkerframework.dataflow analysis used in the Checker Framework.A control-flow graph builder (seeCFGBuilder
) that knows about the Checker Framework annotations and their representation asAnnotatedTypeMirror
s.A specialized phase-one CFG builder, with a few modifications that make use of the type factory.The default store used in the Checker Framework.The default transfer function used in the Checker Framework.The TreeBuilder permits the creation of new AST Trees using the non-public Java compiler API TreeMaker.The default abstract value used in the Checker Framework: a set of annotations and a TypeMirror.