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