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