Copyright (c) 2000, 2019 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.corext.dom;
import org.eclipse.jdt.core.dom.*;
ASTVisitor that forwards all visit(*)
calls to visitNode(ASTNode)
. Note: New code should better use ASTVisitor.preVisit2(ASTNode)
.
/**
* ASTVisitor that forwards all <code>visit(*)</code> calls to {@link #visitNode(ASTNode)}.
* <p>
* Note: New code should better use {@link ASTVisitor#preVisit2(ASTNode)}.
* </p>
*/
// @see JDTUIHelperClasses
public class GenericVisitor extends ASTVisitor {
public GenericVisitor() {
super();
}
Params: - visitJavadocTags –
true
if doc comment tags are
to be visited by default, and false
otherwise
See Also: Since: 3.0
/**
* @param visitJavadocTags <code>true</code> if doc comment tags are
* to be visited by default, and <code>false</code> otherwise
* @see Javadoc#tags()
* @see #visit(Javadoc)
* @since 3.0
*/
public GenericVisitor(boolean visitJavadocTags) {
super(visitJavadocTags);
}
//---- Hooks for subclasses -------------------------------------------------
Visits the given type-specific AST node.
Params: - node – the AST note to visit
Returns: true
if the children of this node should be visited, and
false
if the children of this node should be skipped
/**
* Visits the given type-specific AST node.
*
* @param node the AST note to visit
* @return <code>true</code> if the children of this node should be visited, and
* <code>false</code> if the children of this node should be skipped
*/
protected boolean visitNode(ASTNode node) {
return true;
}
Visits the given type-specific AST node.
Params: - node – the AST note to visit
/**
* Visits the given type-specific AST node.
*
* @param node the AST note to visit
*/
protected void endVisitNode(ASTNode node) {
// do nothing
}
@Override
public void endVisit(AnnotationTypeDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(AnnotationTypeMemberDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(AnonymousClassDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(ArrayAccess node) {
endVisitNode(node);
}
@Override
public void endVisit(ArrayCreation node) {
endVisitNode(node);
}
@Override
public void endVisit(ArrayInitializer node) {
endVisitNode(node);
}
@Override
public void endVisit(ArrayType node) {
endVisitNode(node);
}
@Override
public void endVisit(AssertStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(Assignment node) {
endVisitNode(node);
}
@Override
public void endVisit(Block node) {
endVisitNode(node);
}
@Override
public void endVisit(BlockComment node) {
endVisitNode(node);
}
@Override
public void endVisit(BooleanLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(BreakStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(CastExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(CatchClause node) {
endVisitNode(node);
}
@Override
public void endVisit(CharacterLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(ClassInstanceCreation node) {
endVisitNode(node);
}
@Override
public void endVisit(CompilationUnit node) {
endVisitNode(node);
}
@Override
public void endVisit(ConditionalExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(ConstructorInvocation node) {
endVisitNode(node);
}
@Override
public void endVisit(ContinueStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(CreationReference node) {
endVisitNode(node);
}
@Override
public void endVisit(Dimension node) {
endVisitNode(node);
}
@Override
public void endVisit(DoStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(EmptyStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(EnhancedForStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(EnumConstantDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(EnumDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(ExportsDirective node) {
endVisitNode(node);
}
@Override
public void endVisit(ExpressionMethodReference node) {
endVisitNode(node);
}
@Override
public void endVisit(ExpressionStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(FieldAccess node) {
endVisitNode(node);
}
@Override
public void endVisit(FieldDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(ForStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(IfStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(ImportDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(InfixExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(Initializer node) {
endVisitNode(node);
}
@Override
public void endVisit(InstanceofExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(IntersectionType node) {
endVisitNode(node);
}
@Override
public void endVisit(Javadoc node) {
endVisitNode(node);
}
@Override
public void endVisit(LabeledStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(LambdaExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(LineComment node) {
endVisitNode(node);
}
@Override
public void endVisit(MarkerAnnotation node) {
endVisitNode(node);
}
@Override
public void endVisit(MemberRef node) {
endVisitNode(node);
}
@Override
public void endVisit(MemberValuePair node) {
endVisitNode(node);
}
@Override
public void endVisit(MethodDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(MethodInvocation node) {
endVisitNode(node);
}
@Override
public void endVisit(MethodRef node) {
endVisitNode(node);
}
@Override
public void endVisit(MethodRefParameter node) {
endVisitNode(node);
}
@Override
public void endVisit(Modifier node) {
endVisitNode(node);
}
@Override
public void endVisit(ModuleDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(ModuleModifier node) {
endVisitNode(node);
}
@Override
public void endVisit(NameQualifiedType node) {
endVisitNode(node);
}
@Override
public void endVisit(NormalAnnotation node) {
endVisitNode(node);
}
@Override
public void endVisit(NullLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(NumberLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(OpensDirective node) {
endVisitNode(node);
}
@Override
public void endVisit(PackageDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(ParameterizedType node) {
endVisitNode(node);
}
@Override
public void endVisit(ParenthesizedExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(PostfixExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(PrefixExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(PrimitiveType node) {
endVisitNode(node);
}
@Override
public void endVisit(ProvidesDirective node) {
endVisitNode(node);
}
@Override
public void endVisit(QualifiedName node) {
endVisitNode(node);
}
@Override
public void endVisit(QualifiedType node) {
endVisitNode(node);
}
@Override
public void endVisit(RequiresDirective node) {
endVisitNode(node);
}
@Override
public void endVisit(ReturnStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(SimpleName node) {
endVisitNode(node);
}
@Override
public void endVisit(SimpleType node) {
endVisitNode(node);
}
@Override
public void endVisit(SingleMemberAnnotation node) {
endVisitNode(node);
}
@Override
public void endVisit(SingleVariableDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(StringLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(SuperConstructorInvocation node) {
endVisitNode(node);
}
@Override
public void endVisit(SuperFieldAccess node) {
endVisitNode(node);
}
@Override
public void endVisit(SuperMethodInvocation node) {
endVisitNode(node);
}
@Override
public void endVisit(SuperMethodReference node) {
endVisitNode(node);
}
@Override
public void endVisit(SwitchCase node) {
endVisitNode(node);
}
@Override
public void endVisit(SwitchExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(SwitchStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(SynchronizedStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(TagElement node) {
endVisitNode(node);
}
@Override
public void endVisit(TextElement node) {
endVisitNode(node);
}
@Override
public void endVisit(ThisExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(ThrowStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(TryStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(TypeDeclaration node) {
endVisitNode(node);
}
@Override
public void endVisit(TypeDeclarationStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(TypeLiteral node) {
endVisitNode(node);
}
@Override
public void endVisit(TypeMethodReference node) {
endVisitNode(node);
}
@Override
public void endVisit(TypeParameter node) {
endVisitNode(node);
}
@Override
public void endVisit(UnionType node) {
endVisitNode(node);
}
@Override
public void endVisit(UsesDirective node) {
endVisitNode(node);
}
@Override
public void endVisit(VariableDeclarationExpression node) {
endVisitNode(node);
}
@Override
public void endVisit(VariableDeclarationFragment node) {
endVisitNode(node);
}
@Override
public void endVisit(VariableDeclarationStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(WhileStatement node) {
endVisitNode(node);
}
@Override
public void endVisit(WildcardType node) {
endVisitNode(node);
}
@Override
public boolean visit(AnnotationTypeDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(AnnotationTypeMemberDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(AnonymousClassDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(ArrayAccess node) {
return visitNode(node);
}
@Override
public boolean visit(ArrayCreation node) {
return visitNode(node);
}
@Override
public boolean visit(ArrayInitializer node) {
return visitNode(node);
}
@Override
public boolean visit(ArrayType node) {
return visitNode(node);
}
@Override
public boolean visit(AssertStatement node) {
return visitNode(node);
}
@Override
public boolean visit(Assignment node) {
return visitNode(node);
}
@Override
public boolean visit(Block node) {
return visitNode(node);
}
@Override
public boolean visit(BlockComment node) {
return visitNode(node);
}
@Override
public boolean visit(BooleanLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(BreakStatement node) {
return visitNode(node);
}
@Override
public boolean visit(CastExpression node) {
return visitNode(node);
}
@Override
public boolean visit(CatchClause node) {
return visitNode(node);
}
@Override
public boolean visit(CharacterLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(ClassInstanceCreation node) {
return visitNode(node);
}
@Override
public boolean visit(CompilationUnit node) {
return visitNode(node);
}
@Override
public boolean visit(ConditionalExpression node) {
return visitNode(node);
}
@Override
public boolean visit(ConstructorInvocation node) {
return visitNode(node);
}
@Override
public boolean visit(ContinueStatement node) {
return visitNode(node);
}
@Override
public boolean visit(CreationReference node) {
return visitNode(node);
}
@Override
public boolean visit(Dimension node) {
return visitNode(node);
}
@Override
public boolean visit(DoStatement node) {
return visitNode(node);
}
@Override
public boolean visit(EmptyStatement node) {
return visitNode(node);
}
@Override
public boolean visit(EnhancedForStatement node) {
return visitNode(node);
}
@Override
public boolean visit(EnumConstantDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(EnumDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(ExportsDirective node) {
return visitNode(node);
}
@Override
public boolean visit(ExpressionMethodReference node) {
return visitNode(node);
}
@Override
public boolean visit(ExpressionStatement node) {
return visitNode(node);
}
@Override
public boolean visit(FieldAccess node) {
return visitNode(node);
}
@Override
public boolean visit(FieldDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(ForStatement node) {
return visitNode(node);
}
@Override
public boolean visit(IfStatement node) {
return visitNode(node);
}
@Override
public boolean visit(ImportDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(InfixExpression node) {
return visitNode(node);
}
@Override
public boolean visit(Initializer node) {
return visitNode(node);
}
@Override
public boolean visit(InstanceofExpression node) {
return visitNode(node);
}
@Override
public boolean visit(IntersectionType node) {
return visitNode(node);
}
@Override
public boolean visit(Javadoc node) {
if (super.visit(node))
return visitNode(node);
else
return false;
}
@Override
public boolean visit(LabeledStatement node) {
return visitNode(node);
}
@Override
public boolean visit(LambdaExpression node) {
return visitNode(node);
}
@Override
public boolean visit(LineComment node) {
return visitNode(node);
}
@Override
public boolean visit(MarkerAnnotation node) {
return visitNode(node);
}
@Override
public boolean visit(MemberRef node) {
return visitNode(node);
}
@Override
public boolean visit(MemberValuePair node) {
return visitNode(node);
}
@Override
public boolean visit(MethodDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(MethodInvocation node) {
return visitNode(node);
}
@Override
public boolean visit(MethodRef node) {
return visitNode(node);
}
@Override
public boolean visit(MethodRefParameter node) {
return visitNode(node);
}
@Override
public boolean visit(Modifier node) {
return visitNode(node);
}
@Override
public boolean visit(ModuleDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(ModuleModifier node) {
return visitNode(node);
}
@Override
public boolean visit(NameQualifiedType node) {
return visitNode(node);
}
@Override
public boolean visit(NormalAnnotation node) {
return visitNode(node);
}
@Override
public boolean visit(NullLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(NumberLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(OpensDirective node) {
return visitNode(node);
}
@Override
public boolean visit(PackageDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(ParameterizedType node) {
return visitNode(node);
}
@Override
public boolean visit(ParenthesizedExpression node) {
return visitNode(node);
}
@Override
public boolean visit(PostfixExpression node) {
return visitNode(node);
}
@Override
public boolean visit(PrefixExpression node) {
return visitNode(node);
}
@Override
public boolean visit(PrimitiveType node) {
return visitNode(node);
}
@Override
public boolean visit(ProvidesDirective node) {
return visitNode(node);
}
@Override
public boolean visit(QualifiedName node) {
return visitNode(node);
}
@Override
public boolean visit(QualifiedType node) {
return visitNode(node);
}
@Override
public boolean visit(RequiresDirective node) {
return visitNode(node);
}
@Override
public boolean visit(ReturnStatement node) {
return visitNode(node);
}
@Override
public boolean visit(SimpleName node) {
return visitNode(node);
}
@Override
public boolean visit(SimpleType node) {
return visitNode(node);
}
@Override
public boolean visit(SingleMemberAnnotation node) {
return visitNode(node);
}
@Override
public boolean visit(SingleVariableDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(StringLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(SuperConstructorInvocation node) {
return visitNode(node);
}
@Override
public boolean visit(SuperFieldAccess node) {
return visitNode(node);
}
@Override
public boolean visit(SuperMethodInvocation node) {
return visitNode(node);
}
@Override
public boolean visit(SuperMethodReference node) {
return visitNode(node);
}
@Override
public boolean visit(SwitchCase node) {
return visitNode(node);
}
@Override
public boolean visit(SwitchExpression node) {
return visitNode(node);
}
@Override
public boolean visit(SwitchStatement node) {
return visitNode(node);
}
@Override
public boolean visit(SynchronizedStatement node) {
return visitNode(node);
}
@Override
public boolean visit(TagElement node) {
return visitNode(node);
}
@Override
public boolean visit(TextElement node) {
return visitNode(node);
}
@Override
public boolean visit(ThisExpression node) {
return visitNode(node);
}
@Override
public boolean visit(ThrowStatement node) {
return visitNode(node);
}
@Override
public boolean visit(TryStatement node) {
return visitNode(node);
}
@Override
public boolean visit(TypeDeclaration node) {
return visitNode(node);
}
@Override
public boolean visit(TypeDeclarationStatement node) {
return visitNode(node);
}
@Override
public boolean visit(TypeLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(TypeMethodReference node) {
return visitNode(node);
}
@Override
public boolean visit(TypeParameter node) {
return visitNode(node);
}
@Override
public boolean visit(TextBlock node) {
return visitNode(node);
}
@Override
public boolean visit(UnionType node) {
return visitNode(node);
}
@Override
public boolean visit(UsesDirective node) {
return visitNode(node);
}
@Override
public boolean visit(VariableDeclarationExpression node) {
return visitNode(node);
}
@Override
public boolean visit(VariableDeclarationFragment node) {
return visitNode(node);
}
@Override
public boolean visit(VariableDeclarationStatement node) {
return visitNode(node);
}
@Override
public boolean visit(WhileStatement node) {
return visitNode(node);
}
@Override
public boolean visit(WildcardType node) {
return visitNode(node);
}
@Override
public boolean visit(YieldStatement node) {
return visitNode(node);
}
}