package org.dynjs.parser;
import org.dynjs.parser.ast.AdditiveExpression;
import org.dynjs.parser.ast.ArrayLiteralExpression;
import org.dynjs.parser.ast.AssignmentExpression;
import org.dynjs.parser.ast.BitwiseExpression;
import org.dynjs.parser.ast.BitwiseInversionOperatorExpression;
import org.dynjs.parser.ast.BlockStatement;
import org.dynjs.parser.ast.BooleanLiteralExpression;
import org.dynjs.parser.ast.BracketExpression;
import org.dynjs.parser.ast.BreakStatement;
import org.dynjs.parser.ast.CaseClause;
import org.dynjs.parser.ast.CatchClause;
import org.dynjs.parser.ast.CommaOperator;
import org.dynjs.parser.ast.CompoundAssignmentExpression;
import org.dynjs.parser.ast.ContinueStatement;
import org.dynjs.parser.ast.DefaultCaseClause;
import org.dynjs.parser.ast.DeleteOpExpression;
import org.dynjs.parser.ast.DoWhileStatement;
import org.dynjs.parser.ast.DotExpression;
import org.dynjs.parser.ast.EmptyStatement;
import org.dynjs.parser.ast.EqualityOperatorExpression;
import org.dynjs.parser.ast.ExpressionStatement;
import org.dynjs.parser.ast.FloatingNumberExpression;
import org.dynjs.parser.ast.ForExprInStatement;
import org.dynjs.parser.ast.ForExprOfStatement;
import org.dynjs.parser.ast.ForExprStatement;
import org.dynjs.parser.ast.ForVarDeclInStatement;
import org.dynjs.parser.ast.ForVarDeclOfStatement;
import org.dynjs.parser.ast.ForVarDeclStatement;
import org.dynjs.parser.ast.FunctionCallExpression;
import org.dynjs.parser.ast.FunctionDeclaration;
import org.dynjs.parser.ast.FunctionExpression;
import org.dynjs.parser.ast.IdentifierReferenceExpression;
import org.dynjs.parser.ast.IfStatement;
import org.dynjs.parser.ast.InOperatorExpression;
import org.dynjs.parser.ast.OfOperatorExpression;
import org.dynjs.parser.ast.InstanceofExpression;
import org.dynjs.parser.ast.IntegerNumberExpression;
import org.dynjs.parser.ast.LogicalExpression;
import org.dynjs.parser.ast.LogicalNotOperatorExpression;
import org.dynjs.parser.ast.MultiplicativeExpression;
import org.dynjs.parser.ast.NamedValue;
import org.dynjs.parser.ast.NewOperatorExpression;
import org.dynjs.parser.ast.NullLiteralExpression;
import org.dynjs.parser.ast.ObjectLiteralExpression;
import org.dynjs.parser.ast.PostOpExpression;
import org.dynjs.parser.ast.PreOpExpression;
import org.dynjs.parser.ast.ProgramTree;
import org.dynjs.parser.ast.PropertyGet;
import org.dynjs.parser.ast.PropertySet;
import org.dynjs.parser.ast.RegexpLiteralExpression;
import org.dynjs.parser.ast.RelationalExpression;
import org.dynjs.parser.ast.ReturnStatement;
import org.dynjs.parser.ast.StrictEqualityOperatorExpression;
import org.dynjs.parser.ast.StringLiteralExpression;
import org.dynjs.parser.ast.SwitchStatement;
import org.dynjs.parser.ast.TernaryExpression;
import org.dynjs.parser.ast.ThisExpression;
import org.dynjs.parser.ast.ThrowStatement;
import org.dynjs.parser.ast.TryStatement;
import org.dynjs.parser.ast.TypeOfOpExpression;
import org.dynjs.parser.ast.UnaryMinusExpression;
import org.dynjs.parser.ast.UnaryPlusExpression;
import org.dynjs.parser.ast.VariableDeclaration;
import org.dynjs.parser.ast.VariableStatement;
import org.dynjs.parser.ast.VoidOperatorExpression;
import org.dynjs.parser.ast.WhileStatement;
import org.dynjs.parser.ast.WithStatement;
public interface CodeVisitor {
Object visit(Object context, AdditiveExpression expr, boolean strict);
Object visit(Object context, BitwiseExpression bitwiseExpression, boolean strict);
Object visit(Object context, ArrayLiteralExpression expr, boolean strict);
Object visit(Object context, AssignmentExpression expr, boolean strict);
Object visit(Object context, BitwiseInversionOperatorExpression expr, boolean strict);
Object visit(Object context, BlockStatement statement, boolean strict);
Object visit(Object context, BooleanLiteralExpression expr, boolean strict);
Object visit(Object context, BreakStatement statement, boolean strict);
Object visit(Object context, CaseClause clause, boolean strict);
Object visit(Object context, DefaultCaseClause clause, boolean strict);
Object visit(Object context, CatchClause clause, boolean strict);
Object visit(Object context, CompoundAssignmentExpression expr, boolean strict);
Object visit(Object context, ContinueStatement statement, boolean strict);
Object visit(Object context, DeleteOpExpression expr, boolean strict);
Object visit(Object context, DoWhileStatement statement, boolean strict);
Object visit(Object context, EmptyStatement statement, boolean strict);
Object visit(Object context, EqualityOperatorExpression expr, boolean strict);
Object visit(Object context, CommaOperator expr, boolean strict);
Object visit(Object context, ExpressionStatement statement, boolean strict);
Object visit(Object context, FloatingNumberExpression expr, boolean strict);
Object visit(Object context, ForExprInStatement statement, boolean strict);
Object visit(Object context, ForExprOfStatement statement, boolean strict);
Object visit(Object context, ForExprStatement statement, boolean strict);
Object visit(Object context, ForVarDeclInStatement statement, boolean strict);
Object visit(Object context, ForVarDeclOfStatement statement, boolean strict);
Object visit(Object context, ForVarDeclStatement statement, boolean strict);
Object visit(Object context, FunctionCallExpression expr, boolean strict);
Object visit(Object context, FunctionDeclaration statement, boolean strict);
Object visit(Object context, FunctionExpression expr, boolean strict);
Object visit(Object context, IdentifierReferenceExpression expr, boolean strict);
Object visit(Object context, IfStatement statement, boolean strict);
Object visit(Object context, InOperatorExpression expr, boolean strict);
Object visit(Object context, OfOperatorExpression expr, boolean strict);
Object visit(Object context, InstanceofExpression expr, boolean strict);
Object visit(Object context, IntegerNumberExpression expr, boolean strict);
Object visit(Object context, LogicalExpression expr, boolean strict);
Object visit(Object context, LogicalNotOperatorExpression expr, boolean strict);
Object visit(Object context, DotExpression expr, boolean strict);
Object visit(Object context, BracketExpression expr, boolean strict);
Object visit(Object context, MultiplicativeExpression expr, boolean strict);
Object visit(Object context, NewOperatorExpression expr, boolean strict);
Object visit(Object context, NullLiteralExpression expr, boolean strict);
Object visit(Object context, ObjectLiteralExpression expr, boolean strict);
Object visit(Object context, PostOpExpression expr, boolean strict);
Object visit(Object context, PreOpExpression expr, boolean strict);
Object visit(Object context, PropertyGet propertyGet, boolean strict);
Object visit(Object context, PropertySet propertySet, boolean strict);
Object visit(Object context, NamedValue namedValue, boolean strict);
Object visit(Object context, RegexpLiteralExpression expr, boolean strict);
Object visit(Object context, RelationalExpression expr, boolean strict);
Object visit(Object context, ReturnStatement statement, boolean strict);
Object visit(Object context, StrictEqualityOperatorExpression expr, boolean strict);
Object visit(Object context, StringLiteralExpression expr, boolean strict);
Object visit(Object context, SwitchStatement statement, boolean strict);
Object visit(Object context, TernaryExpression expr, boolean strict);
Object visit(Object context, ThisExpression expr, boolean strict);
Object visit(Object context, ThrowStatement statement, boolean strict);
Object visit(Object context, TryStatement statement, boolean strict);
Object visit(Object context, TypeOfOpExpression expr, boolean strict);
Object visit(Object context, UnaryMinusExpression expr, boolean strict);
Object visit(Object context, UnaryPlusExpression expr, boolean strict);
Object visit(Object context, VariableDeclaration expr, boolean strict);
Object visit(Object context, VariableStatement statement, boolean strict);
Object visit(Object context, VoidOperatorExpression expr, boolean strict);
Object visit(Object context, WhileStatement statement, boolean strict);
Object visit(Object context, WithStatement statement, boolean strict);
}