Home | History | Annotate | Download | only in visitor
      1 /*
      2  * Copyright (C) 2007-2010 Jlio Vilmar Gesser.
      3  * Copyright (C) 2011, 2013-2016 The JavaParser Team.
      4  *
      5  * This file is part of JavaParser.
      6  *
      7  * JavaParser can be used either under the terms of
      8  * a) the GNU Lesser General Public License as published by
      9  *     the Free Software Foundation, either version 3 of the License, or
     10  *     (at your option) any later version.
     11  * b) the terms of the Apache License
     12  *
     13  * You should have received a copy of both licenses in LICENCE.LGPL and
     14  * LICENCE.APACHE. Please refer to those files for details.
     15  *
     16  * JavaParser is distributed in the hope that it will be useful,
     17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     19  * GNU Lesser General Public License for more details.
     20  */
     21 package com.github.javaparser.ast.visitor;
     22 
     23 import com.github.javaparser.ast.*;
     24 import com.github.javaparser.ast.body.*;
     25 import com.github.javaparser.ast.comments.BlockComment;
     26 import com.github.javaparser.ast.comments.JavadocComment;
     27 import com.github.javaparser.ast.comments.LineComment;
     28 import com.github.javaparser.ast.expr.*;
     29 import com.github.javaparser.ast.modules.*;
     30 import com.github.javaparser.ast.stmt.*;
     31 import com.github.javaparser.ast.type.*;
     32 import java.util.List;
     33 import java.util.Optional;
     34 import javax.annotation.Generated;
     35 
     36 /**
     37  * A visitor that calculates deep node equality by comparing all properties and child nodes of the node.
     38  *
     39  * @author Julio Vilmar Gesser
     40  */
     41 public class EqualsVisitor implements GenericVisitor<Boolean, Visitable> {
     42 
     43     private static final EqualsVisitor SINGLETON = new EqualsVisitor();
     44 
     45     public static boolean equals(final Node n, final Node n2) {
     46         return SINGLETON.nodeEquals(n, n2);
     47     }
     48 
     49     private EqualsVisitor() {
     50     // hide constructor
     51     }
     52 
     53     /**
     54      * Check for equality that can be applied to each kind of node,
     55      * to not repeat it in every method we store that here.
     56      */
     57     private boolean commonNodeEquality(Node n, Node n2) {
     58         if (!nodeEquals(n.getComment(), n2.getComment())) {
     59             return false;
     60         }
     61         return nodesEquals(n.getOrphanComments(), n2.getOrphanComments());
     62     }
     63 
     64     private <T extends Node> boolean nodesEquals(final List<T> nodes1, final List<T> nodes2) {
     65         if (nodes1 == null) {
     66             return nodes2 == null;
     67         } else if (nodes2 == null) {
     68             return false;
     69         }
     70         if (nodes1.size() != nodes2.size()) {
     71             return false;
     72         }
     73         for (int i = 0; i < nodes1.size(); i++) {
     74             if (!nodeEquals(nodes1.get(i), nodes2.get(i))) {
     75                 return false;
     76             }
     77         }
     78         return true;
     79     }
     80 
     81     private <N extends Node> boolean nodesEquals(NodeList<N> n, NodeList<N> n2) {
     82         if (n == n2) {
     83             return true;
     84         }
     85         if (n == null || n2 == null) {
     86             return false;
     87         }
     88         if (n.size() != n2.size()) {
     89             return false;
     90         }
     91         for (int i = 0; i < n.size(); i++) {
     92             if (!nodeEquals(n.get(i), n2.get(i))) {
     93                 return false;
     94             }
     95         }
     96         return true;
     97     }
     98 
     99     private <T extends Node> boolean nodeEquals(final T n, final T n2) {
    100         if (n == n2) {
    101             return true;
    102         }
    103         if (n == null || n2 == null) {
    104             return false;
    105         }
    106         if (n.getClass() != n2.getClass()) {
    107             return false;
    108         }
    109         if (!commonNodeEquality(n, n2)) {
    110             return false;
    111         }
    112         return n.accept(this, n2);
    113     }
    114 
    115     private <T extends Node> boolean nodeEquals(final Optional<T> n, final Optional<T> n2) {
    116         return nodeEquals(n.orElse(null), n2.orElse(null));
    117     }
    118 
    119     private <T extends Node> boolean nodesEquals(final Optional<NodeList<T>> n, final Optional<NodeList<T>> n2) {
    120         return nodesEquals(n.orElse(null), n2.orElse(null));
    121     }
    122 
    123     private boolean objEquals(final Object n, final Object n2) {
    124         if (n == n2) {
    125             return true;
    126         }
    127         if (n == null || n2 == null) {
    128             return false;
    129         }
    130         return n.equals(n2);
    131     }
    132 
    133     @Override
    134     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    135     public Boolean visit(final CompilationUnit n, final Visitable arg) {
    136         final CompilationUnit n2 = (CompilationUnit) arg;
    137         if (!nodesEquals(n.getImports(), n2.getImports()))
    138             return false;
    139         if (!nodeEquals(n.getModule(), n2.getModule()))
    140             return false;
    141         if (!nodeEquals(n.getPackageDeclaration(), n2.getPackageDeclaration()))
    142             return false;
    143         if (!nodesEquals(n.getTypes(), n2.getTypes()))
    144             return false;
    145         if (!nodeEquals(n.getComment(), n2.getComment()))
    146             return false;
    147         return true;
    148     }
    149 
    150     @Override
    151     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    152     public Boolean visit(final PackageDeclaration n, final Visitable arg) {
    153         final PackageDeclaration n2 = (PackageDeclaration) arg;
    154         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    155             return false;
    156         if (!nodeEquals(n.getName(), n2.getName()))
    157             return false;
    158         if (!nodeEquals(n.getComment(), n2.getComment()))
    159             return false;
    160         return true;
    161     }
    162 
    163     @Override
    164     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    165     public Boolean visit(final TypeParameter n, final Visitable arg) {
    166         final TypeParameter n2 = (TypeParameter) arg;
    167         if (!nodeEquals(n.getName(), n2.getName()))
    168             return false;
    169         if (!nodesEquals(n.getTypeBound(), n2.getTypeBound()))
    170             return false;
    171         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    172             return false;
    173         if (!nodeEquals(n.getComment(), n2.getComment()))
    174             return false;
    175         return true;
    176     }
    177 
    178     @Override
    179     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    180     public Boolean visit(final LineComment n, final Visitable arg) {
    181         final LineComment n2 = (LineComment) arg;
    182         if (!objEquals(n.getContent(), n2.getContent()))
    183             return false;
    184         if (!nodeEquals(n.getComment(), n2.getComment()))
    185             return false;
    186         return true;
    187     }
    188 
    189     @Override
    190     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    191     public Boolean visit(final BlockComment n, final Visitable arg) {
    192         final BlockComment n2 = (BlockComment) arg;
    193         if (!objEquals(n.getContent(), n2.getContent()))
    194             return false;
    195         if (!nodeEquals(n.getComment(), n2.getComment()))
    196             return false;
    197         return true;
    198     }
    199 
    200     @Override
    201     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    202     public Boolean visit(final ClassOrInterfaceDeclaration n, final Visitable arg) {
    203         final ClassOrInterfaceDeclaration n2 = (ClassOrInterfaceDeclaration) arg;
    204         if (!nodesEquals(n.getExtendedTypes(), n2.getExtendedTypes()))
    205             return false;
    206         if (!nodesEquals(n.getImplementedTypes(), n2.getImplementedTypes()))
    207             return false;
    208         if (!objEquals(n.isInterface(), n2.isInterface()))
    209             return false;
    210         if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
    211             return false;
    212         if (!nodesEquals(n.getMembers(), n2.getMembers()))
    213             return false;
    214         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    215             return false;
    216         if (!nodeEquals(n.getName(), n2.getName()))
    217             return false;
    218         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    219             return false;
    220         if (!nodeEquals(n.getComment(), n2.getComment()))
    221             return false;
    222         return true;
    223     }
    224 
    225     @Override
    226     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    227     public Boolean visit(final EnumDeclaration n, final Visitable arg) {
    228         final EnumDeclaration n2 = (EnumDeclaration) arg;
    229         if (!nodesEquals(n.getEntries(), n2.getEntries()))
    230             return false;
    231         if (!nodesEquals(n.getImplementedTypes(), n2.getImplementedTypes()))
    232             return false;
    233         if (!nodesEquals(n.getMembers(), n2.getMembers()))
    234             return false;
    235         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    236             return false;
    237         if (!nodeEquals(n.getName(), n2.getName()))
    238             return false;
    239         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    240             return false;
    241         if (!nodeEquals(n.getComment(), n2.getComment()))
    242             return false;
    243         return true;
    244     }
    245 
    246     @Override
    247     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    248     public Boolean visit(final EnumConstantDeclaration n, final Visitable arg) {
    249         final EnumConstantDeclaration n2 = (EnumConstantDeclaration) arg;
    250         if (!nodesEquals(n.getArguments(), n2.getArguments()))
    251             return false;
    252         if (!nodesEquals(n.getClassBody(), n2.getClassBody()))
    253             return false;
    254         if (!nodeEquals(n.getName(), n2.getName()))
    255             return false;
    256         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    257             return false;
    258         if (!nodeEquals(n.getComment(), n2.getComment()))
    259             return false;
    260         return true;
    261     }
    262 
    263     @Override
    264     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    265     public Boolean visit(final AnnotationDeclaration n, final Visitable arg) {
    266         final AnnotationDeclaration n2 = (AnnotationDeclaration) arg;
    267         if (!nodesEquals(n.getMembers(), n2.getMembers()))
    268             return false;
    269         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    270             return false;
    271         if (!nodeEquals(n.getName(), n2.getName()))
    272             return false;
    273         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    274             return false;
    275         if (!nodeEquals(n.getComment(), n2.getComment()))
    276             return false;
    277         return true;
    278     }
    279 
    280     @Override
    281     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    282     public Boolean visit(final AnnotationMemberDeclaration n, final Visitable arg) {
    283         final AnnotationMemberDeclaration n2 = (AnnotationMemberDeclaration) arg;
    284         if (!nodeEquals(n.getDefaultValue(), n2.getDefaultValue()))
    285             return false;
    286         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    287             return false;
    288         if (!nodeEquals(n.getName(), n2.getName()))
    289             return false;
    290         if (!nodeEquals(n.getType(), n2.getType()))
    291             return false;
    292         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    293             return false;
    294         if (!nodeEquals(n.getComment(), n2.getComment()))
    295             return false;
    296         return true;
    297     }
    298 
    299     @Override
    300     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    301     public Boolean visit(final FieldDeclaration n, final Visitable arg) {
    302         final FieldDeclaration n2 = (FieldDeclaration) arg;
    303         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    304             return false;
    305         if (!nodesEquals(n.getVariables(), n2.getVariables()))
    306             return false;
    307         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    308             return false;
    309         if (!nodeEquals(n.getComment(), n2.getComment()))
    310             return false;
    311         return true;
    312     }
    313 
    314     @Override
    315     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    316     public Boolean visit(final VariableDeclarator n, final Visitable arg) {
    317         final VariableDeclarator n2 = (VariableDeclarator) arg;
    318         if (!nodeEquals(n.getInitializer(), n2.getInitializer()))
    319             return false;
    320         if (!nodeEquals(n.getName(), n2.getName()))
    321             return false;
    322         if (!nodeEquals(n.getType(), n2.getType()))
    323             return false;
    324         if (!nodeEquals(n.getComment(), n2.getComment()))
    325             return false;
    326         return true;
    327     }
    328 
    329     @Override
    330     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    331     public Boolean visit(final ConstructorDeclaration n, final Visitable arg) {
    332         final ConstructorDeclaration n2 = (ConstructorDeclaration) arg;
    333         if (!nodeEquals(n.getBody(), n2.getBody()))
    334             return false;
    335         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    336             return false;
    337         if (!nodeEquals(n.getName(), n2.getName()))
    338             return false;
    339         if (!nodesEquals(n.getParameters(), n2.getParameters()))
    340             return false;
    341         if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
    342             return false;
    343         if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
    344             return false;
    345         if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
    346             return false;
    347         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    348             return false;
    349         if (!nodeEquals(n.getComment(), n2.getComment()))
    350             return false;
    351         return true;
    352     }
    353 
    354     @Override
    355     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    356     public Boolean visit(final MethodDeclaration n, final Visitable arg) {
    357         final MethodDeclaration n2 = (MethodDeclaration) arg;
    358         if (!nodeEquals(n.getBody(), n2.getBody()))
    359             return false;
    360         if (!nodeEquals(n.getType(), n2.getType()))
    361             return false;
    362         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    363             return false;
    364         if (!nodeEquals(n.getName(), n2.getName()))
    365             return false;
    366         if (!nodesEquals(n.getParameters(), n2.getParameters()))
    367             return false;
    368         if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
    369             return false;
    370         if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
    371             return false;
    372         if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
    373             return false;
    374         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    375             return false;
    376         if (!nodeEquals(n.getComment(), n2.getComment()))
    377             return false;
    378         return true;
    379     }
    380 
    381     @Override
    382     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    383     public Boolean visit(final Parameter n, final Visitable arg) {
    384         final Parameter n2 = (Parameter) arg;
    385         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    386             return false;
    387         if (!objEquals(n.isVarArgs(), n2.isVarArgs()))
    388             return false;
    389         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    390             return false;
    391         if (!nodeEquals(n.getName(), n2.getName()))
    392             return false;
    393         if (!nodeEquals(n.getType(), n2.getType()))
    394             return false;
    395         if (!nodesEquals(n.getVarArgsAnnotations(), n2.getVarArgsAnnotations()))
    396             return false;
    397         if (!nodeEquals(n.getComment(), n2.getComment()))
    398             return false;
    399         return true;
    400     }
    401 
    402     @Override
    403     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    404     public Boolean visit(final InitializerDeclaration n, final Visitable arg) {
    405         final InitializerDeclaration n2 = (InitializerDeclaration) arg;
    406         if (!nodeEquals(n.getBody(), n2.getBody()))
    407             return false;
    408         if (!objEquals(n.isStatic(), n2.isStatic()))
    409             return false;
    410         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    411             return false;
    412         if (!nodeEquals(n.getComment(), n2.getComment()))
    413             return false;
    414         return true;
    415     }
    416 
    417     @Override
    418     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    419     public Boolean visit(final JavadocComment n, final Visitable arg) {
    420         final JavadocComment n2 = (JavadocComment) arg;
    421         if (!objEquals(n.getContent(), n2.getContent()))
    422             return false;
    423         if (!nodeEquals(n.getComment(), n2.getComment()))
    424             return false;
    425         return true;
    426     }
    427 
    428     @Override
    429     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    430     public Boolean visit(final ClassOrInterfaceType n, final Visitable arg) {
    431         final ClassOrInterfaceType n2 = (ClassOrInterfaceType) arg;
    432         if (!nodeEquals(n.getName(), n2.getName()))
    433             return false;
    434         if (!nodeEquals(n.getScope(), n2.getScope()))
    435             return false;
    436         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
    437             return false;
    438         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    439             return false;
    440         if (!nodeEquals(n.getComment(), n2.getComment()))
    441             return false;
    442         return true;
    443     }
    444 
    445     @Override
    446     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    447     public Boolean visit(final PrimitiveType n, final Visitable arg) {
    448         final PrimitiveType n2 = (PrimitiveType) arg;
    449         if (!objEquals(n.getType(), n2.getType()))
    450             return false;
    451         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    452             return false;
    453         if (!nodeEquals(n.getComment(), n2.getComment()))
    454             return false;
    455         return true;
    456     }
    457 
    458     @Override
    459     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    460     public Boolean visit(final ArrayType n, final Visitable arg) {
    461         final ArrayType n2 = (ArrayType) arg;
    462         if (!nodeEquals(n.getComponentType(), n2.getComponentType()))
    463             return false;
    464         if (!objEquals(n.getOrigin(), n2.getOrigin()))
    465             return false;
    466         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    467             return false;
    468         if (!nodeEquals(n.getComment(), n2.getComment()))
    469             return false;
    470         return true;
    471     }
    472 
    473     @Override
    474     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    475     public Boolean visit(final ArrayCreationLevel n, final Visitable arg) {
    476         final ArrayCreationLevel n2 = (ArrayCreationLevel) arg;
    477         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    478             return false;
    479         if (!nodeEquals(n.getDimension(), n2.getDimension()))
    480             return false;
    481         if (!nodeEquals(n.getComment(), n2.getComment()))
    482             return false;
    483         return true;
    484     }
    485 
    486     @Override
    487     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    488     public Boolean visit(final IntersectionType n, final Visitable arg) {
    489         final IntersectionType n2 = (IntersectionType) arg;
    490         if (!nodesEquals(n.getElements(), n2.getElements()))
    491             return false;
    492         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    493             return false;
    494         if (!nodeEquals(n.getComment(), n2.getComment()))
    495             return false;
    496         return true;
    497     }
    498 
    499     @Override
    500     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    501     public Boolean visit(final UnionType n, final Visitable arg) {
    502         final UnionType n2 = (UnionType) arg;
    503         if (!nodesEquals(n.getElements(), n2.getElements()))
    504             return false;
    505         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    506             return false;
    507         if (!nodeEquals(n.getComment(), n2.getComment()))
    508             return false;
    509         return true;
    510     }
    511 
    512     @Override
    513     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    514     public Boolean visit(final VoidType n, final Visitable arg) {
    515         final VoidType n2 = (VoidType) arg;
    516         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    517             return false;
    518         if (!nodeEquals(n.getComment(), n2.getComment()))
    519             return false;
    520         return true;
    521     }
    522 
    523     @Override
    524     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    525     public Boolean visit(final WildcardType n, final Visitable arg) {
    526         final WildcardType n2 = (WildcardType) arg;
    527         if (!nodeEquals(n.getExtendedType(), n2.getExtendedType()))
    528             return false;
    529         if (!nodeEquals(n.getSuperType(), n2.getSuperType()))
    530             return false;
    531         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    532             return false;
    533         if (!nodeEquals(n.getComment(), n2.getComment()))
    534             return false;
    535         return true;
    536     }
    537 
    538     @Override
    539     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    540     public Boolean visit(final UnknownType n, final Visitable arg) {
    541         final UnknownType n2 = (UnknownType) arg;
    542         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    543             return false;
    544         if (!nodeEquals(n.getComment(), n2.getComment()))
    545             return false;
    546         return true;
    547     }
    548 
    549     @Override
    550     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    551     public Boolean visit(final ArrayAccessExpr n, final Visitable arg) {
    552         final ArrayAccessExpr n2 = (ArrayAccessExpr) arg;
    553         if (!nodeEquals(n.getIndex(), n2.getIndex()))
    554             return false;
    555         if (!nodeEquals(n.getName(), n2.getName()))
    556             return false;
    557         if (!nodeEquals(n.getComment(), n2.getComment()))
    558             return false;
    559         return true;
    560     }
    561 
    562     @Override
    563     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    564     public Boolean visit(final ArrayCreationExpr n, final Visitable arg) {
    565         final ArrayCreationExpr n2 = (ArrayCreationExpr) arg;
    566         if (!nodeEquals(n.getElementType(), n2.getElementType()))
    567             return false;
    568         if (!nodeEquals(n.getInitializer(), n2.getInitializer()))
    569             return false;
    570         if (!nodesEquals(n.getLevels(), n2.getLevels()))
    571             return false;
    572         if (!nodeEquals(n.getComment(), n2.getComment()))
    573             return false;
    574         return true;
    575     }
    576 
    577     @Override
    578     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    579     public Boolean visit(final ArrayInitializerExpr n, final Visitable arg) {
    580         final ArrayInitializerExpr n2 = (ArrayInitializerExpr) arg;
    581         if (!nodesEquals(n.getValues(), n2.getValues()))
    582             return false;
    583         if (!nodeEquals(n.getComment(), n2.getComment()))
    584             return false;
    585         return true;
    586     }
    587 
    588     @Override
    589     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    590     public Boolean visit(final AssignExpr n, final Visitable arg) {
    591         final AssignExpr n2 = (AssignExpr) arg;
    592         if (!objEquals(n.getOperator(), n2.getOperator()))
    593             return false;
    594         if (!nodeEquals(n.getTarget(), n2.getTarget()))
    595             return false;
    596         if (!nodeEquals(n.getValue(), n2.getValue()))
    597             return false;
    598         if (!nodeEquals(n.getComment(), n2.getComment()))
    599             return false;
    600         return true;
    601     }
    602 
    603     @Override
    604     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    605     public Boolean visit(final BinaryExpr n, final Visitable arg) {
    606         final BinaryExpr n2 = (BinaryExpr) arg;
    607         if (!nodeEquals(n.getLeft(), n2.getLeft()))
    608             return false;
    609         if (!objEquals(n.getOperator(), n2.getOperator()))
    610             return false;
    611         if (!nodeEquals(n.getRight(), n2.getRight()))
    612             return false;
    613         if (!nodeEquals(n.getComment(), n2.getComment()))
    614             return false;
    615         return true;
    616     }
    617 
    618     @Override
    619     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    620     public Boolean visit(final CastExpr n, final Visitable arg) {
    621         final CastExpr n2 = (CastExpr) arg;
    622         if (!nodeEquals(n.getExpression(), n2.getExpression()))
    623             return false;
    624         if (!nodeEquals(n.getType(), n2.getType()))
    625             return false;
    626         if (!nodeEquals(n.getComment(), n2.getComment()))
    627             return false;
    628         return true;
    629     }
    630 
    631     @Override
    632     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    633     public Boolean visit(final ClassExpr n, final Visitable arg) {
    634         final ClassExpr n2 = (ClassExpr) arg;
    635         if (!nodeEquals(n.getType(), n2.getType()))
    636             return false;
    637         if (!nodeEquals(n.getComment(), n2.getComment()))
    638             return false;
    639         return true;
    640     }
    641 
    642     @Override
    643     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    644     public Boolean visit(final ConditionalExpr n, final Visitable arg) {
    645         final ConditionalExpr n2 = (ConditionalExpr) arg;
    646         if (!nodeEquals(n.getCondition(), n2.getCondition()))
    647             return false;
    648         if (!nodeEquals(n.getElseExpr(), n2.getElseExpr()))
    649             return false;
    650         if (!nodeEquals(n.getThenExpr(), n2.getThenExpr()))
    651             return false;
    652         if (!nodeEquals(n.getComment(), n2.getComment()))
    653             return false;
    654         return true;
    655     }
    656 
    657     @Override
    658     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    659     public Boolean visit(final EnclosedExpr n, final Visitable arg) {
    660         final EnclosedExpr n2 = (EnclosedExpr) arg;
    661         if (!nodeEquals(n.getInner(), n2.getInner()))
    662             return false;
    663         if (!nodeEquals(n.getComment(), n2.getComment()))
    664             return false;
    665         return true;
    666     }
    667 
    668     @Override
    669     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    670     public Boolean visit(final FieldAccessExpr n, final Visitable arg) {
    671         final FieldAccessExpr n2 = (FieldAccessExpr) arg;
    672         if (!nodeEquals(n.getName(), n2.getName()))
    673             return false;
    674         if (!nodeEquals(n.getScope(), n2.getScope()))
    675             return false;
    676         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
    677             return false;
    678         if (!nodeEquals(n.getComment(), n2.getComment()))
    679             return false;
    680         return true;
    681     }
    682 
    683     @Override
    684     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    685     public Boolean visit(final InstanceOfExpr n, final Visitable arg) {
    686         final InstanceOfExpr n2 = (InstanceOfExpr) arg;
    687         if (!nodeEquals(n.getExpression(), n2.getExpression()))
    688             return false;
    689         if (!nodeEquals(n.getType(), n2.getType()))
    690             return false;
    691         if (!nodeEquals(n.getComment(), n2.getComment()))
    692             return false;
    693         return true;
    694     }
    695 
    696     @Override
    697     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    698     public Boolean visit(final StringLiteralExpr n, final Visitable arg) {
    699         final StringLiteralExpr n2 = (StringLiteralExpr) arg;
    700         if (!objEquals(n.getValue(), n2.getValue()))
    701             return false;
    702         if (!nodeEquals(n.getComment(), n2.getComment()))
    703             return false;
    704         return true;
    705     }
    706 
    707     @Override
    708     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    709     public Boolean visit(final IntegerLiteralExpr n, final Visitable arg) {
    710         final IntegerLiteralExpr n2 = (IntegerLiteralExpr) arg;
    711         if (!objEquals(n.getValue(), n2.getValue()))
    712             return false;
    713         if (!nodeEquals(n.getComment(), n2.getComment()))
    714             return false;
    715         return true;
    716     }
    717 
    718     @Override
    719     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    720     public Boolean visit(final LongLiteralExpr n, final Visitable arg) {
    721         final LongLiteralExpr n2 = (LongLiteralExpr) arg;
    722         if (!objEquals(n.getValue(), n2.getValue()))
    723             return false;
    724         if (!nodeEquals(n.getComment(), n2.getComment()))
    725             return false;
    726         return true;
    727     }
    728 
    729     @Override
    730     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    731     public Boolean visit(final CharLiteralExpr n, final Visitable arg) {
    732         final CharLiteralExpr n2 = (CharLiteralExpr) arg;
    733         if (!objEquals(n.getValue(), n2.getValue()))
    734             return false;
    735         if (!nodeEquals(n.getComment(), n2.getComment()))
    736             return false;
    737         return true;
    738     }
    739 
    740     @Override
    741     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    742     public Boolean visit(final DoubleLiteralExpr n, final Visitable arg) {
    743         final DoubleLiteralExpr n2 = (DoubleLiteralExpr) arg;
    744         if (!objEquals(n.getValue(), n2.getValue()))
    745             return false;
    746         if (!nodeEquals(n.getComment(), n2.getComment()))
    747             return false;
    748         return true;
    749     }
    750 
    751     @Override
    752     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    753     public Boolean visit(final BooleanLiteralExpr n, final Visitable arg) {
    754         final BooleanLiteralExpr n2 = (BooleanLiteralExpr) arg;
    755         if (!objEquals(n.getValue(), n2.getValue()))
    756             return false;
    757         if (!nodeEquals(n.getComment(), n2.getComment()))
    758             return false;
    759         return true;
    760     }
    761 
    762     @Override
    763     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    764     public Boolean visit(final NullLiteralExpr n, final Visitable arg) {
    765         final NullLiteralExpr n2 = (NullLiteralExpr) arg;
    766         if (!nodeEquals(n.getComment(), n2.getComment()))
    767             return false;
    768         return true;
    769     }
    770 
    771     @Override
    772     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    773     public Boolean visit(final MethodCallExpr n, final Visitable arg) {
    774         final MethodCallExpr n2 = (MethodCallExpr) arg;
    775         if (!nodesEquals(n.getArguments(), n2.getArguments()))
    776             return false;
    777         if (!nodeEquals(n.getName(), n2.getName()))
    778             return false;
    779         if (!nodeEquals(n.getScope(), n2.getScope()))
    780             return false;
    781         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
    782             return false;
    783         if (!nodeEquals(n.getComment(), n2.getComment()))
    784             return false;
    785         return true;
    786     }
    787 
    788     @Override
    789     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    790     public Boolean visit(final NameExpr n, final Visitable arg) {
    791         final NameExpr n2 = (NameExpr) arg;
    792         if (!nodeEquals(n.getName(), n2.getName()))
    793             return false;
    794         if (!nodeEquals(n.getComment(), n2.getComment()))
    795             return false;
    796         return true;
    797     }
    798 
    799     @Override
    800     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    801     public Boolean visit(final ObjectCreationExpr n, final Visitable arg) {
    802         final ObjectCreationExpr n2 = (ObjectCreationExpr) arg;
    803         if (!nodesEquals(n.getAnonymousClassBody(), n2.getAnonymousClassBody()))
    804             return false;
    805         if (!nodesEquals(n.getArguments(), n2.getArguments()))
    806             return false;
    807         if (!nodeEquals(n.getScope(), n2.getScope()))
    808             return false;
    809         if (!nodeEquals(n.getType(), n2.getType()))
    810             return false;
    811         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
    812             return false;
    813         if (!nodeEquals(n.getComment(), n2.getComment()))
    814             return false;
    815         return true;
    816     }
    817 
    818     @Override
    819     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    820     public Boolean visit(final Name n, final Visitable arg) {
    821         final Name n2 = (Name) arg;
    822         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    823             return false;
    824         if (!objEquals(n.getIdentifier(), n2.getIdentifier()))
    825             return false;
    826         if (!nodeEquals(n.getQualifier(), n2.getQualifier()))
    827             return false;
    828         if (!nodeEquals(n.getComment(), n2.getComment()))
    829             return false;
    830         return true;
    831     }
    832 
    833     @Override
    834     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    835     public Boolean visit(final SimpleName n, final Visitable arg) {
    836         final SimpleName n2 = (SimpleName) arg;
    837         if (!objEquals(n.getIdentifier(), n2.getIdentifier()))
    838             return false;
    839         if (!nodeEquals(n.getComment(), n2.getComment()))
    840             return false;
    841         return true;
    842     }
    843 
    844     @Override
    845     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    846     public Boolean visit(final ThisExpr n, final Visitable arg) {
    847         final ThisExpr n2 = (ThisExpr) arg;
    848         if (!nodeEquals(n.getClassExpr(), n2.getClassExpr()))
    849             return false;
    850         if (!nodeEquals(n.getComment(), n2.getComment()))
    851             return false;
    852         return true;
    853     }
    854 
    855     @Override
    856     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    857     public Boolean visit(final SuperExpr n, final Visitable arg) {
    858         final SuperExpr n2 = (SuperExpr) arg;
    859         if (!nodeEquals(n.getClassExpr(), n2.getClassExpr()))
    860             return false;
    861         if (!nodeEquals(n.getComment(), n2.getComment()))
    862             return false;
    863         return true;
    864     }
    865 
    866     @Override
    867     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    868     public Boolean visit(final UnaryExpr n, final Visitable arg) {
    869         final UnaryExpr n2 = (UnaryExpr) arg;
    870         if (!nodeEquals(n.getExpression(), n2.getExpression()))
    871             return false;
    872         if (!objEquals(n.getOperator(), n2.getOperator()))
    873             return false;
    874         if (!nodeEquals(n.getComment(), n2.getComment()))
    875             return false;
    876         return true;
    877     }
    878 
    879     @Override
    880     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    881     public Boolean visit(final VariableDeclarationExpr n, final Visitable arg) {
    882         final VariableDeclarationExpr n2 = (VariableDeclarationExpr) arg;
    883         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
    884             return false;
    885         if (!objEquals(n.getModifiers(), n2.getModifiers()))
    886             return false;
    887         if (!nodesEquals(n.getVariables(), n2.getVariables()))
    888             return false;
    889         if (!nodeEquals(n.getComment(), n2.getComment()))
    890             return false;
    891         return true;
    892     }
    893 
    894     @Override
    895     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    896     public Boolean visit(final MarkerAnnotationExpr n, final Visitable arg) {
    897         final MarkerAnnotationExpr n2 = (MarkerAnnotationExpr) arg;
    898         if (!nodeEquals(n.getName(), n2.getName()))
    899             return false;
    900         if (!nodeEquals(n.getComment(), n2.getComment()))
    901             return false;
    902         return true;
    903     }
    904 
    905     @Override
    906     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    907     public Boolean visit(final SingleMemberAnnotationExpr n, final Visitable arg) {
    908         final SingleMemberAnnotationExpr n2 = (SingleMemberAnnotationExpr) arg;
    909         if (!nodeEquals(n.getMemberValue(), n2.getMemberValue()))
    910             return false;
    911         if (!nodeEquals(n.getName(), n2.getName()))
    912             return false;
    913         if (!nodeEquals(n.getComment(), n2.getComment()))
    914             return false;
    915         return true;
    916     }
    917 
    918     @Override
    919     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    920     public Boolean visit(final NormalAnnotationExpr n, final Visitable arg) {
    921         final NormalAnnotationExpr n2 = (NormalAnnotationExpr) arg;
    922         if (!nodesEquals(n.getPairs(), n2.getPairs()))
    923             return false;
    924         if (!nodeEquals(n.getName(), n2.getName()))
    925             return false;
    926         if (!nodeEquals(n.getComment(), n2.getComment()))
    927             return false;
    928         return true;
    929     }
    930 
    931     @Override
    932     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    933     public Boolean visit(final MemberValuePair n, final Visitable arg) {
    934         final MemberValuePair n2 = (MemberValuePair) arg;
    935         if (!nodeEquals(n.getName(), n2.getName()))
    936             return false;
    937         if (!nodeEquals(n.getValue(), n2.getValue()))
    938             return false;
    939         if (!nodeEquals(n.getComment(), n2.getComment()))
    940             return false;
    941         return true;
    942     }
    943 
    944     @Override
    945     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    946     public Boolean visit(final ExplicitConstructorInvocationStmt n, final Visitable arg) {
    947         final ExplicitConstructorInvocationStmt n2 = (ExplicitConstructorInvocationStmt) arg;
    948         if (!nodesEquals(n.getArguments(), n2.getArguments()))
    949             return false;
    950         if (!nodeEquals(n.getExpression(), n2.getExpression()))
    951             return false;
    952         if (!objEquals(n.isThis(), n2.isThis()))
    953             return false;
    954         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
    955             return false;
    956         if (!nodeEquals(n.getComment(), n2.getComment()))
    957             return false;
    958         return true;
    959     }
    960 
    961     @Override
    962     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    963     public Boolean visit(final LocalClassDeclarationStmt n, final Visitable arg) {
    964         final LocalClassDeclarationStmt n2 = (LocalClassDeclarationStmt) arg;
    965         if (!nodeEquals(n.getClassDeclaration(), n2.getClassDeclaration()))
    966             return false;
    967         if (!nodeEquals(n.getComment(), n2.getComment()))
    968             return false;
    969         return true;
    970     }
    971 
    972     @Override
    973     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    974     public Boolean visit(final AssertStmt n, final Visitable arg) {
    975         final AssertStmt n2 = (AssertStmt) arg;
    976         if (!nodeEquals(n.getCheck(), n2.getCheck()))
    977             return false;
    978         if (!nodeEquals(n.getMessage(), n2.getMessage()))
    979             return false;
    980         if (!nodeEquals(n.getComment(), n2.getComment()))
    981             return false;
    982         return true;
    983     }
    984 
    985     @Override
    986     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    987     public Boolean visit(final BlockStmt n, final Visitable arg) {
    988         final BlockStmt n2 = (BlockStmt) arg;
    989         if (!nodesEquals(n.getStatements(), n2.getStatements()))
    990             return false;
    991         if (!nodeEquals(n.getComment(), n2.getComment()))
    992             return false;
    993         return true;
    994     }
    995 
    996     @Override
    997     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
    998     public Boolean visit(final LabeledStmt n, final Visitable arg) {
    999         final LabeledStmt n2 = (LabeledStmt) arg;
   1000         if (!nodeEquals(n.getLabel(), n2.getLabel()))
   1001             return false;
   1002         if (!nodeEquals(n.getStatement(), n2.getStatement()))
   1003             return false;
   1004         if (!nodeEquals(n.getComment(), n2.getComment()))
   1005             return false;
   1006         return true;
   1007     }
   1008 
   1009     @Override
   1010     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1011     public Boolean visit(final EmptyStmt n, final Visitable arg) {
   1012         final EmptyStmt n2 = (EmptyStmt) arg;
   1013         if (!nodeEquals(n.getComment(), n2.getComment()))
   1014             return false;
   1015         return true;
   1016     }
   1017 
   1018     @Override
   1019     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1020     public Boolean visit(final ExpressionStmt n, final Visitable arg) {
   1021         final ExpressionStmt n2 = (ExpressionStmt) arg;
   1022         if (!nodeEquals(n.getExpression(), n2.getExpression()))
   1023             return false;
   1024         if (!nodeEquals(n.getComment(), n2.getComment()))
   1025             return false;
   1026         return true;
   1027     }
   1028 
   1029     @Override
   1030     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1031     public Boolean visit(final SwitchStmt n, final Visitable arg) {
   1032         final SwitchStmt n2 = (SwitchStmt) arg;
   1033         if (!nodesEquals(n.getEntries(), n2.getEntries()))
   1034             return false;
   1035         if (!nodeEquals(n.getSelector(), n2.getSelector()))
   1036             return false;
   1037         if (!nodeEquals(n.getComment(), n2.getComment()))
   1038             return false;
   1039         return true;
   1040     }
   1041 
   1042     @Override
   1043     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1044     public Boolean visit(final SwitchEntryStmt n, final Visitable arg) {
   1045         final SwitchEntryStmt n2 = (SwitchEntryStmt) arg;
   1046         if (!nodeEquals(n.getLabel(), n2.getLabel()))
   1047             return false;
   1048         if (!nodesEquals(n.getStatements(), n2.getStatements()))
   1049             return false;
   1050         if (!nodeEquals(n.getComment(), n2.getComment()))
   1051             return false;
   1052         return true;
   1053     }
   1054 
   1055     @Override
   1056     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1057     public Boolean visit(final BreakStmt n, final Visitable arg) {
   1058         final BreakStmt n2 = (BreakStmt) arg;
   1059         if (!nodeEquals(n.getLabel(), n2.getLabel()))
   1060             return false;
   1061         if (!nodeEquals(n.getComment(), n2.getComment()))
   1062             return false;
   1063         return true;
   1064     }
   1065 
   1066     @Override
   1067     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1068     public Boolean visit(final ReturnStmt n, final Visitable arg) {
   1069         final ReturnStmt n2 = (ReturnStmt) arg;
   1070         if (!nodeEquals(n.getExpression(), n2.getExpression()))
   1071             return false;
   1072         if (!nodeEquals(n.getComment(), n2.getComment()))
   1073             return false;
   1074         return true;
   1075     }
   1076 
   1077     @Override
   1078     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1079     public Boolean visit(final IfStmt n, final Visitable arg) {
   1080         final IfStmt n2 = (IfStmt) arg;
   1081         if (!nodeEquals(n.getCondition(), n2.getCondition()))
   1082             return false;
   1083         if (!nodeEquals(n.getElseStmt(), n2.getElseStmt()))
   1084             return false;
   1085         if (!nodeEquals(n.getThenStmt(), n2.getThenStmt()))
   1086             return false;
   1087         if (!nodeEquals(n.getComment(), n2.getComment()))
   1088             return false;
   1089         return true;
   1090     }
   1091 
   1092     @Override
   1093     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1094     public Boolean visit(final WhileStmt n, final Visitable arg) {
   1095         final WhileStmt n2 = (WhileStmt) arg;
   1096         if (!nodeEquals(n.getBody(), n2.getBody()))
   1097             return false;
   1098         if (!nodeEquals(n.getCondition(), n2.getCondition()))
   1099             return false;
   1100         if (!nodeEquals(n.getComment(), n2.getComment()))
   1101             return false;
   1102         return true;
   1103     }
   1104 
   1105     @Override
   1106     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1107     public Boolean visit(final ContinueStmt n, final Visitable arg) {
   1108         final ContinueStmt n2 = (ContinueStmt) arg;
   1109         if (!nodeEquals(n.getLabel(), n2.getLabel()))
   1110             return false;
   1111         if (!nodeEquals(n.getComment(), n2.getComment()))
   1112             return false;
   1113         return true;
   1114     }
   1115 
   1116     @Override
   1117     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1118     public Boolean visit(final DoStmt n, final Visitable arg) {
   1119         final DoStmt n2 = (DoStmt) arg;
   1120         if (!nodeEquals(n.getBody(), n2.getBody()))
   1121             return false;
   1122         if (!nodeEquals(n.getCondition(), n2.getCondition()))
   1123             return false;
   1124         if (!nodeEquals(n.getComment(), n2.getComment()))
   1125             return false;
   1126         return true;
   1127     }
   1128 
   1129     @Override
   1130     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1131     public Boolean visit(final ForeachStmt n, final Visitable arg) {
   1132         final ForeachStmt n2 = (ForeachStmt) arg;
   1133         if (!nodeEquals(n.getBody(), n2.getBody()))
   1134             return false;
   1135         if (!nodeEquals(n.getIterable(), n2.getIterable()))
   1136             return false;
   1137         if (!nodeEquals(n.getVariable(), n2.getVariable()))
   1138             return false;
   1139         if (!nodeEquals(n.getComment(), n2.getComment()))
   1140             return false;
   1141         return true;
   1142     }
   1143 
   1144     @Override
   1145     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1146     public Boolean visit(final ForStmt n, final Visitable arg) {
   1147         final ForStmt n2 = (ForStmt) arg;
   1148         if (!nodeEquals(n.getBody(), n2.getBody()))
   1149             return false;
   1150         if (!nodeEquals(n.getCompare(), n2.getCompare()))
   1151             return false;
   1152         if (!nodesEquals(n.getInitialization(), n2.getInitialization()))
   1153             return false;
   1154         if (!nodesEquals(n.getUpdate(), n2.getUpdate()))
   1155             return false;
   1156         if (!nodeEquals(n.getComment(), n2.getComment()))
   1157             return false;
   1158         return true;
   1159     }
   1160 
   1161     @Override
   1162     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1163     public Boolean visit(final ThrowStmt n, final Visitable arg) {
   1164         final ThrowStmt n2 = (ThrowStmt) arg;
   1165         if (!nodeEquals(n.getExpression(), n2.getExpression()))
   1166             return false;
   1167         if (!nodeEquals(n.getComment(), n2.getComment()))
   1168             return false;
   1169         return true;
   1170     }
   1171 
   1172     @Override
   1173     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1174     public Boolean visit(final SynchronizedStmt n, final Visitable arg) {
   1175         final SynchronizedStmt n2 = (SynchronizedStmt) arg;
   1176         if (!nodeEquals(n.getBody(), n2.getBody()))
   1177             return false;
   1178         if (!nodeEquals(n.getExpression(), n2.getExpression()))
   1179             return false;
   1180         if (!nodeEquals(n.getComment(), n2.getComment()))
   1181             return false;
   1182         return true;
   1183     }
   1184 
   1185     @Override
   1186     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1187     public Boolean visit(final TryStmt n, final Visitable arg) {
   1188         final TryStmt n2 = (TryStmt) arg;
   1189         if (!nodesEquals(n.getCatchClauses(), n2.getCatchClauses()))
   1190             return false;
   1191         if (!nodeEquals(n.getFinallyBlock(), n2.getFinallyBlock()))
   1192             return false;
   1193         if (!nodesEquals(n.getResources(), n2.getResources()))
   1194             return false;
   1195         if (!nodeEquals(n.getTryBlock(), n2.getTryBlock()))
   1196             return false;
   1197         if (!nodeEquals(n.getComment(), n2.getComment()))
   1198             return false;
   1199         return true;
   1200     }
   1201 
   1202     @Override
   1203     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1204     public Boolean visit(final CatchClause n, final Visitable arg) {
   1205         final CatchClause n2 = (CatchClause) arg;
   1206         if (!nodeEquals(n.getBody(), n2.getBody()))
   1207             return false;
   1208         if (!nodeEquals(n.getParameter(), n2.getParameter()))
   1209             return false;
   1210         if (!nodeEquals(n.getComment(), n2.getComment()))
   1211             return false;
   1212         return true;
   1213     }
   1214 
   1215     @Override
   1216     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1217     public Boolean visit(final LambdaExpr n, final Visitable arg) {
   1218         final LambdaExpr n2 = (LambdaExpr) arg;
   1219         if (!nodeEquals(n.getBody(), n2.getBody()))
   1220             return false;
   1221         if (!objEquals(n.isEnclosingParameters(), n2.isEnclosingParameters()))
   1222             return false;
   1223         if (!nodesEquals(n.getParameters(), n2.getParameters()))
   1224             return false;
   1225         if (!nodeEquals(n.getComment(), n2.getComment()))
   1226             return false;
   1227         return true;
   1228     }
   1229 
   1230     @Override
   1231     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1232     public Boolean visit(final MethodReferenceExpr n, final Visitable arg) {
   1233         final MethodReferenceExpr n2 = (MethodReferenceExpr) arg;
   1234         if (!objEquals(n.getIdentifier(), n2.getIdentifier()))
   1235             return false;
   1236         if (!nodeEquals(n.getScope(), n2.getScope()))
   1237             return false;
   1238         if (!nodesEquals(n.getTypeArguments(), n2.getTypeArguments()))
   1239             return false;
   1240         if (!nodeEquals(n.getComment(), n2.getComment()))
   1241             return false;
   1242         return true;
   1243     }
   1244 
   1245     @Override
   1246     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1247     public Boolean visit(final TypeExpr n, final Visitable arg) {
   1248         final TypeExpr n2 = (TypeExpr) arg;
   1249         if (!nodeEquals(n.getType(), n2.getType()))
   1250             return false;
   1251         if (!nodeEquals(n.getComment(), n2.getComment()))
   1252             return false;
   1253         return true;
   1254     }
   1255 
   1256     @Override
   1257     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1258     public Boolean visit(final ImportDeclaration n, final Visitable arg) {
   1259         final ImportDeclaration n2 = (ImportDeclaration) arg;
   1260         if (!objEquals(n.isAsterisk(), n2.isAsterisk()))
   1261             return false;
   1262         if (!objEquals(n.isStatic(), n2.isStatic()))
   1263             return false;
   1264         if (!nodeEquals(n.getName(), n2.getName()))
   1265             return false;
   1266         if (!nodeEquals(n.getComment(), n2.getComment()))
   1267             return false;
   1268         return true;
   1269     }
   1270 
   1271     @Override
   1272     public Boolean visit(NodeList n, Visitable arg) {
   1273         return nodesEquals((NodeList<Node>) n, (NodeList<Node>) arg);
   1274     }
   1275 
   1276     @Override
   1277     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1278     public Boolean visit(final ModuleDeclaration n, final Visitable arg) {
   1279         final ModuleDeclaration n2 = (ModuleDeclaration) arg;
   1280         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
   1281             return false;
   1282         if (!objEquals(n.isOpen(), n2.isOpen()))
   1283             return false;
   1284         if (!nodesEquals(n.getModuleStmts(), n2.getModuleStmts()))
   1285             return false;
   1286         if (!nodeEquals(n.getName(), n2.getName()))
   1287             return false;
   1288         if (!nodeEquals(n.getComment(), n2.getComment()))
   1289             return false;
   1290         return true;
   1291     }
   1292 
   1293     @Override
   1294     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1295     public Boolean visit(final ModuleRequiresStmt n, final Visitable arg) {
   1296         final ModuleRequiresStmt n2 = (ModuleRequiresStmt) arg;
   1297         if (!objEquals(n.getModifiers(), n2.getModifiers()))
   1298             return false;
   1299         if (!nodeEquals(n.getName(), n2.getName()))
   1300             return false;
   1301         if (!nodeEquals(n.getComment(), n2.getComment()))
   1302             return false;
   1303         return true;
   1304     }
   1305 
   1306     @Override()
   1307     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1308     public Boolean visit(final ModuleExportsStmt n, final Visitable arg) {
   1309         final ModuleExportsStmt n2 = (ModuleExportsStmt) arg;
   1310         if (!nodesEquals(n.getModuleNames(), n2.getModuleNames()))
   1311             return false;
   1312         if (!nodeEquals(n.getName(), n2.getName()))
   1313             return false;
   1314         if (!nodeEquals(n.getComment(), n2.getComment()))
   1315             return false;
   1316         return true;
   1317     }
   1318 
   1319     @Override()
   1320     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1321     public Boolean visit(final ModuleProvidesStmt n, final Visitable arg) {
   1322         final ModuleProvidesStmt n2 = (ModuleProvidesStmt) arg;
   1323         if (!nodeEquals(n.getType(), n2.getType()))
   1324             return false;
   1325         if (!nodesEquals(n.getWithTypes(), n2.getWithTypes()))
   1326             return false;
   1327         if (!nodeEquals(n.getComment(), n2.getComment()))
   1328             return false;
   1329         return true;
   1330     }
   1331 
   1332     @Override()
   1333     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1334     public Boolean visit(final ModuleUsesStmt n, final Visitable arg) {
   1335         final ModuleUsesStmt n2 = (ModuleUsesStmt) arg;
   1336         if (!nodeEquals(n.getType(), n2.getType()))
   1337             return false;
   1338         if (!nodeEquals(n.getComment(), n2.getComment()))
   1339             return false;
   1340         return true;
   1341     }
   1342 
   1343     @Override
   1344     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1345     public Boolean visit(final ModuleOpensStmt n, final Visitable arg) {
   1346         final ModuleOpensStmt n2 = (ModuleOpensStmt) arg;
   1347         if (!nodesEquals(n.getModuleNames(), n2.getModuleNames()))
   1348             return false;
   1349         if (!nodeEquals(n.getName(), n2.getName()))
   1350             return false;
   1351         if (!nodeEquals(n.getComment(), n2.getComment()))
   1352             return false;
   1353         return true;
   1354     }
   1355 
   1356     @Override
   1357     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1358     public Boolean visit(final UnparsableStmt n, final Visitable arg) {
   1359         final UnparsableStmt n2 = (UnparsableStmt) arg;
   1360         if (!nodeEquals(n.getComment(), n2.getComment()))
   1361             return false;
   1362         return true;
   1363     }
   1364 
   1365     @Override
   1366     @Generated("com.github.javaparser.generator.core.visitor.EqualsVisitorGenerator")
   1367     public Boolean visit(final ReceiverParameter n, final Visitable arg) {
   1368         final ReceiverParameter n2 = (ReceiverParameter) arg;
   1369         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
   1370             return false;
   1371         if (!nodeEquals(n.getName(), n2.getName()))
   1372             return false;
   1373         if (!nodeEquals(n.getType(), n2.getType()))
   1374             return false;
   1375         if (!nodeEquals(n.getComment(), n2.getComment()))
   1376             return false;
   1377         return true;
   1378     }
   1379 
   1380     @Override
   1381     public Boolean visit(final VarType n, final Visitable arg) {
   1382         final VarType n2 = (VarType) arg;
   1383         if (!nodesEquals(n.getAnnotations(), n2.getAnnotations()))
   1384             return false;
   1385         if (!nodeEquals(n.getComment(), n2.getComment()))
   1386             return false;
   1387         return true;
   1388     }
   1389 }
   1390