package uk.co.badgersinfoil.metaas.impl;

import uk.co.badgersinfoil.metaas.dom.ASBlock;
import uk.co.badgersinfoil.metaas.dom.ASBreakStatement;
import uk.co.badgersinfoil.metaas.dom.ASCatchClause;
import uk.co.badgersinfoil.metaas.dom.ASContinueStatement;
import uk.co.badgersinfoil.metaas.dom.ASDeclarationStatement;
import uk.co.badgersinfoil.metaas.dom.ASDefaultXMLNamespaceStatement;
import uk.co.badgersinfoil.metaas.dom.ASDoWhileStatement;
import uk.co.badgersinfoil.metaas.dom.ASExpressionStatement;
import uk.co.badgersinfoil.metaas.dom.ASFinallyClause;
import uk.co.badgersinfoil.metaas.dom.ASForEachInStatement;
import uk.co.badgersinfoil.metaas.dom.ASForInStatement;
import uk.co.badgersinfoil.metaas.dom.ASForStatement;
import uk.co.badgersinfoil.metaas.dom.ASIfStatement;
import uk.co.badgersinfoil.metaas.dom.ASMethod;
import uk.co.badgersinfoil.metaas.dom.ASReturnStatement;
import uk.co.badgersinfoil.metaas.dom.ASSuperStatement;
import uk.co.badgersinfoil.metaas.dom.ASSwitchCase;
import uk.co.badgersinfoil.metaas.dom.ASSwitchDefault;
import uk.co.badgersinfoil.metaas.dom.ASSwitchStatement;
import uk.co.badgersinfoil.metaas.dom.ASThrowStatement;
import uk.co.badgersinfoil.metaas.dom.ASTryStatement;
import uk.co.badgersinfoil.metaas.dom.ASVarDeclarationFragment;
import uk.co.badgersinfoil.metaas.dom.ASWhileStatement;
import uk.co.badgersinfoil.metaas.dom.ASWithStatement;

/**
 * @author rflament
 *
 */
public interface ASMethodVisitor {

	public void visit(ASMethod method);
	
	public void visit(ASExpressionStatement expressionStatement);
	
	public void visit(ASDeclarationStatement declarationStatement);

	public void visit(ASIfStatement ifStatement);

	public void visit(ASReturnStatement returnStatement);

	public void visit(ASForStatement forStatement);

	public void visit(ASBlock block);

	public void visit(ASBreakStatement breakStatement);

	public void visit(ASContinueStatement continueStatement);

	public void visit(ASDefaultXMLNamespaceStatement defaultXMLNamespaceStatement);

	public void visit(ASDoWhileStatement doWhileStatement);

	public void visit(ASForEachInStatement forEachInStatement);

	public void visit(ASForInStatement forInStatement);

	public void visit(ASSuperStatement superStatement);

	public void visit(ASSwitchStatement switchStatement);

	public void visit(ASSwitchDefault switchDefault);

	public void visit(ASSwitchCase switchCase);

	public void visit(ASThrowStatement throwStatement);

	public void visit(ASTryStatement tryStatement);

	public void visit(ASCatchClause catchClause);

	public void visit(ASFinallyClause finallyClause);

	public void visit(ASWhileStatement whileStatement);

	public void visit(ASWithStatement withStatement);

	public void visit(ASVarDeclarationFragment declarationFragment);
}
