View Javadoc

    1   /*
    2    * Copyright  2000-2004 The Apache Software Foundation
    3    *
    4    *  Licensed under the Apache License, Version 2.0 (the "License");
    5    *  you may not use this file except in compliance with the License.
    6    *  You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   *  Unless required by applicable law or agreed to in writing, software
    11   *  distributed under the License is distributed on an "AS IS" BASIS,
    12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   *  See the License for the specific language governing permissions and
    14   *  limitations under the License.
    15   *
    16   */
    17  package org.apache.bcel.generic;
    18
    19  /***
    20   * Interface implementing the Visitor pattern programming style.
    21   * I.e., a class that implements this interface can handle all types of
    22   * instructions with the properly typed methods just by calling the accept()
    23   * method.
    24   *
    25   * @version $Id: Visitor.java 386056 2006-03-15 11:31:56Z tcurdt $
    26   * @author  <A HREF="mailto:m.dahm@gmx.de">M. Dahm</A>
    27   */
    28  public interface Visitor {
    29
    30      public void visitStackInstruction( StackInstruction obj );
    31
    32
    33      public void visitLocalVariableInstruction( LocalVariableInstruction obj );
    34
    35
    36      public void visitBranchInstruction( BranchInstruction obj );
    37
    38
    39      public void visitLoadClass( LoadClass obj );
    40
    41
    42      public void visitFieldInstruction( FieldInstruction obj );
    43
    44
    45      public void visitIfInstruction( IfInstruction obj );
    46
    47
    48      public void visitConversionInstruction( ConversionInstruction obj );
    49
    50
    51      public void visitPopInstruction( PopInstruction obj );
    52
    53
    54      public void visitStoreInstruction( StoreInstruction obj );
    55
    56
    57      public void visitTypedInstruction( TypedInstruction obj );
    58
    59
    60      public void visitSelect( Select obj );
    61
    62
    63      public void visitJsrInstruction( JsrInstruction obj );
    64
    65
    66      public void visitGotoInstruction( GotoInstruction obj );
    67
    68
    69      public void visitUnconditionalBranch( UnconditionalBranch obj );
    70
    71
    72      public void visitPushInstruction( PushInstruction obj );
    73
    74
    75      public void visitArithmeticInstruction( ArithmeticInstruction obj );
    76
    77
    78      public void visitCPInstruction( CPInstruction obj );
    79
    80
    81      public void visitInvokeInstruction( InvokeInstruction obj );
    82
    83
    84      public void visitArrayInstruction( ArrayInstruction obj );
    85
    86
    87      public void visitAllocationInstruction( AllocationInstruction obj );
    88
    89
    90      public void visitReturnInstruction( ReturnInstruction obj );
    91
    92
    93      public void visitFieldOrMethod( FieldOrMethod obj );
    94
    95
    96      public void visitConstantPushInstruction( ConstantPushInstruction obj );
    97
    98
    99      public void visitExceptionThrower( ExceptionThrower obj );
    100
    101
    102     public void visitLoadInstruction( LoadInstruction obj );
    103
    104
    105     public void visitVariableLengthInstruction( VariableLengthInstruction obj );
    106
    107
    108     public void visitStackProducer( StackProducer obj );
    109
    110
    111     public void visitStackConsumer( StackConsumer obj );
    112
    113
    114     public void visitACONST_NULL( ACONST_NULL obj );
    115
    116
    117     public void visitGETSTATIC( GETSTATIC obj );
    118
    119
    120     public void visitIF_ICMPLT( IF_ICMPLT obj );
    121
    122
    123     public void visitMONITOREXIT( MONITOREXIT obj );
    124
    125
    126     public void visitIFLT( IFLT obj );
    127
    128
    129     public void visitLSTORE( LSTORE obj );
    130
    131
    132     public void visitPOP2( POP2 obj );
    133
    134
    135     public void visitBASTORE( BASTORE obj );
    136
    137
    138     public void visitISTORE( ISTORE obj );
    139
    140
    141     public void visitCHECKCAST( CHECKCAST obj );
    142
    143
    144     public void visitFCMPG( FCMPG obj );
    145
    146
    147     public void visitI2F( I2F obj );
    148
    149
    150     public void visitATHROW( ATHROW obj );
    151
    152
    153     public void visitDCMPL( DCMPL obj );
    154
    155
    156     public void visitARRAYLENGTH( ARRAYLENGTH obj );
    157
    158
    159     public void visitDUP( DUP obj );
    160
    161
    162     public void visitINVOKESTATIC( INVOKESTATIC obj );
    163
    164
    165     public void visitLCONST( LCONST obj );
    166
    167
    168     public void visitDREM( DREM obj );
    169
    170
    171     public void visitIFGE( IFGE obj );
    172
    173
    174     public void visitCALOAD( CALOAD obj );
    175
    176
    177     public void visitLASTORE( LASTORE obj );
    178
    179
    180     public void visitI2D( I2D obj );
    181
    182
    183     public void visitDADD( DADD obj );
    184
    185
    186     public void visitINVOKESPECIAL( INVOKESPECIAL obj );
    187
    188
    189     public void visitIAND( IAND obj );
    190
    191
    192     public void visitPUTFIELD( PUTFIELD obj );
    193
    194
    195     public void visitILOAD( ILOAD obj );
    196
    197
    198     public void visitDLOAD( DLOAD obj );
    199
    200
    201     public void visitDCONST( DCONST obj );
    202
    203
    204     public void visitNEW( NEW obj );
    205
    206
    207     public void visitIFNULL( IFNULL obj );
    208
    209
    210     public void visitLSUB( LSUB obj );
    211
    212
    213     public void visitL2I( L2I obj );
    214
    215
    216     public void visitISHR( ISHR obj );
    217
    218
    219     public void visitTABLESWITCH( TABLESWITCH obj );
    220
    221
    222     public void visitIINC( IINC obj );
    223
    224
    225     public void visitDRETURN( DRETURN obj );
    226
    227
    228     public void visitFSTORE( FSTORE obj );
    229
    230
    231     public void visitDASTORE( DASTORE obj );
    232
    233
    234     public void visitIALOAD( IALOAD obj );
    235
    236
    237     public void visitDDIV( DDIV obj );
    238
    239
    240     public void visitIF_ICMPGE( IF_ICMPGE obj );
    241
    242
    243     public void visitLAND( LAND obj );
    244
    245
    246     public void visitIDIV( IDIV obj );
    247
    248
    249     public void visitLOR( LOR obj );
    250
    251
    252     public void visitCASTORE( CASTORE obj );
    253
    254
    255     public void visitFREM( FREM obj );
    256
    257
    258     public void visitLDC( LDC obj );
    259
    260
    261     public void visitBIPUSH( BIPUSH obj );
    262
    263
    264     public void visitDSTORE( DSTORE obj );
    265
    266
    267     public void visitF2L( F2L obj );
    268
    269
    270     public void visitFMUL( FMUL obj );
    271
    272
    273     public void visitLLOAD( LLOAD obj );
    274
    275
    276     public void visitJSR( JSR obj );
    277
    278
    279     public void visitFSUB( FSUB obj );
    280
    281
    282     public void visitSASTORE( SASTORE obj );
    283
    284
    285     public void visitALOAD( ALOAD obj );
    286
    287
    288     public void visitDUP2_X2( DUP2_X2 obj );
    289
    290
    291     public void visitRETURN( RETURN obj );
    292
    293
    294     public void visitDALOAD( DALOAD obj );
    295
    296
    297     public void visitSIPUSH( SIPUSH obj );
    298
    299
    300     public void visitDSUB( DSUB obj );
    301
    302
    303     public void visitL2F( L2F obj );
    304
    305
    306     public void visitIF_ICMPGT( IF_ICMPGT obj );
    307
    308
    309     public void visitF2D( F2D obj );
    310
    311
    312     public void visitI2L( I2L obj );
    313
    314
    315     public void visitIF_ACMPNE( IF_ACMPNE obj );
    316
    317
    318     public void visitPOP( POP obj );
    319
    320
    321     public void visitI2S( I2S obj );
    322
    323
    324     public void visitIFEQ( IFEQ obj );
    325
    326
    327     public void visitSWAP( SWAP obj );
    328
    329
    330     public void visitIOR( IOR obj );
    331
    332
    333     public void visitIREM( IREM obj );
    334
    335
    336     public void visitIASTORE( IASTORE obj );
    337
    338
    339     public void visitNEWARRAY( NEWARRAY obj );
    340
    341
    342     public void visitINVOKEINTERFACE( INVOKEINTERFACE obj );
    343
    344
    345     public void visitINEG( INEG obj );
    346
    347
    348     public void visitLCMP( LCMP obj );
    349
    350
    351     public void visitJSR_W( JSR_W obj );
    352
    353
    354     public void visitMULTIANEWARRAY( MULTIANEWARRAY obj );
    355
    356
    357     public void visitDUP_X2( DUP_X2 obj );
    358
    359
    360     public void visitSALOAD( SALOAD obj );
    361
    362
    363     public void visitIFNONNULL( IFNONNULL obj );
    364
    365
    366     public void visitDMUL( DMUL obj );
    367
    368
    369     public void visitIFNE( IFNE obj );
    370
    371
    372     public void visitIF_ICMPLE( IF_ICMPLE obj );
    373
    374
    375     public void visitLDC2_W( LDC2_W obj );
    376
    377
    378     public void visitGETFIELD( GETFIELD obj );
    379
    380
    381     public void visitLADD( LADD obj );
    382
    383
    384     public void visitNOP( NOP obj );
    385
    386
    387     public void visitFALOAD( FALOAD obj );
    388
    389
    390     public void visitINSTANCEOF( INSTANCEOF obj );
    391
    392
    393     public void visitIFLE( IFLE obj );
    394
    395
    396     public void visitLXOR( LXOR obj );
    397
    398
    399     public void visitLRETURN( LRETURN obj );
    400
    401
    402     public void visitFCONST( FCONST obj );
    403
    404
    405     public void visitIUSHR( IUSHR obj );
    406
    407
    408     public void visitBALOAD( BALOAD obj );
    409
    410
    411     public void visitDUP2( DUP2 obj );
    412
    413
    414     public void visitIF_ACMPEQ( IF_ACMPEQ obj );
    415
    416
    417     public void visitIMPDEP1( IMPDEP1 obj );
    418
    419
    420     public void visitMONITORENTER( MONITORENTER obj );
    421
    422
    423     public void visitLSHL( LSHL obj );
    424
    425
    426     public void visitDCMPG( DCMPG obj );
    427
    428
    429     public void visitD2L( D2L obj );
    430
    431
    432     public void visitIMPDEP2( IMPDEP2 obj );
    433
    434
    435     public void visitL2D( L2D obj );
    436
    437
    438     public void visitRET( RET obj );
    439
    440
    441     public void visitIFGT( IFGT obj );
    442
    443
    444     public void visitIXOR( IXOR obj );
    445
    446
    447     public void visitINVOKEVIRTUAL( INVOKEVIRTUAL obj );
    448
    449
    450     public void visitFASTORE( FASTORE obj );
    451
    452
    453     public void visitIRETURN( IRETURN obj );
    454
    455
    456     public void visitIF_ICMPNE( IF_ICMPNE obj );
    457
    458
    459     public void visitFLOAD( FLOAD obj );
    460
    461
    462     public void visitLDIV( LDIV obj );
    463
    464
    465     public void visitPUTSTATIC( PUTSTATIC obj );
    466
    467
    468     public void visitAALOAD( AALOAD obj );
    469
    470
    471     public void visitD2I( D2I obj );
    472
    473
    474     public void visitIF_ICMPEQ( IF_ICMPEQ obj );
    475
    476
    477     public void visitAASTORE( AASTORE obj );
    478
    479
    480     public void visitARETURN( ARETURN obj );
    481
    482
    483     public void visitDUP2_X1( DUP2_X1 obj );
    484
    485
    486     public void visitFNEG( FNEG obj );
    487
    488
    489     public void visitGOTO_W( GOTO_W obj );
    490
    491
    492     public void visitD2F( D2F obj );
    493
    494
    495     public void visitGOTO( GOTO obj );
    496
    497
    498     public void visitISUB( ISUB obj );
    499
    500
    501     public void visitF2I( F2I obj );
    502
    503
    504     public void visitDNEG( DNEG obj );
    505
    506
    507     public void visitICONST( ICONST obj );
    508
    509
    510     public void visitFDIV( FDIV obj );
    511
    512
    513     public void visitI2B( I2B obj );
    514
    515
    516     public void visitLNEG( LNEG obj );
    517
    518
    519     public void visitLREM( LREM obj );
    520
    521
    522     public void visitIMUL( IMUL obj );
    523
    524
    525     public void visitIADD( IADD obj );
    526
    527
    528     public void visitLSHR( LSHR obj );
    529
    530
    531     public void visitLOOKUPSWITCH( LOOKUPSWITCH obj );
    532
    533
    534     public void visitDUP_X1( DUP_X1 obj );
    535
    536
    537     public void visitFCMPL( FCMPL obj );
    538
    539
    540     public void visitI2C( I2C obj );
    541
    542
    543     public void visitLMUL( LMUL obj );
    544
    545
    546     public void visitLUSHR( LUSHR obj );
    547
    548
    549     public void visitISHL( ISHL obj );
    550
    551
    552     public void visitLALOAD( LALOAD obj );
    553
    554
    555     public void visitASTORE( ASTORE obj );
    556
    557
    558     public void visitANEWARRAY( ANEWARRAY obj );
    559
    560
    561     public void visitFRETURN( FRETURN obj );
    562
    563
    564     public void visitFADD( FADD obj );
    565
    566
    567     public void visitBREAKPOINT( BREAKPOINT obj );
    568 }