diff options
Diffstat (limited to 'javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java')
-rw-r--r-- | javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java | 1297 |
1 files changed, 1297 insertions, 0 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java new file mode 100644 index 000000000..c7808641d --- /dev/null +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java @@ -0,0 +1,1297 @@ +/* + * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser. + * Copyright (C) 2011, 2013-2016 The JavaParser Team. + * + * This file is part of JavaParser. + * + * JavaParser can be used either under the terms of + * a) the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * b) the terms of the Apache License + * + * You should have received a copy of both licenses in LICENCE.LGPL and + * LICENCE.APACHE. Please refer to those files for details. + * + * JavaParser is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + */ +package com.github.javaparser.ast.visitor; + +import com.github.javaparser.ast.*; +import com.github.javaparser.ast.body.*; +import com.github.javaparser.ast.comments.BlockComment; +import com.github.javaparser.ast.comments.Comment; +import com.github.javaparser.ast.comments.JavadocComment; +import com.github.javaparser.ast.comments.LineComment; +import com.github.javaparser.ast.expr.*; +import com.github.javaparser.ast.modules.*; +import com.github.javaparser.ast.stmt.*; +import com.github.javaparser.ast.type.*; +import com.github.javaparser.utils.Pair; +import javax.annotation.Generated; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * This visitor can be used to save time when some specific nodes needs + * to be changed. To do that just extend this class and override the methods + * from the nodes who needs to be changed, returning the changed node. + * Returning null will remove the node. + * + * If a node is removed that was required in its parent node, + * the parent node will be removed too. + * + * @author Julio Vilmar Gesser + */ +public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> { + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final AnnotationDeclaration n, final A arg) { + NodeList<BodyDeclaration<?>> members = modifyList(n.getMembers(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setMembers(members); + n.setName(name); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final AnnotationMemberDeclaration n, final A arg) { + Expression defaultValue = n.getDefaultValue().map(s -> (Expression) s.accept(this, arg)).orElse(null); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Type type = (Type) n.getType().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || type == null) + return null; + n.setDefaultValue(defaultValue); + n.setName(name); + n.setType(type); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ArrayAccessExpr n, final A arg) { + Expression index = (Expression) n.getIndex().accept(this, arg); + Expression name = (Expression) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (index == null || name == null) + return null; + n.setIndex(index); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ArrayCreationExpr n, final A arg) { + Type elementType = (Type) n.getElementType().accept(this, arg); + ArrayInitializerExpr initializer = n.getInitializer().map(s -> (ArrayInitializerExpr) s.accept(this, arg)).orElse(null); + NodeList<ArrayCreationLevel> levels = modifyList(n.getLevels(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (elementType == null || levels.isEmpty()) + return null; + n.setElementType(elementType); + n.setInitializer(initializer); + n.setLevels(levels); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ArrayInitializerExpr n, final A arg) { + NodeList<Expression> values = modifyList(n.getValues(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setValues(values); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final AssertStmt n, final A arg) { + Expression check = (Expression) n.getCheck().accept(this, arg); + Expression message = n.getMessage().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (check == null) + return null; + n.setCheck(check); + n.setMessage(message); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final AssignExpr n, final A arg) { + Expression target = (Expression) n.getTarget().accept(this, arg); + Expression value = (Expression) n.getValue().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (target == null || value == null) + return null; + n.setTarget(target); + n.setValue(value); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final BinaryExpr n, final A arg) { + Expression left = (Expression) n.getLeft().accept(this, arg); + Expression right = (Expression) n.getRight().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (left == null) + return right; + if (right == null) + return left; + n.setLeft(left); + n.setRight(right); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final BlockStmt n, final A arg) { + NodeList<Statement> statements = modifyList(n.getStatements(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setStatements(statements); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final BooleanLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final BreakStmt n, final A arg) { + SimpleName label = n.getLabel().map(s -> (SimpleName) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setLabel(label); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final CastExpr n, final A arg) { + Expression expression = (Expression) n.getExpression().accept(this, arg); + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (expression == null || type == null) + return null; + n.setExpression(expression); + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final CatchClause n, final A arg) { + BlockStmt body = (BlockStmt) n.getBody().accept(this, arg); + Parameter parameter = (Parameter) n.getParameter().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || parameter == null) + return null; + n.setBody(body); + n.setParameter(parameter); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final CharLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ClassExpr n, final A arg) { + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null) + return null; + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ClassOrInterfaceDeclaration n, final A arg) { + NodeList<ClassOrInterfaceType> extendedTypes = modifyList(n.getExtendedTypes(), arg); + NodeList<ClassOrInterfaceType> implementedTypes = modifyList(n.getImplementedTypes(), arg); + NodeList<TypeParameter> typeParameters = modifyList(n.getTypeParameters(), arg); + NodeList<BodyDeclaration<?>> members = modifyList(n.getMembers(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setExtendedTypes(extendedTypes); + n.setImplementedTypes(implementedTypes); + n.setTypeParameters(typeParameters); + n.setMembers(members); + n.setName(name); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ClassOrInterfaceType n, final A arg) { + SimpleName name = (SimpleName) n.getName().accept(this, arg); + ClassOrInterfaceType scope = n.getScope().map(s -> (ClassOrInterfaceType) s.accept(this, arg)).orElse(null); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setScope(scope); + n.setTypeArguments(typeArguments); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final CompilationUnit n, final A arg) { + NodeList<ImportDeclaration> imports = modifyList(n.getImports(), arg); + ModuleDeclaration module = n.getModule().map(s -> (ModuleDeclaration) s.accept(this, arg)).orElse(null); + PackageDeclaration packageDeclaration = n.getPackageDeclaration().map(s -> (PackageDeclaration) s.accept(this, arg)).orElse(null); + NodeList<TypeDeclaration<?>> types = modifyList(n.getTypes(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setImports(imports); + n.setModule(module); + n.setPackageDeclaration(packageDeclaration); + n.setTypes(types); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ConditionalExpr n, final A arg) { + Expression condition = (Expression) n.getCondition().accept(this, arg); + Expression elseExpr = (Expression) n.getElseExpr().accept(this, arg); + Expression thenExpr = (Expression) n.getThenExpr().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (condition == null || elseExpr == null || thenExpr == null) + return null; + n.setCondition(condition); + n.setElseExpr(elseExpr); + n.setThenExpr(thenExpr); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ConstructorDeclaration n, final A arg) { + BlockStmt body = (BlockStmt) n.getBody().accept(this, arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<Parameter> parameters = modifyList(n.getParameters(), arg); + ReceiverParameter receiverParameter = n.getReceiverParameter().map(s -> (ReceiverParameter) s.accept(this, arg)).orElse(null); + NodeList<ReferenceType> thrownExceptions = modifyList(n.getThrownExceptions(), arg); + NodeList<TypeParameter> typeParameters = modifyList(n.getTypeParameters(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || name == null) + return null; + n.setBody(body); + n.setName(name); + n.setParameters(parameters); + n.setReceiverParameter(receiverParameter); + n.setThrownExceptions(thrownExceptions); + n.setTypeParameters(typeParameters); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ContinueStmt n, final A arg) { + SimpleName label = n.getLabel().map(s -> (SimpleName) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setLabel(label); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final DoStmt n, final A arg) { + Statement body = (Statement) n.getBody().accept(this, arg); + Expression condition = (Expression) n.getCondition().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || condition == null) + return null; + n.setBody(body); + n.setCondition(condition); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final DoubleLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final EmptyStmt n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final EnclosedExpr n, final A arg) { + Expression inner = (Expression) n.getInner().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (inner == null) + return null; + n.setInner(inner); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final EnumConstantDeclaration n, final A arg) { + NodeList<Expression> arguments = modifyList(n.getArguments(), arg); + NodeList<BodyDeclaration<?>> classBody = modifyList(n.getClassBody(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setArguments(arguments); + n.setClassBody(classBody); + n.setName(name); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final EnumDeclaration n, final A arg) { + NodeList<EnumConstantDeclaration> entries = modifyList(n.getEntries(), arg); + NodeList<ClassOrInterfaceType> implementedTypes = modifyList(n.getImplementedTypes(), arg); + NodeList<BodyDeclaration<?>> members = modifyList(n.getMembers(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setEntries(entries); + n.setImplementedTypes(implementedTypes); + n.setMembers(members); + n.setName(name); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ExplicitConstructorInvocationStmt n, final A arg) { + NodeList<Expression> arguments = modifyList(n.getArguments(), arg); + Expression expression = n.getExpression().map(s -> (Expression) s.accept(this, arg)).orElse(null); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setArguments(arguments); + n.setExpression(expression); + n.setTypeArguments(typeArguments); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ExpressionStmt n, final A arg) { + Expression expression = (Expression) n.getExpression().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (expression == null) + return null; + n.setExpression(expression); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final FieldAccessExpr n, final A arg) { + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Expression scope = (Expression) n.getScope().accept(this, arg); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || scope == null) + return null; + n.setName(name); + n.setScope(scope); + n.setTypeArguments(typeArguments); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final FieldDeclaration n, final A arg) { + NodeList<VariableDeclarator> variables = modifyList(n.getVariables(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (variables.isEmpty()) + return null; + n.setVariables(variables); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ForeachStmt n, final A arg) { + Statement body = (Statement) n.getBody().accept(this, arg); + Expression iterable = (Expression) n.getIterable().accept(this, arg); + VariableDeclarationExpr variable = (VariableDeclarationExpr) n.getVariable().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || iterable == null || variable == null) + return null; + n.setBody(body); + n.setIterable(iterable); + n.setVariable(variable); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ForStmt n, final A arg) { + Statement body = (Statement) n.getBody().accept(this, arg); + Expression compare = n.getCompare().map(s -> (Expression) s.accept(this, arg)).orElse(null); + NodeList<Expression> initialization = modifyList(n.getInitialization(), arg); + NodeList<Expression> update = modifyList(n.getUpdate(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null) + return null; + n.setBody(body); + n.setCompare(compare); + n.setInitialization(initialization); + n.setUpdate(update); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final IfStmt n, final A arg) { + Expression condition = (Expression) n.getCondition().accept(this, arg); + Statement elseStmt = n.getElseStmt().map(s -> (Statement) s.accept(this, arg)).orElse(null); + Statement thenStmt = (Statement) n.getThenStmt().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (condition == null || thenStmt == null) + return null; + n.setCondition(condition); + n.setElseStmt(elseStmt); + n.setThenStmt(thenStmt); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final InitializerDeclaration n, final A arg) { + BlockStmt body = (BlockStmt) n.getBody().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null) + return null; + n.setBody(body); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final InstanceOfExpr n, final A arg) { + Expression expression = (Expression) n.getExpression().accept(this, arg); + ReferenceType type = (ReferenceType) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (expression == null || type == null) + return null; + n.setExpression(expression); + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final IntegerLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final JavadocComment n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final LabeledStmt n, final A arg) { + SimpleName label = (SimpleName) n.getLabel().accept(this, arg); + Statement statement = (Statement) n.getStatement().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (label == null || statement == null) + return null; + n.setLabel(label); + n.setStatement(statement); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final LongLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final MarkerAnnotationExpr n, final A arg) { + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final MemberValuePair n, final A arg) { + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Expression value = (Expression) n.getValue().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || value == null) + return null; + n.setName(name); + n.setValue(value); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final MethodCallExpr n, final A arg) { + NodeList<Expression> arguments = modifyList(n.getArguments(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Expression scope = n.getScope().map(s -> (Expression) s.accept(this, arg)).orElse(null); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setArguments(arguments); + n.setName(name); + n.setScope(scope); + n.setTypeArguments(typeArguments); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final MethodDeclaration n, final A arg) { + BlockStmt body = n.getBody().map(s -> (BlockStmt) s.accept(this, arg)).orElse(null); + Type type = (Type) n.getType().accept(this, arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<Parameter> parameters = modifyList(n.getParameters(), arg); + ReceiverParameter receiverParameter = n.getReceiverParameter().map(s -> (ReceiverParameter) s.accept(this, arg)).orElse(null); + NodeList<ReferenceType> thrownExceptions = modifyList(n.getThrownExceptions(), arg); + NodeList<TypeParameter> typeParameters = modifyList(n.getTypeParameters(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null || name == null) + return null; + n.setBody(body); + n.setType(type); + n.setName(name); + n.setParameters(parameters); + n.setReceiverParameter(receiverParameter); + n.setThrownExceptions(thrownExceptions); + n.setTypeParameters(typeParameters); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final NameExpr n, final A arg) { + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final NormalAnnotationExpr n, final A arg) { + NodeList<MemberValuePair> pairs = modifyList(n.getPairs(), arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setPairs(pairs); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final NullLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ObjectCreationExpr n, final A arg) { + NodeList<BodyDeclaration<?>> anonymousClassBody = modifyList(n.getAnonymousClassBody(), arg); + NodeList<Expression> arguments = modifyList(n.getArguments(), arg); + Expression scope = n.getScope().map(s -> (Expression) s.accept(this, arg)).orElse(null); + ClassOrInterfaceType type = (ClassOrInterfaceType) n.getType().accept(this, arg); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null) + return null; + n.setAnonymousClassBody(anonymousClassBody); + n.setArguments(arguments); + n.setScope(scope); + n.setType(type); + n.setTypeArguments(typeArguments); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final PackageDeclaration n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setAnnotations(annotations); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final Parameter n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Type type = (Type) n.getType().accept(this, arg); + NodeList<AnnotationExpr> varArgsAnnotations = modifyList(n.getVarArgsAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || type == null) + return null; + n.setAnnotations(annotations); + n.setName(name); + n.setType(type); + n.setVarArgsAnnotations(varArgsAnnotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final Name n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Name qualifier = n.getQualifier().map(s -> (Name) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setQualifier(qualifier); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final PrimitiveType n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SimpleName n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ArrayType n, final A arg) { + Type componentType = (Type) n.getComponentType().accept(this, arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (componentType == null) + return null; + n.setComponentType(componentType); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ArrayCreationLevel n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Expression dimension = n.getDimension().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setDimension(dimension); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final IntersectionType n, final A arg) { + NodeList<ReferenceType> elements = modifyList(n.getElements(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (elements.isEmpty()) + return null; + n.setElements(elements); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final UnionType n, final A arg) { + NodeList<ReferenceType> elements = modifyList(n.getElements(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (elements.isEmpty()) + return null; + n.setElements(elements); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ReturnStmt n, final A arg) { + Expression expression = n.getExpression().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setExpression(expression); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SingleMemberAnnotationExpr n, final A arg) { + Expression memberValue = (Expression) n.getMemberValue().accept(this, arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (memberValue == null || name == null) + return null; + n.setMemberValue(memberValue); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final StringLiteralExpr n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SuperExpr n, final A arg) { + Expression classExpr = n.getClassExpr().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setClassExpr(classExpr); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SwitchEntryStmt n, final A arg) { + Expression label = n.getLabel().map(s -> (Expression) s.accept(this, arg)).orElse(null); + NodeList<Statement> statements = modifyList(n.getStatements(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setLabel(label); + n.setStatements(statements); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SwitchStmt n, final A arg) { + NodeList<SwitchEntryStmt> entries = modifyList(n.getEntries(), arg); + Expression selector = (Expression) n.getSelector().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (selector == null) + return null; + n.setEntries(entries); + n.setSelector(selector); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final SynchronizedStmt n, final A arg) { + BlockStmt body = (BlockStmt) n.getBody().accept(this, arg); + Expression expression = (Expression) n.getExpression().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || expression == null) + return null; + n.setBody(body); + n.setExpression(expression); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ThisExpr n, final A arg) { + Expression classExpr = n.getClassExpr().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setClassExpr(classExpr); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ThrowStmt n, final A arg) { + Expression expression = (Expression) n.getExpression().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (expression == null) + return null; + n.setExpression(expression); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final TryStmt n, final A arg) { + NodeList<CatchClause> catchClauses = modifyList(n.getCatchClauses(), arg); + BlockStmt finallyBlock = n.getFinallyBlock().map(s -> (BlockStmt) s.accept(this, arg)).orElse(null); + NodeList<Expression> resources = modifyList(n.getResources(), arg); + BlockStmt tryBlock = (BlockStmt) n.getTryBlock().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (tryBlock == null) + return null; + n.setCatchClauses(catchClauses); + n.setFinallyBlock(finallyBlock); + n.setResources(resources); + n.setTryBlock(tryBlock); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final LocalClassDeclarationStmt n, final A arg) { + ClassOrInterfaceDeclaration classDeclaration = (ClassOrInterfaceDeclaration) n.getClassDeclaration().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (classDeclaration == null) + return null; + n.setClassDeclaration(classDeclaration); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final TypeParameter n, final A arg) { + SimpleName name = (SimpleName) n.getName().accept(this, arg); + NodeList<ClassOrInterfaceType> typeBound = modifyList(n.getTypeBound(), arg); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setTypeBound(typeBound); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final UnaryExpr n, final A arg) { + Expression expression = (Expression) n.getExpression().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (expression == null) + return null; + n.setExpression(expression); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final UnknownType n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final VariableDeclarationExpr n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + NodeList<VariableDeclarator> variables = modifyList(n.getVariables(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (variables.isEmpty()) + return null; + n.setAnnotations(annotations); + n.setVariables(variables); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final VariableDeclarator n, final A arg) { + Expression initializer = n.getInitializer().map(s -> (Expression) s.accept(this, arg)).orElse(null); + SimpleName name = (SimpleName) n.getName().accept(this, arg); + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || type == null) + return null; + n.setInitializer(initializer); + n.setName(name); + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final VoidType n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final WhileStmt n, final A arg) { + Statement body = (Statement) n.getBody().accept(this, arg); + Expression condition = (Expression) n.getCondition().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null || condition == null) + return null; + n.setBody(body); + n.setCondition(condition); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final WildcardType n, final A arg) { + ReferenceType extendedType = n.getExtendedType().map(s -> (ReferenceType) s.accept(this, arg)).orElse(null); + ReferenceType superType = n.getSuperType().map(s -> (ReferenceType) s.accept(this, arg)).orElse(null); + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setExtendedType(extendedType); + n.setSuperType(superType); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final LambdaExpr n, final A arg) { + Statement body = (Statement) n.getBody().accept(this, arg); + NodeList<Parameter> parameters = modifyList(n.getParameters(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (body == null) + return null; + n.setBody(body); + n.setParameters(parameters); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final MethodReferenceExpr n, final A arg) { + Expression scope = (Expression) n.getScope().accept(this, arg); + NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (scope == null) + return null; + n.setScope(scope); + n.setTypeArguments(typeArguments); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final TypeExpr n, final A arg) { + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null) + return null; + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + public Visitable visit(NodeList n, A arg) { + if (n.isEmpty()) { + return n; + } + final List<Pair<Node, Node>> changeList = new ArrayList<>(); + final List<Node> listCopy = new ArrayList<>(n); + for (Node node : listCopy) { + final Node newNode = (Node) node.accept(this, arg); + changeList.add(new Pair<>(node, newNode)); + } + for (Pair<Node, Node> change : changeList) { + if (change.b == null) { + n.remove(change.a); + } else { + final int i = n.indexOf(change.a); + // If the user removed this item by hand, ignore the change. + if (i != -1) { + n.set(i, change.b); + } + } + } + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Node visit(final ImportDeclaration n, final A arg) { + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final BlockComment n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final LineComment n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + private <N extends Node> NodeList<N> modifyList(NodeList<N> list, A arg) { + return (NodeList<N>) list.accept(this, arg); + } + + private <N extends Node> NodeList<N> modifyList(Optional<NodeList<N>> list, A arg) { + return list.map(ns -> modifyList(ns, arg)).orElse(null); + } + + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleDeclaration n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + NodeList<ModuleStmt> moduleStmts = modifyList(n.getModuleStmts(), arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setAnnotations(annotations); + n.setModuleStmts(moduleStmts); + n.setName(name); + n.setComment(comment); + return n; + } + + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleRequiresStmt n, final A arg) { + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setName(name); + n.setComment(comment); + return n; + } + + @Override() + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleExportsStmt n, final A arg) { + NodeList<Name> moduleNames = modifyList(n.getModuleNames(), arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setModuleNames(moduleNames); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override() + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleProvidesStmt n, final A arg) { + Type type = (Type) n.getType().accept(this, arg); + NodeList<Type> withTypes = modifyList(n.getWithTypes(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null) + return null; + n.setType(type); + n.setWithTypes(withTypes); + n.setComment(comment); + return n; + } + + @Override() + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleUsesStmt n, final A arg) { + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (type == null) + return null; + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ModuleOpensStmt n, final A arg) { + NodeList<Name> moduleNames = modifyList(n.getModuleNames(), arg); + Name name = (Name) n.getName().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null) + return null; + n.setModuleNames(moduleNames); + n.setName(name); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final UnparsableStmt n, final A arg) { + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setComment(comment); + return n; + } + + @Override + @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") + public Visitable visit(final ReceiverParameter n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Name name = (Name) n.getName().accept(this, arg); + Type type = (Type) n.getType().accept(this, arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + if (name == null || type == null) + return null; + n.setAnnotations(annotations); + n.setName(name); + n.setType(type); + n.setComment(comment); + return n; + } + + @Override + public Visitable visit(final VarType n, final A arg) { + NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg); + Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); + n.setAnnotations(annotations); + n.setComment(comment); + return n; + } +} |