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 javax.annotation.Generated;
     33 
     34 /**
     35  * A visitor that calculates a deep hash code for a node by using the hash codes of all its properties,
     36  * and the hash codes of all its child nodes (by visiting those too.)
     37  */
     38 public class ObjectIdentityHashCodeVisitor implements GenericVisitor<Integer, Void> {
     39 
     40     private static final ObjectIdentityHashCodeVisitor SINGLETON = new ObjectIdentityHashCodeVisitor();
     41 
     42     public static int hashCode(final Node node) {
     43         return node.accept(SINGLETON, null);
     44     }
     45 
     46     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     47     public Integer visit(final AnnotationDeclaration n, final Void arg) {
     48         return n.hashCode();
     49     }
     50 
     51     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     52     public Integer visit(final AnnotationMemberDeclaration n, final Void arg) {
     53         return n.hashCode();
     54     }
     55 
     56     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     57     public Integer visit(final ArrayAccessExpr n, final Void arg) {
     58         return n.hashCode();
     59     }
     60 
     61     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     62     public Integer visit(final ArrayCreationExpr n, final Void arg) {
     63         return n.hashCode();
     64     }
     65 
     66     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     67     public Integer visit(final ArrayCreationLevel n, final Void arg) {
     68         return n.hashCode();
     69     }
     70 
     71     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     72     public Integer visit(final ArrayInitializerExpr n, final Void arg) {
     73         return n.hashCode();
     74     }
     75 
     76     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     77     public Integer visit(final ArrayType n, final Void arg) {
     78         return n.hashCode();
     79     }
     80 
     81     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     82     public Integer visit(final AssertStmt n, final Void arg) {
     83         return n.hashCode();
     84     }
     85 
     86     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     87     public Integer visit(final AssignExpr n, final Void arg) {
     88         return n.hashCode();
     89     }
     90 
     91     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     92     public Integer visit(final BinaryExpr n, final Void arg) {
     93         return n.hashCode();
     94     }
     95 
     96     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
     97     public Integer visit(final BlockComment n, final Void arg) {
     98         return n.hashCode();
     99     }
    100 
    101     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    102     public Integer visit(final BlockStmt n, final Void arg) {
    103         return n.hashCode();
    104     }
    105 
    106     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    107     public Integer visit(final BooleanLiteralExpr n, final Void arg) {
    108         return n.hashCode();
    109     }
    110 
    111     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    112     public Integer visit(final BreakStmt n, final Void arg) {
    113         return n.hashCode();
    114     }
    115 
    116     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    117     public Integer visit(final CastExpr n, final Void arg) {
    118         return n.hashCode();
    119     }
    120 
    121     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    122     public Integer visit(final CatchClause n, final Void arg) {
    123         return n.hashCode();
    124     }
    125 
    126     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    127     public Integer visit(final CharLiteralExpr n, final Void arg) {
    128         return n.hashCode();
    129     }
    130 
    131     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    132     public Integer visit(final ClassExpr n, final Void arg) {
    133         return n.hashCode();
    134     }
    135 
    136     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    137     public Integer visit(final ClassOrInterfaceDeclaration n, final Void arg) {
    138         return n.hashCode();
    139     }
    140 
    141     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    142     public Integer visit(final ClassOrInterfaceType n, final Void arg) {
    143         return n.hashCode();
    144     }
    145 
    146     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    147     public Integer visit(final CompilationUnit n, final Void arg) {
    148         return n.hashCode();
    149     }
    150 
    151     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    152     public Integer visit(final ConditionalExpr n, final Void arg) {
    153         return n.hashCode();
    154     }
    155 
    156     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    157     public Integer visit(final ConstructorDeclaration n, final Void arg) {
    158         return n.hashCode();
    159     }
    160 
    161     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    162     public Integer visit(final ContinueStmt n, final Void arg) {
    163         return n.hashCode();
    164     }
    165 
    166     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    167     public Integer visit(final DoStmt n, final Void arg) {
    168         return n.hashCode();
    169     }
    170 
    171     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    172     public Integer visit(final DoubleLiteralExpr n, final Void arg) {
    173         return n.hashCode();
    174     }
    175 
    176     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    177     public Integer visit(final EmptyStmt n, final Void arg) {
    178         return n.hashCode();
    179     }
    180 
    181     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    182     public Integer visit(final EnclosedExpr n, final Void arg) {
    183         return n.hashCode();
    184     }
    185 
    186     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    187     public Integer visit(final EnumConstantDeclaration n, final Void arg) {
    188         return n.hashCode();
    189     }
    190 
    191     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    192     public Integer visit(final EnumDeclaration n, final Void arg) {
    193         return n.hashCode();
    194     }
    195 
    196     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    197     public Integer visit(final ExplicitConstructorInvocationStmt n, final Void arg) {
    198         return n.hashCode();
    199     }
    200 
    201     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    202     public Integer visit(final ExpressionStmt n, final Void arg) {
    203         return n.hashCode();
    204     }
    205 
    206     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    207     public Integer visit(final FieldAccessExpr n, final Void arg) {
    208         return n.hashCode();
    209     }
    210 
    211     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    212     public Integer visit(final FieldDeclaration n, final Void arg) {
    213         return n.hashCode();
    214     }
    215 
    216     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    217     public Integer visit(final ForStmt n, final Void arg) {
    218         return n.hashCode();
    219     }
    220 
    221     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    222     public Integer visit(final ForeachStmt n, final Void arg) {
    223         return n.hashCode();
    224     }
    225 
    226     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    227     public Integer visit(final IfStmt n, final Void arg) {
    228         return n.hashCode();
    229     }
    230 
    231     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    232     public Integer visit(final ImportDeclaration n, final Void arg) {
    233         return n.hashCode();
    234     }
    235 
    236     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    237     public Integer visit(final InitializerDeclaration n, final Void arg) {
    238         return n.hashCode();
    239     }
    240 
    241     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    242     public Integer visit(final InstanceOfExpr n, final Void arg) {
    243         return n.hashCode();
    244     }
    245 
    246     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    247     public Integer visit(final IntegerLiteralExpr n, final Void arg) {
    248         return n.hashCode();
    249     }
    250 
    251     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    252     public Integer visit(final IntersectionType n, final Void arg) {
    253         return n.hashCode();
    254     }
    255 
    256     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    257     public Integer visit(final JavadocComment n, final Void arg) {
    258         return n.hashCode();
    259     }
    260 
    261     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    262     public Integer visit(final LabeledStmt n, final Void arg) {
    263         return n.hashCode();
    264     }
    265 
    266     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    267     public Integer visit(final LambdaExpr n, final Void arg) {
    268         return n.hashCode();
    269     }
    270 
    271     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    272     public Integer visit(final LineComment n, final Void arg) {
    273         return n.hashCode();
    274     }
    275 
    276     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    277     public Integer visit(final LocalClassDeclarationStmt n, final Void arg) {
    278         return n.hashCode();
    279     }
    280 
    281     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    282     public Integer visit(final LongLiteralExpr n, final Void arg) {
    283         return n.hashCode();
    284     }
    285 
    286     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    287     public Integer visit(final MarkerAnnotationExpr n, final Void arg) {
    288         return n.hashCode();
    289     }
    290 
    291     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    292     public Integer visit(final MemberValuePair n, final Void arg) {
    293         return n.hashCode();
    294     }
    295 
    296     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    297     public Integer visit(final MethodCallExpr n, final Void arg) {
    298         return n.hashCode();
    299     }
    300 
    301     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    302     public Integer visit(final MethodDeclaration n, final Void arg) {
    303         return n.hashCode();
    304     }
    305 
    306     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    307     public Integer visit(final MethodReferenceExpr n, final Void arg) {
    308         return n.hashCode();
    309     }
    310 
    311     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    312     public Integer visit(final NameExpr n, final Void arg) {
    313         return n.hashCode();
    314     }
    315 
    316     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    317     public Integer visit(final Name n, final Void arg) {
    318         return n.hashCode();
    319     }
    320 
    321     public Integer visit(NodeList n, Void arg) {
    322         return n.hashCode();
    323     }
    324 
    325     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    326     public Integer visit(final NormalAnnotationExpr n, final Void arg) {
    327         return n.hashCode();
    328     }
    329 
    330     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    331     public Integer visit(final NullLiteralExpr n, final Void arg) {
    332         return n.hashCode();
    333     }
    334 
    335     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    336     public Integer visit(final ObjectCreationExpr n, final Void arg) {
    337         return n.hashCode();
    338     }
    339 
    340     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    341     public Integer visit(final PackageDeclaration n, final Void arg) {
    342         return n.hashCode();
    343     }
    344 
    345     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    346     public Integer visit(final Parameter n, final Void arg) {
    347         return n.hashCode();
    348     }
    349 
    350     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    351     public Integer visit(final PrimitiveType n, final Void arg) {
    352         return n.hashCode();
    353     }
    354 
    355     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    356     public Integer visit(final ReturnStmt n, final Void arg) {
    357         return n.hashCode();
    358     }
    359 
    360     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    361     public Integer visit(final SimpleName n, final Void arg) {
    362         return n.hashCode();
    363     }
    364 
    365     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    366     public Integer visit(final SingleMemberAnnotationExpr n, final Void arg) {
    367         return n.hashCode();
    368     }
    369 
    370     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    371     public Integer visit(final StringLiteralExpr n, final Void arg) {
    372         return n.hashCode();
    373     }
    374 
    375     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    376     public Integer visit(final SuperExpr n, final Void arg) {
    377         return n.hashCode();
    378     }
    379 
    380     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    381     public Integer visit(final SwitchEntryStmt n, final Void arg) {
    382         return n.hashCode();
    383     }
    384 
    385     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    386     public Integer visit(final SwitchStmt n, final Void arg) {
    387         return n.hashCode();
    388     }
    389 
    390     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    391     public Integer visit(final SynchronizedStmt n, final Void arg) {
    392         return n.hashCode();
    393     }
    394 
    395     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    396     public Integer visit(final ThisExpr n, final Void arg) {
    397         return n.hashCode();
    398     }
    399 
    400     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    401     public Integer visit(final ThrowStmt n, final Void arg) {
    402         return n.hashCode();
    403     }
    404 
    405     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    406     public Integer visit(final TryStmt n, final Void arg) {
    407         return n.hashCode();
    408     }
    409 
    410     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    411     public Integer visit(final TypeExpr n, final Void arg) {
    412         return n.hashCode();
    413     }
    414 
    415     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    416     public Integer visit(final TypeParameter n, final Void arg) {
    417         return n.hashCode();
    418     }
    419 
    420     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    421     public Integer visit(final UnaryExpr n, final Void arg) {
    422         return n.hashCode();
    423     }
    424 
    425     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    426     public Integer visit(final UnionType n, final Void arg) {
    427         return n.hashCode();
    428     }
    429 
    430     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    431     public Integer visit(final UnknownType n, final Void arg) {
    432         return n.hashCode();
    433     }
    434 
    435     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    436     public Integer visit(final VariableDeclarationExpr n, final Void arg) {
    437         return n.hashCode();
    438     }
    439 
    440     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    441     public Integer visit(final VariableDeclarator n, final Void arg) {
    442         return n.hashCode();
    443     }
    444 
    445     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    446     public Integer visit(final VoidType n, final Void arg) {
    447         return n.hashCode();
    448     }
    449 
    450     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    451     public Integer visit(final WhileStmt n, final Void arg) {
    452         return n.hashCode();
    453     }
    454 
    455     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    456     public Integer visit(final WildcardType n, final Void arg) {
    457         return n.hashCode();
    458     }
    459 
    460     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    461     public Integer visit(final ModuleDeclaration n, final Void arg) {
    462         return n.hashCode();
    463     }
    464 
    465     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    466     public Integer visit(final ModuleRequiresStmt n, final Void arg) {
    467         return n.hashCode();
    468     }
    469 
    470     @Override()
    471     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    472     public Integer visit(final ModuleExportsStmt n, final Void arg) {
    473         return n.hashCode();
    474     }
    475 
    476     @Override()
    477     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    478     public Integer visit(final ModuleProvidesStmt n, final Void arg) {
    479         return n.hashCode();
    480     }
    481 
    482     @Override()
    483     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    484     public Integer visit(final ModuleUsesStmt n, final Void arg) {
    485         return n.hashCode();
    486     }
    487 
    488     @Override
    489     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    490     public Integer visit(final ModuleOpensStmt n, final Void arg) {
    491         return n.hashCode();
    492     }
    493 
    494     @Override
    495     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    496     public Integer visit(final UnparsableStmt n, final Void arg) {
    497         return n.hashCode();
    498     }
    499 
    500     @Override
    501     @Generated("com.github.javaparser.generator.core.visitor.ObjectIdentityHashCodeVisitorGenerator")
    502     public Integer visit(final ReceiverParameter n, final Void arg) {
    503         return n.hashCode();
    504     }
    505 
    506     @Override
    507     public Integer visit(final VarType n, final Void arg) {
    508         return n.hashCode();
    509     }
    510 }
    511