using MarketAlly.IronJava.Core.AST.Nodes;
namespace MarketAlly.IronJava.Core.AST.Visitors
{
///
/// Base implementation of IJavaVisitor that visits all child nodes by default.
///
public abstract class JavaVisitorBase : IJavaVisitor
{
protected virtual void DefaultVisit(JavaNode node)
{
foreach (var child in node.Children)
{
child.Accept(this);
}
}
public virtual void VisitCompilationUnit(CompilationUnit node) => DefaultVisit(node);
public virtual void VisitPackageDeclaration(PackageDeclaration node) => DefaultVisit(node);
public virtual void VisitImportDeclaration(ImportDeclaration node) => DefaultVisit(node);
public virtual void VisitClassDeclaration(ClassDeclaration node) => DefaultVisit(node);
public virtual void VisitInterfaceDeclaration(InterfaceDeclaration node) => DefaultVisit(node);
public virtual void VisitEnumDeclaration(EnumDeclaration node) => DefaultVisit(node);
public virtual void VisitAnnotationDeclaration(AnnotationDeclaration node) => DefaultVisit(node);
public virtual void VisitFieldDeclaration(FieldDeclaration node) => DefaultVisit(node);
public virtual void VisitMethodDeclaration(MethodDeclaration node) => DefaultVisit(node);
public virtual void VisitInitializerBlock(InitializerBlock node) => DefaultVisit(node);
public virtual void VisitVariableDeclarator(VariableDeclarator node) => DefaultVisit(node);
public virtual void VisitParameter(Parameter node) => DefaultVisit(node);
public virtual void VisitEnumConstant(EnumConstant node) => DefaultVisit(node);
public virtual void VisitAnnotationMember(AnnotationMember node) => DefaultVisit(node);
public virtual void VisitPrimitiveType(PrimitiveType node) => DefaultVisit(node);
public virtual void VisitClassOrInterfaceType(ClassOrInterfaceType node) => DefaultVisit(node);
public virtual void VisitArrayType(ArrayType node) => DefaultVisit(node);
public virtual void VisitTypeParameter(TypeParameter node) => DefaultVisit(node);
public virtual void VisitTypeArgumentType(TypeArgumentType node) => DefaultVisit(node);
public virtual void VisitWildcardType(WildcardType node) => DefaultVisit(node);
public virtual void VisitLiteralExpression(LiteralExpression node) => DefaultVisit(node);
public virtual void VisitIdentifierExpression(IdentifierExpression node) => DefaultVisit(node);
public virtual void VisitThisExpression(ThisExpression node) => DefaultVisit(node);
public virtual void VisitSuperExpression(SuperExpression node) => DefaultVisit(node);
public virtual void VisitBinaryExpression(BinaryExpression node) => DefaultVisit(node);
public virtual void VisitUnaryExpression(UnaryExpression node) => DefaultVisit(node);
public virtual void VisitConditionalExpression(ConditionalExpression node) => DefaultVisit(node);
public virtual void VisitMethodCallExpression(MethodCallExpression node) => DefaultVisit(node);
public virtual void VisitFieldAccessExpression(FieldAccessExpression node) => DefaultVisit(node);
public virtual void VisitArrayAccessExpression(ArrayAccessExpression node) => DefaultVisit(node);
public virtual void VisitCastExpression(CastExpression node) => DefaultVisit(node);
public virtual void VisitInstanceOfExpression(InstanceOfExpression node) => DefaultVisit(node);
public virtual void VisitNewExpression(NewExpression node) => DefaultVisit(node);
public virtual void VisitNewArrayExpression(NewArrayExpression node) => DefaultVisit(node);
public virtual void VisitArrayInitializer(ArrayInitializer node) => DefaultVisit(node);
public virtual void VisitAnnotationExpression(AnnotationExpression node) => DefaultVisit(node);
public virtual void VisitLambdaExpression(LambdaExpression node) => DefaultVisit(node);
public virtual void VisitLambdaParameter(LambdaParameter node) => DefaultVisit(node);
public virtual void VisitMethodReferenceExpression(MethodReferenceExpression node) => DefaultVisit(node);
public virtual void VisitClassLiteralExpression(ClassLiteralExpression node) => DefaultVisit(node);
public virtual void VisitBlockStatement(BlockStatement node) => DefaultVisit(node);
public virtual void VisitLocalVariableStatement(LocalVariableStatement node) => DefaultVisit(node);
public virtual void VisitExpressionStatement(ExpressionStatement node) => DefaultVisit(node);
public virtual void VisitIfStatement(IfStatement node) => DefaultVisit(node);
public virtual void VisitWhileStatement(WhileStatement node) => DefaultVisit(node);
public virtual void VisitDoWhileStatement(DoWhileStatement node) => DefaultVisit(node);
public virtual void VisitForStatement(ForStatement node) => DefaultVisit(node);
public virtual void VisitForEachStatement(ForEachStatement node) => DefaultVisit(node);
public virtual void VisitSwitchStatement(SwitchStatement node) => DefaultVisit(node);
public virtual void VisitSwitchCase(SwitchCase node) => DefaultVisit(node);
public virtual void VisitBreakStatement(BreakStatement node) => DefaultVisit(node);
public virtual void VisitContinueStatement(ContinueStatement node) => DefaultVisit(node);
public virtual void VisitReturnStatement(ReturnStatement node) => DefaultVisit(node);
public virtual void VisitThrowStatement(ThrowStatement node) => DefaultVisit(node);
public virtual void VisitTryStatement(TryStatement node) => DefaultVisit(node);
public virtual void VisitResourceDeclaration(ResourceDeclaration node) => DefaultVisit(node);
public virtual void VisitCatchClause(CatchClause node) => DefaultVisit(node);
public virtual void VisitSynchronizedStatement(SynchronizedStatement node) => DefaultVisit(node);
public virtual void VisitLabeledStatement(LabeledStatement node) => DefaultVisit(node);
public virtual void VisitEmptyStatement(EmptyStatement node) => DefaultVisit(node);
public virtual void VisitAssertStatement(AssertStatement node) => DefaultVisit(node);
public virtual void VisitAnnotation(Annotation node) => DefaultVisit(node);
public virtual void VisitAnnotationValueArgument(AnnotationValueArgument node) => DefaultVisit(node);
public virtual void VisitAnnotationArrayArgument(AnnotationArrayArgument node) => DefaultVisit(node);
public virtual void VisitJavaDoc(JavaDoc node) => DefaultVisit(node);
}
///
/// Base implementation of IJavaVisitor with generic return type that visits all child nodes by default.
///
public abstract class JavaVisitorBase : IJavaVisitor
{
protected abstract T DefaultVisit(JavaNode node);
public virtual T VisitCompilationUnit(CompilationUnit node) => DefaultVisit(node);
public virtual T VisitPackageDeclaration(PackageDeclaration node) => DefaultVisit(node);
public virtual T VisitImportDeclaration(ImportDeclaration node) => DefaultVisit(node);
public virtual T VisitClassDeclaration(ClassDeclaration node) => DefaultVisit(node);
public virtual T VisitInterfaceDeclaration(InterfaceDeclaration node) => DefaultVisit(node);
public virtual T VisitEnumDeclaration(EnumDeclaration node) => DefaultVisit(node);
public virtual T VisitAnnotationDeclaration(AnnotationDeclaration node) => DefaultVisit(node);
public virtual T VisitFieldDeclaration(FieldDeclaration node) => DefaultVisit(node);
public virtual T VisitMethodDeclaration(MethodDeclaration node) => DefaultVisit(node);
public virtual T VisitInitializerBlock(InitializerBlock node) => DefaultVisit(node);
public virtual T VisitVariableDeclarator(VariableDeclarator node) => DefaultVisit(node);
public virtual T VisitParameter(Parameter node) => DefaultVisit(node);
public virtual T VisitEnumConstant(EnumConstant node) => DefaultVisit(node);
public virtual T VisitAnnotationMember(AnnotationMember node) => DefaultVisit(node);
public virtual T VisitPrimitiveType(PrimitiveType node) => DefaultVisit(node);
public virtual T VisitClassOrInterfaceType(ClassOrInterfaceType node) => DefaultVisit(node);
public virtual T VisitArrayType(ArrayType node) => DefaultVisit(node);
public virtual T VisitTypeParameter(TypeParameter node) => DefaultVisit(node);
public virtual T VisitTypeArgumentType(TypeArgumentType node) => DefaultVisit(node);
public virtual T VisitWildcardType(WildcardType node) => DefaultVisit(node);
public virtual T VisitLiteralExpression(LiteralExpression node) => DefaultVisit(node);
public virtual T VisitIdentifierExpression(IdentifierExpression node) => DefaultVisit(node);
public virtual T VisitThisExpression(ThisExpression node) => DefaultVisit(node);
public virtual T VisitSuperExpression(SuperExpression node) => DefaultVisit(node);
public virtual T VisitBinaryExpression(BinaryExpression node) => DefaultVisit(node);
public virtual T VisitUnaryExpression(UnaryExpression node) => DefaultVisit(node);
public virtual T VisitConditionalExpression(ConditionalExpression node) => DefaultVisit(node);
public virtual T VisitMethodCallExpression(MethodCallExpression node) => DefaultVisit(node);
public virtual T VisitFieldAccessExpression(FieldAccessExpression node) => DefaultVisit(node);
public virtual T VisitArrayAccessExpression(ArrayAccessExpression node) => DefaultVisit(node);
public virtual T VisitCastExpression(CastExpression node) => DefaultVisit(node);
public virtual T VisitInstanceOfExpression(InstanceOfExpression node) => DefaultVisit(node);
public virtual T VisitNewExpression(NewExpression node) => DefaultVisit(node);
public virtual T VisitNewArrayExpression(NewArrayExpression node) => DefaultVisit(node);
public virtual T VisitArrayInitializer(ArrayInitializer node) => DefaultVisit(node);
public virtual T VisitAnnotationExpression(AnnotationExpression node) => DefaultVisit(node);
public virtual T VisitLambdaExpression(LambdaExpression node) => DefaultVisit(node);
public virtual T VisitLambdaParameter(LambdaParameter node) => DefaultVisit(node);
public virtual T VisitMethodReferenceExpression(MethodReferenceExpression node) => DefaultVisit(node);
public virtual T VisitClassLiteralExpression(ClassLiteralExpression node) => DefaultVisit(node);
public virtual T VisitBlockStatement(BlockStatement node) => DefaultVisit(node);
public virtual T VisitLocalVariableStatement(LocalVariableStatement node) => DefaultVisit(node);
public virtual T VisitExpressionStatement(ExpressionStatement node) => DefaultVisit(node);
public virtual T VisitIfStatement(IfStatement node) => DefaultVisit(node);
public virtual T VisitWhileStatement(WhileStatement node) => DefaultVisit(node);
public virtual T VisitDoWhileStatement(DoWhileStatement node) => DefaultVisit(node);
public virtual T VisitForStatement(ForStatement node) => DefaultVisit(node);
public virtual T VisitForEachStatement(ForEachStatement node) => DefaultVisit(node);
public virtual T VisitSwitchStatement(SwitchStatement node) => DefaultVisit(node);
public virtual T VisitSwitchCase(SwitchCase node) => DefaultVisit(node);
public virtual T VisitBreakStatement(BreakStatement node) => DefaultVisit(node);
public virtual T VisitContinueStatement(ContinueStatement node) => DefaultVisit(node);
public virtual T VisitReturnStatement(ReturnStatement node) => DefaultVisit(node);
public virtual T VisitThrowStatement(ThrowStatement node) => DefaultVisit(node);
public virtual T VisitTryStatement(TryStatement node) => DefaultVisit(node);
public virtual T VisitResourceDeclaration(ResourceDeclaration node) => DefaultVisit(node);
public virtual T VisitCatchClause(CatchClause node) => DefaultVisit(node);
public virtual T VisitSynchronizedStatement(SynchronizedStatement node) => DefaultVisit(node);
public virtual T VisitLabeledStatement(LabeledStatement node) => DefaultVisit(node);
public virtual T VisitEmptyStatement(EmptyStatement node) => DefaultVisit(node);
public virtual T VisitAssertStatement(AssertStatement node) => DefaultVisit(node);
public virtual T VisitAnnotation(Annotation node) => DefaultVisit(node);
public virtual T VisitAnnotationValueArgument(AnnotationValueArgument node) => DefaultVisit(node);
public virtual T VisitAnnotationArrayArgument(AnnotationArrayArgument node) => DefaultVisit(node);
public virtual T VisitJavaDoc(JavaDoc node) => DefaultVisit(node);
}
}