checkers.linear
Class LinearAnnotatedTypeFactory

java.lang.Object
  extended by checkers.types.AnnotatedTypeFactory
      extended by checkers.types.BasicAnnotatedTypeFactory<LinearChecker>
          extended by checkers.linear.LinearAnnotatedTypeFactory

public class LinearAnnotatedTypeFactory
extends BasicAnnotatedTypeFactory<LinearChecker>


Nested Class Summary
Modifier and Type Class and Description
 
Nested classes/interfaces inherited from class checkers.types.AnnotatedTypeFactory
AnnotatedTypeFactory.InheritedFromClassAnnotator
 
Field Summary
Modifier and Type Field and Description
 
Fields inherited from class checkers.types.BasicAnnotatedTypeFactory
defaults, flow, FLOW_BY_DEFAULT, poly, treeAnnotator, typeAnnotator, useFlow
 
Fields inherited from class checkers.types.AnnotatedTypeFactory
annotations, atypes, elements, env, qualHierarchy, root, trees, types, visitorState
 
Constructor Summary
Constructor and Description
LinearAnnotatedTypeFactory(LinearChecker checker, CompilationUnitTree root)
           
 
Method Summary
Modifier and Type Method and Description
 void annotateImplicit(Element elt, AnnotatedTypeMirror type)
          Adds implicit annotations to a type obtained from a Element.
 Flow createFlow(LinearChecker checker, CompilationUnitTree tree, Set<AnnotationMirror> flowQuals)
          Returns a Flow instance that performs flow sensitive analysis to infer qualifiers on unqualified types.
 
Methods inherited from class checkers.types.BasicAnnotatedTypeFactory
annotateImplicit, createFlowQualifiers, createTreeAnnotator, createTypeAnnotator, methodFromUse, postDirectSuperTypes
 
Methods inherited from class checkers.types.AnnotatedTypeFactory
aliasedAnnotation, annotateInheritedFromClass, constructorFromUse, createLRUCache, declarationFromElement, fromClass, fromElement, fromElement, fromElement, fromExpression, fromMember, fromTypeTree, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedType, getAnnotatedTypeFromTypeTree, getBoxedType, getCurrentClassType, getCurrentMethodReceiver, getEnclosingType, getImplicitReceiverType, getPath, getQualifierHierarchy, getReceiver, getSelfType, getUnboxedType, getVisitorState, isMostEnclosingThisDeref, isWithinConstructor, postAsMemberOf, unify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinearAnnotatedTypeFactory

public LinearAnnotatedTypeFactory(LinearChecker checker,
                                  CompilationUnitTree root)
Method Detail

annotateImplicit

public void annotateImplicit(Element elt,
                             AnnotatedTypeMirror type)
Description copied from class: AnnotatedTypeFactory
Adds implicit annotations to a type obtained from a Element. By default, this method does nothing. Subclasses should use this method to implement implicit annotations specific to their type systems.

Overrides:
annotateImplicit in class BasicAnnotatedTypeFactory<LinearChecker>
Parameters:
elt - an element
type - the type obtained from elt

createFlow

public Flow createFlow(LinearChecker checker,
                       CompilationUnitTree tree,
                       Set<AnnotationMirror> flowQuals)
Description copied from class: BasicAnnotatedTypeFactory
Returns a Flow instance that performs flow sensitive analysis to infer qualifiers on unqualified types.

Overrides:
createFlow in class BasicAnnotatedTypeFactory<LinearChecker>
Parameters:
checker - the checker
tree - the compilation unit associated with this factory
flowQuals - the qualifiers to infer
Returns:
the flow analysis class