/*
* ScriptElementSwitch.java
*
* Copyright (c) 2008 David Holroyd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package uk.co.badgersinfoil.metaas.visitor;
import uk.co.badgersinfoil.metaas.dom.*;
public class ScriptElementSwitch implements ScriptElementStrategy {
private ActionScriptVisitor v;
public ScriptElementSwitch(ActionScriptVisitor v) {
this.v = v;
}
public void handle(ScriptElement e) {
if (e instanceof ASArrayAccessExpression) {
v.visitArrayAccessExpression((ASArrayAccessExpression)e);
} else if (e instanceof ASArrayLiteral) {
v.visitArrayLiteral((ASArrayLiteral)e);
} else if (e instanceof ASArg) {
v.visitArg((ASArg)e);
} else if (e instanceof ASAssignmentExpression) {
v.visitAssignmentExpression((ASAssignmentExpression)e);
} else if (e instanceof ASBinaryExpression) {
v.visitBinaryExpression((ASBinaryExpression)e);
} else if (e instanceof ASBooleanLiteral) {
v.visitBooleanLiteral((ASBooleanLiteral)e);
} else if (e instanceof ASBlock) {
v.visitBlockStatement((ASBlock)e);
} else if (e instanceof ASBreakStatement) {
v.visitBreakStatement((ASBreakStatement)e);
} else if (e instanceof ASCatchClause) {
v.visitCatchClause((ASCatchClause)e);
} else if (e instanceof ASConditionalExpression) {
v.visitConditionalExpression((ASConditionalExpression)e);
} else if (e instanceof ASContinueStatement) {
v.visitContinueStatement((ASContinueStatement)e);
} else if (e instanceof ASCompilationUnit) {
v.visitCompilationUnit((ASCompilationUnit)e);
} else if (e instanceof ASClassType) {
v.visitClassType((ASClassType)e);
} else if (e instanceof ASDeclarationStatement) {
v.visitDeclarationStatement((ASDeclarationStatement)e);
} else if (e instanceof ASDefaultXMLNamespaceStatement) {
v.visitDefaultXMLNamespaceStatement((ASDefaultXMLNamespaceStatement)e);
} else if (e instanceof ASDoWhileStatement) {
v.visitDoWhileStatement((ASDoWhileStatement)e);
} else if (e instanceof ASDescendantExpression) {
v.visitDescendantExpression((ASDescendantExpression)e);
} else if (e instanceof ASExpressionAttribute) {
v.visitExpressionAttribute((ASExpressionAttribute)e);
} else if (e instanceof ASExpressionStatement) {
v.visitExpressionStatement((ASExpressionStatement)e);
} else if (e instanceof ASFieldAccessExpression) {
v.visitFieldAccessExpression((ASFieldAccessExpression)e);
} else if (e instanceof ASFilterExpression) {
v.visitFilterExpression((ASFilterExpression)e);
} else if (e instanceof ASFinallyClause) {
v.visitFinallyClause((ASFinallyClause)e);
} else if (e instanceof ASForEachInStatement) {
v.visitForEachInStatement((ASForEachInStatement)e);
} else if (e instanceof ASForInStatement) {
v.visitForInStatement((ASForInStatement)e);
} else if (e instanceof ASForStatement) {
v.visitForStatement((ASForStatement)e);
} else if (e instanceof ASField) {
v.visitField((ASField)e);
} else if (e instanceof ASFunctionExpression) {
v.visitFunctionExpression((ASFunctionExpression)e);
} else if (e instanceof ASInvocationExpression) {
v.visitInvocationExpression((ASInvocationExpression)e);
} else if (e instanceof ASIfStatement) {
v.visitIfStatement((ASIfStatement)e);
} else if (e instanceof ASIntegerLiteral) {
v.visitIntegerLiteral((ASIntegerLiteral)e);
} else if (e instanceof ASInterfaceType) {
v.visitInterfaceType((ASInterfaceType)e);
} else if (e instanceof ASMetaTag) {
v.visitMetaTag((ASMetaTag)e);
} else if (e instanceof ASMethod) {
v.visitMethod((ASMethod)e);
} else if (e instanceof ASNewExpression) {
v.visitNewExpression((ASNewExpression)e);
} else if (e instanceof ASNullLiteral) {
v.visitNullLiteral((ASNullLiteral)e);
} else if (e instanceof ASObjectLiteral) {
v.visitObjectLiteral((ASObjectLiteral)e);
} else if (e instanceof ASObjectLiteral.Field) {
v.visitObjectField((ASObjectLiteral.Field)e);
} else if (e instanceof ASPackage) {
v.visitPackage((ASPackage)e);
} else if (e instanceof ASPostfixExpression) {
v.visitPostfixExpression((ASPostfixExpression)e);
} else if (e instanceof ASPrefixExpression) {
v.visitPrefixExpression((ASPrefixExpression)e);
} else if (e instanceof ASPropertyAttribute) {
v.visitPropertyAttribute((ASPropertyAttribute)e);
} else if (e instanceof ASRegexpLiteral) {
v.visitRegexpLiteral((ASRegexpLiteral)e);
} else if (e instanceof ASReturnStatement) {
v.visitReturnStatement((ASReturnStatement)e);
} else if (e instanceof ASSimpleNameExpression) {
v.visitSimpleNameExpression((ASSimpleNameExpression)e);
} else if (e instanceof ASStarAttribute) {
v.visitStarAttribute((ASStarAttribute)e);
} else if (e instanceof ASStringLiteral) {
v.visitStringLiteral((ASStringLiteral)e);
} else if (e instanceof ASSwitchCase) {
v.visitSwitchCase((ASSwitchCase)e);
} else if (e instanceof ASSwitchDefault) {
v.visitSwitchDefault((ASSwitchDefault)e);
} else if (e instanceof ASSwitchStatement) {
v.visitSwitchStatement((ASSwitchStatement)e);
} else if (e instanceof ASSuperStatement) {
v.visitSuperStatement((ASSuperStatement)e);
} else if (e instanceof ASThrowStatement) {
v.visitThrowStatement((ASThrowStatement)e);
} else if (e instanceof ASTryStatement) {
v.visitTryStatement((ASTryStatement)e);
} else if (e instanceof ASUndefinedLiteral) {
v.visitUndefinedLiteral((ASUndefinedLiteral)e);
} else if (e instanceof ASVarDeclarationFragment) {
v.visitVarDeclarationFragment((ASVarDeclarationFragment)e);
} else if (e instanceof ASWhileStatement) {
v.visitWhileStatement((ASWhileStatement)e);
} else if (e instanceof ASWithStatement) {
v.visitWithStatement((ASWithStatement)e);
} else if (e instanceof ASXMLLiteral) {
v.visitXMLLiteral((ASXMLLiteral)e);
} else {
throw new IllegalArgumentException("unhandled ScriptElement "+e.getClass().getName());
}
}
}