1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * https://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.bcel.generic;
20
21 /**
22 * Interface implementing the Visitor pattern programming style. I.e., a class that implements this interface can handle
23 * all types of instructions with the properly typed methods just by calling the accept() method.
24 */
25 public interface Visitor {
26
27 /**
28 * Visits an AALOAD instruction.
29 *
30 * @param obj the instruction.
31 */
32 void visitAALOAD(AALOAD obj);
33
34 /**
35 * Visits an AASTORE instruction.
36 *
37 * @param obj the instruction.
38 */
39 void visitAASTORE(AASTORE obj);
40
41 /**
42 * Visits an ACONST_NULL instruction.
43 *
44 * @param obj the instruction.
45 */
46 void visitACONST_NULL(ACONST_NULL obj);
47
48 /**
49 * Visits an AllocationInstruction.
50 *
51 * @param obj the instruction.
52 */
53 void visitAllocationInstruction(AllocationInstruction obj);
54
55 /**
56 * Visits an ALOAD instruction.
57 *
58 * @param obj the instruction.
59 */
60 void visitALOAD(ALOAD obj);
61
62 /**
63 * Visits an ANEWARRAY instruction.
64 *
65 * @param obj the instruction.
66 */
67 void visitANEWARRAY(ANEWARRAY obj);
68
69 /**
70 * Visits an ARETURN instruction.
71 *
72 * @param obj the instruction.
73 */
74 void visitARETURN(ARETURN obj);
75
76 /**
77 * Visits an ArithmeticInstruction.
78 *
79 * @param obj the instruction.
80 */
81 void visitArithmeticInstruction(ArithmeticInstruction obj);
82
83 /**
84 * Visits an ArrayInstruction.
85 *
86 * @param obj the instruction.
87 */
88 void visitArrayInstruction(ArrayInstruction obj);
89
90 /**
91 * Visits an ARRAYLENGTH instruction.
92 *
93 * @param obj the instruction.
94 */
95 void visitARRAYLENGTH(ARRAYLENGTH obj);
96
97 /**
98 * Visits an ASTORE instruction.
99 *
100 * @param obj the instruction.
101 */
102 void visitASTORE(ASTORE obj);
103
104 /**
105 * Visits an ATHROW instruction.
106 *
107 * @param obj the instruction.
108 */
109 void visitATHROW(ATHROW obj);
110
111 /**
112 * Visits a BALOAD instruction.
113 *
114 * @param obj the instruction.
115 */
116 void visitBALOAD(BALOAD obj);
117
118 /**
119 * Visits a BASTORE instruction.
120 *
121 * @param obj the instruction.
122 */
123 void visitBASTORE(BASTORE obj);
124
125 /**
126 * Visits a BIPUSH instruction.
127 *
128 * @param obj the instruction.
129 */
130 void visitBIPUSH(BIPUSH obj);
131
132 /**
133 * Visits a BranchInstruction.
134 *
135 * @param obj the instruction.
136 */
137 void visitBranchInstruction(BranchInstruction obj);
138
139 /**
140 * Visits a BREAKPOINT instruction.
141 *
142 * @param obj the instruction.
143 */
144 void visitBREAKPOINT(BREAKPOINT obj);
145
146 /**
147 * Visits a CALOAD instruction.
148 *
149 * @param obj the instruction.
150 */
151 void visitCALOAD(CALOAD obj);
152
153 /**
154 * Visits a CASTORE instruction.
155 *
156 * @param obj the instruction.
157 */
158 void visitCASTORE(CASTORE obj);
159
160 /**
161 * Visits a CHECKCAST instruction.
162 *
163 * @param obj the instruction.
164 */
165 void visitCHECKCAST(CHECKCAST obj);
166
167 /**
168 * Visits a ConstantPushInstruction.
169 *
170 * @param obj the instruction.
171 */
172 void visitConstantPushInstruction(ConstantPushInstruction obj);
173
174 /**
175 * Visits a ConversionInstruction.
176 *
177 * @param obj the instruction.
178 */
179 void visitConversionInstruction(ConversionInstruction obj);
180
181 /**
182 * Visits a CPInstruction.
183 *
184 * @param obj the instruction.
185 */
186 void visitCPInstruction(CPInstruction obj);
187
188 /**
189 * Visits a D2F instruction.
190 *
191 * @param obj the instruction.
192 */
193 void visitD2F(D2F obj);
194
195 /**
196 * Visits a D2I instruction.
197 *
198 * @param obj the instruction.
199 */
200 void visitD2I(D2I obj);
201
202 /**
203 * Visits a D2L instruction.
204 *
205 * @param obj the instruction.
206 */
207 void visitD2L(D2L obj);
208
209 /**
210 * Visits a DADD instruction.
211 *
212 * @param obj the instruction.
213 */
214 void visitDADD(DADD obj);
215
216 /**
217 * Visits a DALOAD instruction.
218 *
219 * @param obj the instruction.
220 */
221 void visitDALOAD(DALOAD obj);
222
223 /**
224 * Visits a DASTORE instruction.
225 *
226 * @param obj the instruction.
227 */
228 void visitDASTORE(DASTORE obj);
229
230 /**
231 * Visits a DCMPG instruction.
232 *
233 * @param obj the instruction.
234 */
235 void visitDCMPG(DCMPG obj);
236
237 /**
238 * Visits a DCMPL instruction.
239 *
240 * @param obj the instruction.
241 */
242 void visitDCMPL(DCMPL obj);
243
244 /**
245 * Visits a DCONST instruction.
246 *
247 * @param obj the instruction.
248 */
249 void visitDCONST(DCONST obj);
250
251 /**
252 * Visits a DDIV instruction.
253 *
254 * @param obj the instruction.
255 */
256 void visitDDIV(DDIV obj);
257
258 /**
259 * Visits a DLOAD instruction.
260 *
261 * @param obj the instruction.
262 */
263 void visitDLOAD(DLOAD obj);
264
265 /**
266 * Visits a DMUL instruction.
267 *
268 * @param obj the instruction.
269 */
270 void visitDMUL(DMUL obj);
271
272 /**
273 * Visits a DNEG instruction.
274 *
275 * @param obj the instruction.
276 */
277 void visitDNEG(DNEG obj);
278
279 /**
280 * Visits a DREM instruction.
281 *
282 * @param obj the instruction.
283 */
284 void visitDREM(DREM obj);
285
286 /**
287 * Visits a DRETURN instruction.
288 *
289 * @param obj the instruction.
290 */
291 void visitDRETURN(DRETURN obj);
292
293 /**
294 * Visits a DSTORE instruction.
295 *
296 * @param obj the instruction.
297 */
298 void visitDSTORE(DSTORE obj);
299
300 /**
301 * Visits a DSUB instruction.
302 *
303 * @param obj the instruction.
304 */
305 void visitDSUB(DSUB obj);
306
307 /**
308 * Visits a DUP instruction.
309 *
310 * @param obj the instruction.
311 */
312 void visitDUP(DUP obj);
313
314 /**
315 * Visits a DUP_X1 instruction.
316 *
317 * @param obj the instruction.
318 */
319 void visitDUP_X1(DUP_X1 obj);
320
321 /**
322 * Visits a DUP_X2 instruction.
323 *
324 * @param obj the instruction.
325 */
326 void visitDUP_X2(DUP_X2 obj);
327
328 /**
329 * Visits a DUP2 instruction.
330 *
331 * @param obj the instruction.
332 */
333 void visitDUP2(DUP2 obj);
334
335 /**
336 * Visits a DUP2_X1 instruction.
337 *
338 * @param obj the instruction.
339 */
340 void visitDUP2_X1(DUP2_X1 obj);
341
342 /**
343 * Visits a DUP2_X2 instruction.
344 *
345 * @param obj the instruction.
346 */
347 void visitDUP2_X2(DUP2_X2 obj);
348
349 /**
350 * Visits an ExceptionThrower.
351 *
352 * @param obj the instruction.
353 */
354 void visitExceptionThrower(ExceptionThrower obj);
355
356 /**
357 * Visits an F2D instruction.
358 *
359 * @param obj the instruction.
360 */
361 void visitF2D(F2D obj);
362
363 /**
364 * Visits an F2I instruction.
365 *
366 * @param obj the instruction.
367 */
368 void visitF2I(F2I obj);
369
370 /**
371 * Visits an F2L instruction.
372 *
373 * @param obj the instruction.
374 */
375 void visitF2L(F2L obj);
376
377 /**
378 * Visits an FADD instruction.
379 *
380 * @param obj the instruction.
381 */
382 void visitFADD(FADD obj);
383
384 /**
385 * Visits an FALOAD instruction.
386 *
387 * @param obj the instruction.
388 */
389 void visitFALOAD(FALOAD obj);
390
391 /**
392 * Visits an FASTORE instruction.
393 *
394 * @param obj the instruction.
395 */
396 void visitFASTORE(FASTORE obj);
397
398 /**
399 * Visits an FCMPG instruction.
400 *
401 * @param obj the instruction.
402 */
403 void visitFCMPG(FCMPG obj);
404
405 /**
406 * Visits an FCMPL instruction.
407 *
408 * @param obj the instruction.
409 */
410 void visitFCMPL(FCMPL obj);
411
412 /**
413 * Visits an FCONST instruction.
414 *
415 * @param obj the instruction.
416 */
417 void visitFCONST(FCONST obj);
418
419 /**
420 * Visits an FDIV instruction.
421 *
422 * @param obj the instruction.
423 */
424 void visitFDIV(FDIV obj);
425
426 /**
427 * Visits a FieldInstruction.
428 *
429 * @param obj the instruction.
430 */
431 void visitFieldInstruction(FieldInstruction obj);
432
433 /**
434 * Visits a FieldOrMethod.
435 *
436 * @param obj the instruction.
437 */
438 void visitFieldOrMethod(FieldOrMethod obj);
439
440 /**
441 * Visits an FLOAD instruction.
442 *
443 * @param obj the instruction.
444 */
445 void visitFLOAD(FLOAD obj);
446
447 /**
448 * Visits an FMUL instruction.
449 *
450 * @param obj the instruction.
451 */
452 void visitFMUL(FMUL obj);
453
454 /**
455 * Visits an FNEG instruction.
456 *
457 * @param obj the instruction.
458 */
459 void visitFNEG(FNEG obj);
460
461 /**
462 * Visits an FREM instruction.
463 *
464 * @param obj the instruction.
465 */
466 void visitFREM(FREM obj);
467
468 /**
469 * Visits an FRETURN instruction.
470 *
471 * @param obj the instruction.
472 */
473 void visitFRETURN(FRETURN obj);
474
475 /**
476 * Visits an FSTORE instruction.
477 *
478 * @param obj the instruction.
479 */
480 void visitFSTORE(FSTORE obj);
481
482 /**
483 * Visits an FSUB instruction.
484 *
485 * @param obj the instruction.
486 */
487 void visitFSUB(FSUB obj);
488
489 /**
490 * Visits a GETFIELD instruction.
491 *
492 * @param obj the instruction.
493 */
494 void visitGETFIELD(GETFIELD obj);
495
496 /**
497 * Visits a GETSTATIC instruction.
498 *
499 * @param obj the instruction.
500 */
501 void visitGETSTATIC(GETSTATIC obj);
502
503 /**
504 * Visits a GOTO instruction.
505 *
506 * @param obj the instruction.
507 */
508 void visitGOTO(GOTO obj);
509
510 /**
511 * Visits a GOTO_W instruction.
512 *
513 * @param obj the instruction.
514 */
515 void visitGOTO_W(GOTO_W obj);
516
517 /**
518 * Visits a GotoInstruction.
519 *
520 * @param obj the instruction.
521 */
522 void visitGotoInstruction(GotoInstruction obj);
523
524 /**
525 * Visits an I2B instruction.
526 *
527 * @param obj the instruction.
528 */
529 void visitI2B(I2B obj);
530
531 /**
532 * Visits an I2C instruction.
533 *
534 * @param obj the instruction.
535 */
536 void visitI2C(I2C obj);
537
538 /**
539 * Visits an I2D instruction.
540 *
541 * @param obj the instruction.
542 */
543 void visitI2D(I2D obj);
544
545 /**
546 * Visits an I2F instruction.
547 *
548 * @param obj the instruction.
549 */
550 void visitI2F(I2F obj);
551
552 /**
553 * Visits an I2L instruction.
554 *
555 * @param obj the instruction.
556 */
557 void visitI2L(I2L obj);
558
559 /**
560 * Visits an I2S instruction.
561 *
562 * @param obj the instruction.
563 */
564 void visitI2S(I2S obj);
565
566 /**
567 * Visits an IADD instruction.
568 *
569 * @param obj the instruction.
570 */
571 void visitIADD(IADD obj);
572
573 /**
574 * Visits an IALOAD instruction.
575 *
576 * @param obj the instruction.
577 */
578 void visitIALOAD(IALOAD obj);
579
580 /**
581 * Visits an IAND instruction.
582 *
583 * @param obj the instruction.
584 */
585 void visitIAND(IAND obj);
586
587 /**
588 * Visits an IASTORE instruction.
589 *
590 * @param obj the instruction.
591 */
592 void visitIASTORE(IASTORE obj);
593
594 /**
595 * Visits an ICONST instruction.
596 *
597 * @param obj the instruction.
598 */
599 void visitICONST(ICONST obj);
600
601 /**
602 * Visits an IDIV instruction.
603 *
604 * @param obj the instruction.
605 */
606 void visitIDIV(IDIV obj);
607
608 /**
609 * Visits an IF_ACMPEQ instruction.
610 *
611 * @param obj the instruction.
612 */
613 void visitIF_ACMPEQ(IF_ACMPEQ obj);
614
615 /**
616 * Visits an IF_ACMPNE instruction.
617 *
618 * @param obj the instruction.
619 */
620 void visitIF_ACMPNE(IF_ACMPNE obj);
621
622 /**
623 * Visits an IF_ICMPEQ instruction.
624 *
625 * @param obj the instruction.
626 */
627 void visitIF_ICMPEQ(IF_ICMPEQ obj);
628
629 /**
630 * Visits an IF_ICMPGE instruction.
631 *
632 * @param obj the instruction.
633 */
634 void visitIF_ICMPGE(IF_ICMPGE obj);
635
636 /**
637 * Visits an IF_ICMPGT instruction.
638 *
639 * @param obj the instruction.
640 */
641 void visitIF_ICMPGT(IF_ICMPGT obj);
642
643 /**
644 * Visits an IF_ICMPLE instruction.
645 *
646 * @param obj the instruction.
647 */
648 void visitIF_ICMPLE(IF_ICMPLE obj);
649
650 /**
651 * Visits an IF_ICMPLT instruction.
652 *
653 * @param obj the instruction.
654 */
655 void visitIF_ICMPLT(IF_ICMPLT obj);
656
657 /**
658 * Visits an IF_ICMPNE instruction.
659 *
660 * @param obj the instruction.
661 */
662 void visitIF_ICMPNE(IF_ICMPNE obj);
663
664 /**
665 * Visits an IFEQ instruction.
666 *
667 * @param obj the instruction.
668 */
669 void visitIFEQ(IFEQ obj);
670
671 /**
672 * Visits an IFGE instruction.
673 *
674 * @param obj the instruction.
675 */
676 void visitIFGE(IFGE obj);
677
678 /**
679 * Visits an IFGT instruction.
680 *
681 * @param obj the instruction.
682 */
683 void visitIFGT(IFGT obj);
684
685 /**
686 * Visits an IfInstruction.
687 *
688 * @param obj the instruction.
689 */
690 void visitIfInstruction(IfInstruction obj);
691
692 /**
693 * Visits an IFLE instruction.
694 *
695 * @param obj the instruction.
696 */
697 void visitIFLE(IFLE obj);
698
699 /**
700 * Visits an IFLT instruction.
701 *
702 * @param obj the instruction.
703 */
704 void visitIFLT(IFLT obj);
705
706 /**
707 * Visits an IFNE instruction.
708 *
709 * @param obj the instruction.
710 */
711 void visitIFNE(IFNE obj);
712
713 /**
714 * Visits an IFNONNULL instruction.
715 *
716 * @param obj the instruction.
717 */
718 void visitIFNONNULL(IFNONNULL obj);
719
720 /**
721 * Visits an IFNULL instruction.
722 *
723 * @param obj the instruction.
724 */
725 void visitIFNULL(IFNULL obj);
726
727 /**
728 * Visits an IINC instruction.
729 *
730 * @param obj the instruction.
731 */
732 void visitIINC(IINC obj);
733
734 /**
735 * Visits an ILOAD instruction.
736 *
737 * @param obj the instruction.
738 */
739 void visitILOAD(ILOAD obj);
740
741 /**
742 * Visits an IMPDEP1 instruction.
743 *
744 * @param obj the instruction.
745 */
746 void visitIMPDEP1(IMPDEP1 obj);
747
748 /**
749 * Visits an IMPDEP2 instruction.
750 *
751 * @param obj the instruction.
752 */
753 void visitIMPDEP2(IMPDEP2 obj);
754
755 /**
756 * Visits an IMUL instruction.
757 *
758 * @param obj the instruction.
759 */
760 void visitIMUL(IMUL obj);
761
762 /**
763 * Visits an INEG instruction.
764 *
765 * @param obj the instruction.
766 */
767 void visitINEG(INEG obj);
768
769 /**
770 * Visits an INSTANCEOF instruction.
771 *
772 * @param obj the instruction.
773 */
774 void visitINSTANCEOF(INSTANCEOF obj);
775
776 /**
777 * Visits an INVOKEDYNAMIC instruction.
778 *
779 * @param obj the instruction.
780 * @since 6.0
781 */
782 void visitINVOKEDYNAMIC(INVOKEDYNAMIC obj);
783
784 /**
785 * Visits an InvokeInstruction.
786 *
787 * @param obj the instruction.
788 */
789 void visitInvokeInstruction(InvokeInstruction obj);
790
791 /**
792 * Visits an INVOKEINTERFACE instruction.
793 *
794 * @param obj the instruction.
795 */
796 void visitINVOKEINTERFACE(INVOKEINTERFACE obj);
797
798 /**
799 * Visits an INVOKESPECIAL instruction.
800 *
801 * @param obj the instruction.
802 */
803 void visitINVOKESPECIAL(INVOKESPECIAL obj);
804
805 /**
806 * Visits an INVOKESTATIC instruction.
807 *
808 * @param obj the instruction.
809 */
810 void visitINVOKESTATIC(INVOKESTATIC obj);
811
812 /**
813 * Visits an INVOKEVIRTUAL instruction.
814 *
815 * @param obj the instruction.
816 */
817 void visitINVOKEVIRTUAL(INVOKEVIRTUAL obj);
818
819 /**
820 * Visits an IOR instruction.
821 *
822 * @param obj the instruction.
823 */
824 void visitIOR(IOR obj);
825
826 /**
827 * Visits an IREM instruction.
828 *
829 * @param obj the instruction.
830 */
831 void visitIREM(IREM obj);
832
833 /**
834 * Visits an IRETURN instruction.
835 *
836 * @param obj the instruction.
837 */
838 void visitIRETURN(IRETURN obj);
839
840 /**
841 * Visits an ISHL instruction.
842 *
843 * @param obj the instruction.
844 */
845 void visitISHL(ISHL obj);
846
847 /**
848 * Visits an ISHR instruction.
849 *
850 * @param obj the instruction.
851 */
852 void visitISHR(ISHR obj);
853
854 /**
855 * Visits an ISTORE instruction.
856 *
857 * @param obj the instruction.
858 */
859 void visitISTORE(ISTORE obj);
860
861 /**
862 * Visits an ISUB instruction.
863 *
864 * @param obj the instruction.
865 */
866 void visitISUB(ISUB obj);
867
868 /**
869 * Visits an IUSHR instruction.
870 *
871 * @param obj the instruction.
872 */
873 void visitIUSHR(IUSHR obj);
874
875 /**
876 * Visits an IXOR instruction.
877 *
878 * @param obj the instruction.
879 */
880 void visitIXOR(IXOR obj);
881
882 /**
883 * Visits a JSR instruction.
884 *
885 * @param obj the instruction.
886 */
887 void visitJSR(JSR obj);
888
889 /**
890 * Visits a JSR_W instruction.
891 *
892 * @param obj the instruction.
893 */
894 void visitJSR_W(JSR_W obj);
895
896 /**
897 * Visits a JsrInstruction.
898 *
899 * @param obj the instruction.
900 */
901 void visitJsrInstruction(JsrInstruction obj);
902
903 /**
904 * Visits an L2D instruction.
905 *
906 * @param obj the instruction.
907 */
908 void visitL2D(L2D obj);
909
910 /**
911 * Visits an L2F instruction.
912 *
913 * @param obj the instruction.
914 */
915 void visitL2F(L2F obj);
916
917 /**
918 * Visits an L2I instruction.
919 *
920 * @param obj the instruction.
921 */
922 void visitL2I(L2I obj);
923
924 /**
925 * Visits an LADD instruction.
926 *
927 * @param obj the instruction.
928 */
929 void visitLADD(LADD obj);
930
931 /**
932 * Visits an LALOAD instruction.
933 *
934 * @param obj the instruction.
935 */
936 void visitLALOAD(LALOAD obj);
937
938 /**
939 * Visits an LAND instruction.
940 *
941 * @param obj the instruction.
942 */
943 void visitLAND(LAND obj);
944
945 /**
946 * Visits an LASTORE instruction.
947 *
948 * @param obj the instruction.
949 */
950 void visitLASTORE(LASTORE obj);
951
952 /**
953 * Visits an LCMP instruction.
954 *
955 * @param obj the instruction.
956 */
957 void visitLCMP(LCMP obj);
958
959 /**
960 * Visits an LCONST instruction.
961 *
962 * @param obj the instruction.
963 */
964 void visitLCONST(LCONST obj);
965
966 /**
967 * Visits an LDC instruction.
968 *
969 * @param obj the instruction.
970 */
971 void visitLDC(LDC obj);
972
973 /**
974 * Visits an LDC2_W instruction.
975 *
976 * @param obj the instruction.
977 */
978 void visitLDC2_W(LDC2_W obj);
979
980 /**
981 * Visits an LDIV instruction.
982 *
983 * @param obj the instruction.
984 */
985 void visitLDIV(LDIV obj);
986
987 /**
988 * Visits an LLOAD instruction.
989 *
990 * @param obj the instruction.
991 */
992 void visitLLOAD(LLOAD obj);
993
994 /**
995 * Visits an LMUL instruction.
996 *
997 * @param obj the instruction.
998 */
999 void visitLMUL(LMUL obj);
1000
1001 /**
1002 * Visits an LNEG instruction.
1003 *
1004 * @param obj the instruction.
1005 */
1006 void visitLNEG(LNEG obj);
1007
1008 /**
1009 * Visits a LoadClass.
1010 *
1011 * @param obj the load class.
1012 */
1013 void visitLoadClass(LoadClass obj);
1014
1015 /**
1016 * Visits a LoadInstruction.
1017 *
1018 * @param obj the instruction.
1019 */
1020 void visitLoadInstruction(LoadInstruction obj);
1021
1022 /**
1023 * Visits a LocalVariableInstruction.
1024 *
1025 * @param obj the instruction.
1026 */
1027 void visitLocalVariableInstruction(LocalVariableInstruction obj);
1028
1029 /**
1030 * Visits a LOOKUPSWITCH instruction.
1031 *
1032 * @param obj the instruction.
1033 */
1034 void visitLOOKUPSWITCH(LOOKUPSWITCH obj);
1035
1036 /**
1037 * Visits an LOR instruction.
1038 *
1039 * @param obj the instruction.
1040 */
1041 void visitLOR(LOR obj);
1042
1043 /**
1044 * Visits an LREM instruction.
1045 *
1046 * @param obj the instruction.
1047 */
1048 void visitLREM(LREM obj);
1049
1050 /**
1051 * Visits an LRETURN instruction.
1052 *
1053 * @param obj the instruction.
1054 */
1055 void visitLRETURN(LRETURN obj);
1056
1057 /**
1058 * Visits an LSHL instruction.
1059 *
1060 * @param obj the instruction.
1061 */
1062 void visitLSHL(LSHL obj);
1063
1064 /**
1065 * Visits an LSHR instruction.
1066 *
1067 * @param obj the instruction.
1068 */
1069 void visitLSHR(LSHR obj);
1070
1071 /**
1072 * Visits an LSTORE instruction.
1073 *
1074 * @param obj the instruction.
1075 */
1076 void visitLSTORE(LSTORE obj);
1077
1078 /**
1079 * Visits an LSUB instruction.
1080 *
1081 * @param obj the instruction.
1082 */
1083 void visitLSUB(LSUB obj);
1084
1085 /**
1086 * Visits an LUSHR instruction.
1087 *
1088 * @param obj the instruction.
1089 */
1090 void visitLUSHR(LUSHR obj);
1091
1092 /**
1093 * Visits an LXOR instruction.
1094 *
1095 * @param obj the instruction.
1096 */
1097 void visitLXOR(LXOR obj);
1098
1099 /**
1100 * Visits a MONITORENTER instruction.
1101 *
1102 * @param obj the instruction.
1103 */
1104 void visitMONITORENTER(MONITORENTER obj);
1105
1106 /**
1107 * Visits a MONITOREXIT instruction.
1108 *
1109 * @param obj the instruction.
1110 */
1111 void visitMONITOREXIT(MONITOREXIT obj);
1112
1113 /**
1114 * Visits a MULTIANEWARRAY instruction.
1115 *
1116 * @param obj the instruction.
1117 */
1118 void visitMULTIANEWARRAY(MULTIANEWARRAY obj);
1119
1120 /**
1121 * Visits a NEW instruction.
1122 *
1123 * @param obj the instruction.
1124 */
1125 void visitNEW(NEW obj);
1126
1127 /**
1128 * Visits a NEWARRAY instruction.
1129 *
1130 * @param obj the instruction.
1131 */
1132 void visitNEWARRAY(NEWARRAY obj);
1133
1134 /**
1135 * Visits a NOP instruction.
1136 *
1137 * @param obj the instruction.
1138 */
1139 void visitNOP(NOP obj);
1140
1141 /**
1142 * Visits a POP instruction.
1143 *
1144 * @param obj the instruction.
1145 */
1146 void visitPOP(POP obj);
1147
1148 /**
1149 * Visits a POP2 instruction.
1150 *
1151 * @param obj the instruction.
1152 */
1153 void visitPOP2(POP2 obj);
1154
1155 /**
1156 * Visits a PopInstruction.
1157 *
1158 * @param obj the instruction.
1159 */
1160 void visitPopInstruction(PopInstruction obj);
1161
1162 /**
1163 * Visits a PushInstruction.
1164 *
1165 * @param obj the instruction.
1166 */
1167 void visitPushInstruction(PushInstruction obj);
1168
1169 /**
1170 * Visits a PUTFIELD instruction.
1171 *
1172 * @param obj the instruction.
1173 */
1174 void visitPUTFIELD(PUTFIELD obj);
1175
1176 /**
1177 * Visits a PUTSTATIC instruction.
1178 *
1179 * @param obj the instruction.
1180 */
1181 void visitPUTSTATIC(PUTSTATIC obj);
1182
1183 /**
1184 * Visits a RET instruction.
1185 *
1186 * @param obj the instruction.
1187 */
1188 void visitRET(RET obj);
1189
1190 /**
1191 * Visits a RETURN instruction.
1192 *
1193 * @param obj the instruction.
1194 */
1195 void visitRETURN(RETURN obj);
1196
1197 /**
1198 * Visits a ReturnInstruction.
1199 *
1200 * @param obj the instruction.
1201 */
1202 void visitReturnInstruction(ReturnInstruction obj);
1203
1204 /**
1205 * Visits a SALOAD instruction.
1206 *
1207 * @param obj the instruction.
1208 */
1209 void visitSALOAD(SALOAD obj);
1210
1211 /**
1212 * Visits a SASTORE instruction.
1213 *
1214 * @param obj the instruction.
1215 */
1216 void visitSASTORE(SASTORE obj);
1217
1218 /**
1219 * Visits a Select instruction.
1220 *
1221 * @param obj the instruction.
1222 */
1223 void visitSelect(Select obj);
1224
1225 /**
1226 * Visits a SIPUSH instruction.
1227 *
1228 * @param obj the instruction.
1229 */
1230 void visitSIPUSH(SIPUSH obj);
1231
1232 /**
1233 * Visits a StackConsumer.
1234 *
1235 * @param obj the instruction.
1236 */
1237 void visitStackConsumer(StackConsumer obj);
1238
1239 /**
1240 * Visits a StackInstruction.
1241 *
1242 * @param obj the instruction.
1243 */
1244 void visitStackInstruction(StackInstruction obj);
1245
1246 /**
1247 * Visits a StackProducer.
1248 *
1249 * @param obj the instruction.
1250 */
1251 void visitStackProducer(StackProducer obj);
1252
1253 /**
1254 * Visits a StoreInstruction.
1255 *
1256 * @param obj the instruction.
1257 */
1258 void visitStoreInstruction(StoreInstruction obj);
1259
1260 /**
1261 * Visits a SWAP instruction.
1262 *
1263 * @param obj the instruction.
1264 */
1265 void visitSWAP(SWAP obj);
1266
1267 /**
1268 * Visits a TABLESWITCH instruction.
1269 *
1270 * @param obj the instruction.
1271 */
1272 void visitTABLESWITCH(TABLESWITCH obj);
1273
1274 /**
1275 * Visits a TypedInstruction.
1276 *
1277 * @param obj the instruction.
1278 */
1279 void visitTypedInstruction(TypedInstruction obj);
1280
1281 /**
1282 * Visits an UnconditionalBranch.
1283 *
1284 * @param obj the instruction.
1285 */
1286 void visitUnconditionalBranch(UnconditionalBranch obj);
1287
1288 /**
1289 * Visits a VariableLengthInstruction.
1290 *
1291 * @param obj the instruction.
1292 */
1293 void visitVariableLengthInstruction(VariableLengthInstruction obj);
1294 }