1package annotations.el;
2
3/**
4 * @author dbro
5 */
6public interface ElementVisitor<R, T> {
7  R visitAnnotationDef(AnnotationDef el, T arg);
8  R visitBlock(ABlock el, T arg);
9  R visitClass(AClass el, T arg);
10  R visitDeclaration(ADeclaration el, T arg);
11  R visitExpression(AExpression el, T arg);
12  R visitField(AField el, T arg);
13  R visitMethod(AMethod el, T arg);
14  R visitTypeElement(ATypeElement el, T arg);
15  R visitTypeElementWithType(ATypeElementWithType el, T arg);
16  R visitElement(AElement el, T arg);
17}
18