/* * This file is part of the OpenJML project. * Author: David R. Cok */ package org.jmlspecs.openjml; import org.jmlspecs.openjml.JmlTree.*; /** * This is an interface for Visitors to JML and Java nodes; it extends IVisitor * for Java nodes. Any JML tree visitor should implement this interface; it * provides a check for missing visit methods and enables the visitor to be * handled as an IJmlVisitor if needed. There should be a method here for each * kind of AST node that JML adds to the syntax tree. * * @author David Cok */ public interface IJmlVisitor extends IVisitor { public void visitJmlBinary(JmlBinary that) ; public void visitJmlBlock(JmlBlock that) ; public void visitJmlChoose(JmlChoose that) ; public void visitJmlClassDecl(JmlClassDecl that) ; public void visitJmlCompilationUnit(JmlCompilationUnit that) ; public void visitJmlMethodSig(JmlMethodSig that); public void visitJmlDoWhileLoop(JmlDoWhileLoop that) ; public void visitJmlEnhancedForLoop(JmlEnhancedForLoop that) ; public void visitJmlForLoop(JmlForLoop that) ; public void visitJmlGroupName(JmlGroupName that) ; public void visitJmlImport(JmlImport that) ; public void visitJmlLabeledStatement(JmlLabeledStatement that) ; public void visitJmlLblExpression(JmlLblExpression that) ; public void visitJmlMethodClauseCallable(JmlMethodClauseCallable that) ; public void visitJmlMethodClauseConditional(JmlMethodClauseConditional that) ; public void visitJmlMethodClauseDecl(JmlMethodClauseDecl that) ; public void visitJmlMethodClauseExpr(JmlMethodClauseExpr that) ; public void visitJmlMethodClauseGroup(JmlMethodClauseGroup that) ; public void visitJmlMethodClauseSignals(JmlMethodClauseSignals that) ; public void visitJmlMethodClauseSigOnly(JmlMethodClauseSignalsOnly that) ; public void visitJmlMethodClauseStoreRef(JmlMethodClauseStoreRef that) ; public void visitJmlMethodDecl(JmlMethodDecl that) ; public void visitJmlMethodInvocation(JmlMethodInvocation that) ; public void visitJmlMethodSpecs(JmlMethodSpecs that) ; public void visitJmlModelProgramStatement(JmlModelProgramStatement that); public void visitJmlPrimitiveTypeTree(JmlPrimitiveTypeTree that); public void visitJmlQuantifiedExpr(JmlQuantifiedExpr that) ; public void visitJmlSetComprehension(JmlSetComprehension that) ; public void visitJmlSingleton(JmlSingleton that) ; public void visitJmlSpecificationCase(JmlSpecificationCase that); public void visitJmlStatement(JmlStatement that) ; public void visitJmlStatementDecls(JmlStatementDecls that) ; public void visitJmlStatementExpr(JmlStatementExpr that) ; public void visitJmlStatementHavoc(JmlStatementHavoc that) ; public void visitJmlStatementLoop(JmlStatementLoop that) ; public void visitJmlStatementSpec(JmlStatementSpec that) ; public void visitJmlStoreRefArrayRange(JmlStoreRefArrayRange that); public void visitJmlStoreRefKeyword(JmlStoreRefKeyword that) ; public void visitJmlStoreRefListExpression(JmlStoreRefListExpression that); public void visitJmlTypeClauseConditional(JmlTypeClauseConditional that) ; public void visitJmlTypeClauseConstraint(JmlTypeClauseConstraint that) ; public void visitJmlTypeClauseDecl(JmlTypeClauseDecl that) ; public void visitJmlTypeClauseExpr(JmlTypeClauseExpr that) ; public void visitJmlTypeClauseIn(JmlTypeClauseIn that) ; public void visitJmlTypeClauseInitializer(JmlTypeClauseInitializer that) ; public void visitJmlTypeClauseMaps(JmlTypeClauseMaps that) ; public void visitJmlTypeClauseMonitorsFor(JmlTypeClauseMonitorsFor that) ; public void visitJmlTypeClauseRepresents(JmlTypeClauseRepresents that) ; public void visitJmlVariableDecl(JmlVariableDecl that) ; public void visitJmlWhileLoop(JmlWhileLoop that) ; }