/* * This file is part of the OpenJML project. * Author: David R. Cok */ package org.jmlspecs.openjml; import com.sun.tools.javac.tree.JCTree.*; /** * This class is an interface to the JDK Visitor class. Too bad OpenJDK does not * use it (or something like it)---they should. However, we use it as a base for * extensions. * * @author David Cok */ public interface IVisitor { public void visitTopLevel(JCCompilationUnit that) ; public void visitImport(JCImport that) ; public void visitClassDef(JCClassDecl that) ; public void visitMethodDef(JCMethodDecl that) ; public void visitVarDef(JCVariableDecl that) ; public void visitSkip(JCSkip that) ; public void visitBlock(JCBlock that) ; public void visitDoLoop(JCDoWhileLoop that) ; public void visitWhileLoop(JCWhileLoop that) ; public void visitForLoop(JCForLoop that) ; public void visitForeachLoop(JCEnhancedForLoop that) ; public void visitLabelled(JCLabeledStatement that) ; public void visitSwitch(JCSwitch that) ; public void visitCase(JCCase that) ; public void visitSynchronized(JCSynchronized that) ; public void visitTry(JCTry that) ; public void visitCatch(JCCatch that) ; public void visitConditional(JCConditional that) ; public void visitIf(JCIf that) ; public void visitExec(JCExpressionStatement that) ; public void visitBreak(JCBreak that) ; public void visitContinue(JCContinue that) ; public void visitReturn(JCReturn that) ; public void visitThrow(JCThrow that) ; public void visitAssert(JCAssert that) ; public void visitApply(JCMethodInvocation that) ; public void visitNewClass(JCNewClass that) ; public void visitNewArray(JCNewArray that) ; public void visitParens(JCParens that) ; public void visitAssign(JCAssign that) ; public void visitAssignop(JCAssignOp that) ; public void visitUnary(JCUnary that) ; public void visitBinary(JCBinary that) ; public void visitTypeCast(JCTypeCast that) ; public void visitTypeTest(JCInstanceOf that) ; public void visitIndexed(JCArrayAccess that) ; public void visitSelect(JCFieldAccess that) ; public void visitIdent(JCIdent that) ; public void visitLiteral(JCLiteral that) ; public void visitTypeIdent(JCPrimitiveTypeTree that) ; public void visitTypeArray(JCArrayTypeTree that) ; public void visitTypeApply(JCTypeApply that) ; public void visitTypeParameter(JCTypeParameter that) ; public void visitWildcard(JCWildcard that) ; public void visitTypeBoundKind(TypeBoundKind that) ; public void visitAnnotation(JCAnnotation that) ; public void visitModifiers(JCModifiers that) ; public void visitErroneous(JCErroneous that) ; public void visitLetExpr(LetExpr that) ; }