/******************************************************************************* * Copyright (c) 2005-2012 eBay Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * *******************************************************************************/ package org.eclipse.vjet.eclipse.core.ts; import org.eclipse.vjet.dsf.jst.BaseJstNode; import org.eclipse.vjet.dsf.jst.IJstNode; import org.eclipse.vjet.dsf.jst.IJstRefType; import org.eclipse.vjet.dsf.jst.declaration.JstAnnotation; import org.eclipse.vjet.dsf.jst.declaration.JstArg; import org.eclipse.vjet.dsf.jst.declaration.JstArray; import org.eclipse.vjet.dsf.jst.declaration.JstBlock; import org.eclipse.vjet.dsf.jst.declaration.JstConstructor; import org.eclipse.vjet.dsf.jst.declaration.JstDoc; import org.eclipse.vjet.dsf.jst.declaration.JstFunctionRefType; import org.eclipse.vjet.dsf.jst.declaration.JstGlobalFunc; import org.eclipse.vjet.dsf.jst.declaration.JstGlobalProp; import org.eclipse.vjet.dsf.jst.declaration.JstGlobalVar; import org.eclipse.vjet.dsf.jst.declaration.JstMethod; import org.eclipse.vjet.dsf.jst.declaration.JstModifiers; import org.eclipse.vjet.dsf.jst.declaration.JstName; import org.eclipse.vjet.dsf.jst.declaration.JstObjectLiteralType; import org.eclipse.vjet.dsf.jst.declaration.JstPackage; import org.eclipse.vjet.dsf.jst.declaration.JstParamType; import org.eclipse.vjet.dsf.jst.declaration.JstProperty; import org.eclipse.vjet.dsf.jst.declaration.JstProxyMethod; import org.eclipse.vjet.dsf.jst.declaration.JstProxyProperty; import org.eclipse.vjet.dsf.jst.declaration.JstRawBlock; import org.eclipse.vjet.dsf.jst.declaration.JstRefType; import org.eclipse.vjet.dsf.jst.declaration.JstType; import org.eclipse.vjet.dsf.jst.declaration.JstTypeReference; import org.eclipse.vjet.dsf.jst.declaration.JstTypeWithArgs; import org.eclipse.vjet.dsf.jst.declaration.JstVar; import org.eclipse.vjet.dsf.jst.declaration.JstVars; import org.eclipse.vjet.dsf.jst.declaration.JstWildcardType; import org.eclipse.vjet.dsf.jst.expr.ArrayAccessExpr; import org.eclipse.vjet.dsf.jst.expr.ArrayCreationExpr; import org.eclipse.vjet.dsf.jst.expr.AssignExpr; import org.eclipse.vjet.dsf.jst.expr.BoolExpr; import org.eclipse.vjet.dsf.jst.expr.CastExpr; import org.eclipse.vjet.dsf.jst.expr.ConditionalExpr; import org.eclipse.vjet.dsf.jst.expr.FieldAccessExpr; import org.eclipse.vjet.dsf.jst.expr.FuncExpr; import org.eclipse.vjet.dsf.jst.expr.InfixExpr; import org.eclipse.vjet.dsf.jst.expr.JstArrayInitializer; import org.eclipse.vjet.dsf.jst.expr.JstInitializer; import org.eclipse.vjet.dsf.jst.expr.ListExpr; import org.eclipse.vjet.dsf.jst.expr.MtdInvocationExpr; import org.eclipse.vjet.dsf.jst.expr.ObjCreationExpr; import org.eclipse.vjet.dsf.jst.expr.ParenthesizedExpr; import org.eclipse.vjet.dsf.jst.expr.PostfixExpr; import org.eclipse.vjet.dsf.jst.expr.PrefixExpr; import org.eclipse.vjet.dsf.jst.expr.PtyGetter; import org.eclipse.vjet.dsf.jst.expr.TextExpr; import org.eclipse.vjet.dsf.jst.meta.BaseJsCommentMetaNode; import org.eclipse.vjet.dsf.jst.stmt.BlockStmt; import org.eclipse.vjet.dsf.jst.stmt.BreakStmt; import org.eclipse.vjet.dsf.jst.stmt.CatchStmt; import org.eclipse.vjet.dsf.jst.stmt.ContinueStmt; import org.eclipse.vjet.dsf.jst.stmt.DispatchStmt; import org.eclipse.vjet.dsf.jst.stmt.DoStmt; import org.eclipse.vjet.dsf.jst.stmt.ExprStmt; import org.eclipse.vjet.dsf.jst.stmt.ForInStmt; import org.eclipse.vjet.dsf.jst.stmt.ForStmt; import org.eclipse.vjet.dsf.jst.stmt.IfStmt; import org.eclipse.vjet.dsf.jst.stmt.JstBlockInitializer; import org.eclipse.vjet.dsf.jst.stmt.JstStmt; import org.eclipse.vjet.dsf.jst.stmt.LabeledStmt; import org.eclipse.vjet.dsf.jst.stmt.PtySetter; import org.eclipse.vjet.dsf.jst.stmt.RtnStmt; import org.eclipse.vjet.dsf.jst.stmt.SwitchStmt; import org.eclipse.vjet.dsf.jst.stmt.SwitchStmt.CaseStmt; import org.eclipse.vjet.dsf.jst.stmt.TextStmt; import org.eclipse.vjet.dsf.jst.stmt.ThisStmt; import org.eclipse.vjet.dsf.jst.stmt.ThrowStmt; import org.eclipse.vjet.dsf.jst.stmt.TryStmt; import org.eclipse.vjet.dsf.jst.stmt.TypeDeclStmt; import org.eclipse.vjet.dsf.jst.stmt.WhileStmt; import org.eclipse.vjet.dsf.jst.stmt.WithStmt; import org.eclipse.vjet.dsf.jst.term.ArrayLiteral; import org.eclipse.vjet.dsf.jst.term.JstIdentifier; import org.eclipse.vjet.dsf.jst.term.JstLiteral; import org.eclipse.vjet.dsf.jst.term.JstProxyIdentifier; import org.eclipse.vjet.dsf.jst.term.NV; import org.eclipse.vjet.dsf.jst.term.ObjLiteral; import org.eclipse.vjet.dsf.jst.term.RegexpLiteral; import org.eclipse.vjet.dsf.jst.term.SimpleLiteral; import org.eclipse.vjet.dsf.jst.traversal.IJstNodeVisitor; public class GenericVisitor implements IJstNodeVisitor { protected void visitNode(IJstNode jstNode) { visitBefore(jstNode); for (IJstNode child : jstNode.getChildren()) { visitChild(child); visitInMiddle(jstNode, child); } visitAfter(jstNode); } private void visitChild(IJstNode child) { child.accept(this); } protected void visitBefore(IJstNode jstNode) { // System.out.println("[to validate] ------" +"type is :" +jstNode.getClass().getName()+" content is: " +jstNode.toString()); } protected void visitInMiddle(IJstNode jstNode, IJstNode childJstNode) { //System.out.println("[validating:]" + jstNode.toString()); } protected void visitAfter(IJstNode jstNode) { //System.out.println("[validated:]" + jstNode.toString()); } public void visit(BaseJstNode arg0) { visitNode(arg0); } public void visit(JstAnnotation arg0) { visitNode(arg0); } public void visit(JstArg arg0) { visitNode(arg0); } public void visit(JstArrayInitializer arg0) { visitNode(arg0); } public void visit(JstBlock arg0) { visitNode(arg0); } public void visit(JstBlockInitializer arg0) { visitNode(arg0); } public void visit(JstRawBlock arg0) { visitNode(arg0); } public void visit(JstDoc arg0) { visitNode(arg0); } public void visit(JstIdentifier arg0) { visitNode(arg0); } public void visit(JstInitializer arg0) { visitNode(arg0); } public void visit(JstLiteral arg0) { visitNode(arg0); } public void visit(ArrayLiteral arg0) { visitNode(arg0); } public void visit(ObjLiteral arg0) { visitNode(arg0); } public void visit(RegexpLiteral arg0) { visitNode(arg0); } public void visit(SimpleLiteral arg0) { visitNode(arg0); } public void visit(JstMethod arg0) { visitNode(arg0); } public void visit(JstConstructor arg0) { visitNode(arg0); } public void visit(JstModifiers arg0) { visitNode(arg0); } public void visit(JstName arg0) { visitNode(arg0); } public void visit(JstPackage arg0) { visitNode(arg0); } public void visit(JstProperty arg0) { visitNode(arg0); } public void visit(JstType arg0) { visitNode(arg0); } public void visit(JstArray arg0) { visitNode(arg0); } public void visit(JstFunctionRefType arg0) { visitNode(arg0); } public void visit(JstObjectLiteralType arg0) { visitNode(arg0); } public void visit(JstRefType arg0) { visitNode(arg0); } public void visit(IJstRefType arg0) { visitNode(arg0); } public void visit(JstTypeReference arg0) { visitNode(arg0); } public void visit(JstVar arg0) { visitNode(arg0); } public void visit(JstVars arg0) { visitNode(arg0); } public void visit(NV arg0) { visitNode(arg0); } public void visit(JstStmt arg0) { visitNode(arg0); } public void visit(BoolExpr arg0) { visitNode(arg0); } public void visit(InfixExpr arg0) { visitNode(arg0); } public void visit(ParenthesizedExpr arg0) { visitNode(arg0); } public void visit(PostfixExpr arg0) { visitNode(arg0); } public void visit(PrefixExpr arg0) { visitNode(arg0); } public void visit(ArrayAccessExpr arg0) { visitNode(arg0); } public void visit(ArrayCreationExpr arg0) { visitNode(arg0); } public void visit(AssignExpr arg0) { visitNode(arg0); } public void visit(CastExpr arg0) { visitNode(arg0); } public void visit(ConditionalExpr arg0) { visitNode(arg0); } public void visit(FieldAccessExpr arg0) { visitNode(arg0); } public void visit(FuncExpr arg0) { visitNode(arg0); } public void visit(ObjCreationExpr arg0) { visitNode(arg0); } public void visit(MtdInvocationExpr arg0) { visitNode(arg0); } public void visit(ExprStmt arg0) { visitNode(arg0); } public void visit(CaseStmt arg0) { visitNode(arg0); } public void visit(BlockStmt arg0) { visitNode(arg0); } public void visit(CatchStmt arg0) { visitNode(arg0); } public void visit(ForInStmt arg0) { visitNode(arg0); } public void visit(ForStmt arg0) { visitNode(arg0); } public void visit(IfStmt arg0) { visitNode(arg0); } public void visit(DispatchStmt arg0) { visitNode(arg0); } public void visit(SwitchStmt arg0) { visitNode(arg0); } public void visit(TryStmt arg0) { visitNode(arg0); } public void visit(WhileStmt arg0) { visitNode(arg0); } public void visit(DoStmt arg0) { visitNode(arg0); } public void visit(WithStmt arg0) { visitNode(arg0); } public void visit(BreakStmt arg0) { visitNode(arg0); } public void visit(ContinueStmt arg0) { visitNode(arg0); } public void visit(LabeledStmt arg0) { visitNode(arg0); } public void visit(RtnStmt arg0) { visitNode(arg0); } public void visit(TypeDeclStmt arg0) { visitNode(arg0); } public void visit(ListExpr arg0) { visitNode(arg0); } public void visit(ThisStmt arg0) { visitNode(arg0); } public void visit(TextExpr arg0) { visitNode(arg0); } public void visit(TextStmt arg0) { visitNode(arg0); } public void visit(ThrowStmt arg0) { visitNode(arg0); } public void visit(PtyGetter arg0) { visitNode(arg0); } public void visit(PtySetter arg0) { visitNode(arg0); } public void visit(JstProxyMethod arg0) { visitNode(arg0); } public void visit(JstProxyProperty arg0) { visitNode(arg0); } public void visit(JstParamType arg0) { visitNode(arg0); } public void visit(JstWildcardType arg0) { visitNode(arg0); } public void visit(JstTypeWithArgs arg0) { visitNode(arg0); } @Override public void visit(JstGlobalVar node) { visitNode(node); } @Override public void visit(JstGlobalFunc node) { visitNode(node); } @Override public void visit(JstGlobalProp node) { visitNode(node); } @Override public void visit(JstProxyIdentifier node) { visitNode(node); } @Override public void visit(BaseJsCommentMetaNode<?> node) { // TODO Auto-generated method stub } }