Class LockTreeAnnotator
java.lang.Object
com.sun.source.util.SimpleTreeVisitor<Void,AnnotatedTypeMirror>
 
org.checkerframework.framework.type.treeannotator.TreeAnnotator
org.checkerframework.checker.lock.LockTreeAnnotator
- All Implemented Interfaces:
- TreeVisitor<Void,- AnnotatedTypeMirror> 
A TreeAnnotator implementation to apply special type introduction rules to string concatenations,
 binary comparisons, and new array instantiations.
- 
Field SummaryFields inherited from class org.checkerframework.framework.type.treeannotator.TreeAnnotatoratypeFactoryFields inherited from class com.sun.source.util.SimpleTreeVisitorDEFAULT_VALUE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvisitBinary(BinaryTree tree, AnnotatedTypeMirror type) When overriding this method, getAnnotatedType on the left and right operands should only be called when absolutely necessary.visitNewArray(NewArrayTree tree, AnnotatedTypeMirror type) Methods inherited from class org.checkerframework.framework.type.treeannotator.TreeAnnotatorlog, visitMethodMethods inherited from class com.sun.source.util.SimpleTreeVisitordefaultAction, visit, visit, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBindingPattern, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinue, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitGuardedPattern, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethodInvocation, visitModifiers, visitModule, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitParenthesizedPattern, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitVariable, visitWhileLoop, visitWildcard, visitYield
- 
Constructor Details- 
LockTreeAnnotator
 
- 
- 
Method Details- 
visitBinaryDescription copied from class:TreeAnnotatorWhen overriding this method, getAnnotatedType on the left and right operands should only be called when absolutely necessary. Otherwise, the checker will be very slow on heavily nested binary trees. (For example, a + b + c + d + e + f + g + h.)One approach is to perform work in this method only if type.hasPrimaryAnnotationInHierarchy(...)returns false.If a checker's performance is still too slow: - Compute the types of binary trees in a subclass of CFTransfer; look up the value in the store rather than the AnnotatedTypeFactory.
- This method (TreeAnnotator.visitBinary) should annotate binary trees with top so that the type applied in the transfer is always a subtype of the type the AnnotatedTypeFactory computes.
 - Specified by:
- visitBinaryin interface- TreeVisitor<Void,- AnnotatedTypeMirror> 
- Overrides:
- visitBinaryin class- TreeAnnotator
 
- Compute the types of binary trees in a subclass of 
- 
visitCompoundAssignment- Specified by:
- visitCompoundAssignmentin interface- TreeVisitor<Void,- AnnotatedTypeMirror> 
- Overrides:
- visitCompoundAssignmentin class- SimpleTreeVisitor<Void,- AnnotatedTypeMirror> 
 
- 
visitNewArray- Specified by:
- visitNewArrayin interface- TreeVisitor<Void,- AnnotatedTypeMirror> 
- Overrides:
- visitNewArrayin class- SimpleTreeVisitor<Void,- AnnotatedTypeMirror> 
 
 
-