Class DoubleAnnotatedTypeScanner<R>

java.lang.Object
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner<R,AnnotatedTypeMirror>
org.checkerframework.framework.type.visitor.DoubleAnnotatedTypeScanner<R>
Type Parameters:
R - the result of scanning the two AnnotatedTypeMirrors
All Implemented Interfaces:
AnnotatedTypeVisitor<R,AnnotatedTypeMirror>
Direct Known Subclasses:
AnnotatedTypeCombiner, AnnotatedTypeReplacer

public abstract class DoubleAnnotatedTypeScanner<R> extends AnnotatedTypeScanner<R,AnnotatedTypeMirror>
An AnnotatedTypeScanner that scans two AnnotatedTypeMirrors simultaneously and performs defaultAction(AnnotatedTypeMirror, AnnotatedTypeMirror) on the pair. Both AnnotatedTypeMirrors must have the same structure, or a subclass must arrange not to continue recursing past the point at which their structure diverges.

If the default action does not return a result, then R should be Void and DoubleAnnotatedTypeScanner() should be used to construct the scanner. If the default action returns a result, then specify a AnnotatedTypeScanner.reduce(R, R) function and use DoubleAnnotatedTypeScanner(Reduce, Object).

See Also: