Fixing a subtle bug: the method isParameterWithType() did not consider arbitrary...
[jpf-core.git] / src / main / gov / nasa / jpf / jvm / bytecode / JVMInstructionVisitor.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and 
16  * limitations under the License.
17  */
18 package gov.nasa.jpf.jvm.bytecode;
19
20 import gov.nasa.jpf.vm.Instruction;
21
22 public interface JVMInstructionVisitor {
23
24         public void visit(Instruction ins);
25         public void visit(AALOAD ins);
26         public void visit(AASTORE ins);
27         public void visit(ACONST_NULL ins);
28         public void visit(ALOAD ins);
29         public void visit(ANEWARRAY ins);
30         public void visit(ARETURN ins);
31         public void visit(JVMArrayElementInstruction ins);
32         public void visit(ARRAYLENGTH ins);
33         public void visit(ArrayLoadInstruction ins);
34         public void visit(ArrayStoreInstruction ins);
35         public void visit(ASTORE ins);
36         public void visit(ATHROW ins);
37         public void visit(BALOAD ins);
38         public void visit(BASTORE ins);
39         public void visit(BIPUSH ins);
40         public void visit(CALOAD ins);
41         public void visit(CASTORE ins);
42         public void visit(CHECKCAST ins);
43         public void visit(D2F ins);
44         public void visit(D2I ins);
45         public void visit(D2L ins);
46         public void visit(DADD ins);
47         public void visit(DALOAD ins);
48         public void visit(DASTORE ins);
49         public void visit(DCMPG ins);
50         public void visit(DCMPL ins);
51         public void visit(DCONST ins);
52         public void visit(DDIV ins);
53   public void visit(DIRECTCALLRETURN ins);
54         public void visit(DLOAD ins);
55         public void visit(DMUL ins);
56         public void visit(DNEG ins);
57         public void visit(DREM ins);
58         public void visit(DRETURN ins);
59         public void visit(DSTORE ins);
60         public void visit(DSUB ins);
61         public void visit(DUP_X1 ins);
62         public void visit(DUP_X2 ins);
63         public void visit(DUP ins);
64         public void visit(DUP2_X1 ins);
65         public void visit(DUP2_X2 ins);
66         public void visit(DUP2 ins);
67   public void visit(EXECUTENATIVE ins);
68         public void visit(F2D ins);
69         public void visit(F2I ins);
70         public void visit(FADD ins);
71         public void visit(FALOAD ins);
72         public void visit(FASTORE ins);
73         public void visit(FCMPL ins);
74         public void visit(FCONST ins);
75         public void visit(FDIV ins);
76         public void visit(JVMFieldInstruction ins);
77         public void visit(FLOAD ins);
78         public void visit(FMUL ins);
79         public void visit(FNEG ins);
80         public void visit(FREM ins);
81         public void visit(FRETURN ins);
82         public void visit(FSTORE ins);
83         public void visit(FSUB ins);
84         public void visit(GETFIELD ins);
85         public void visit(GETSTATIC ins);
86         public void visit(GOTO_W ins);
87         public void visit(GOTO ins);
88         public void visit(I2B ins);
89         public void visit(I2C ins);
90         public void visit(I2D ins);
91         public void visit(I2F ins);
92         public void visit(I2L ins);
93         public void visit(I2S ins);
94         public void visit(IADD ins);
95         public void visit(IALOAD ins);
96         public void visit(IAND ins);
97         public void visit(IASTORE ins);
98         public void visit(ICONST ins);
99         public void visit(IDIV ins);
100         public void visit(IF_ACMPEQ ins);
101         public void visit(IF_ACMPNE ins);
102         public void visit(IF_ICMPEQ ins);
103         public void visit(IF_ICMPGE ins);
104         public void visit(IF_ICMPGT ins);
105         public void visit(IF_ICMPLE ins);
106         public void visit(IF_ICMPLT ins);
107         public void visit(IF_ICMPNE ins);
108         public void visit(IFEQ ins);
109         public void visit(IFGE ins);
110         public void visit(IFGT ins);
111         public void visit(IfInstruction ins);
112         public void visit(IFLE ins);
113         public void visit(IFLT ins);
114         public void visit(IFNE ins);
115         public void visit(IFNONNULL ins);
116         public void visit(IFNULL ins);
117         public void visit(IINC ins);
118         public void visit(ILOAD ins);
119         public void visit(IMUL ins);
120         public void visit(INEG ins);
121         public void visit(JVMInstanceFieldInstruction ins);
122         public void visit(InstanceInvocation ins);
123         public void visit(INSTANCEOF ins);
124         public void visit(INVOKECG ins);
125         public void visit(INVOKECLINIT ins);
126         public void visit(JVMInvokeInstruction ins);
127         public void visit(INVOKEINTERFACE ins);
128         public void visit(INVOKESPECIAL ins);
129         public void visit(INVOKESTATIC ins);
130         public void visit(INVOKEVIRTUAL ins);
131         public void visit(IOR ins);
132         public void visit(IREM ins);
133         public void visit(IRETURN ins);
134         public void visit(ISHL ins);
135         public void visit(ISHR ins);
136         public void visit(ISTORE ins);
137         public void visit(ISUB ins);
138         public void visit(IUSHR ins);
139         public void visit(IXOR ins);
140         public void visit(JSR_W ins);
141         public void visit(JSR ins);
142         public void visit(L2D ins);
143         public void visit(L2F ins);
144         public void visit(L2I ins);
145         public void visit(LADD ins);
146         public void visit(LALOAD ins);
147         public void visit(LAND ins);
148         public void visit(LASTORE ins);
149         public void visit(LCMP ins);
150         public void visit(LCONST ins);
151         public void visit(LDC_W ins);
152         public void visit(LDC ins);
153         public void visit(LDC2_W ins);
154         public void visit(LDIV ins);
155         public void visit(LLOAD ins);
156         public void visit(LMUL ins);
157         public void visit(LNEG ins);
158         public void visit(JVMLocalVariableInstruction ins);
159         public void visit(LockInstruction ins);
160         public void visit(LongArrayLoadInstruction ins);
161         public void visit(LongArrayStoreInstruction ins);
162         public void visit(LOOKUPSWITCH ins);
163         public void visit(LOR ins);
164         public void visit(LREM ins);
165         public void visit(LRETURN ins);
166         public void visit(LSHL ins);
167         public void visit(LSHR ins);
168         public void visit(LSTORE ins);
169         public void visit(LSUB ins);
170         public void visit(LUSHR ins);
171         public void visit(LXOR ins);
172         public void visit(MONITORENTER ins);
173         public void visit(MONITOREXIT ins);
174         public void visit(MULTIANEWARRAY ins);
175   public void visit(NATIVERETURN ins);
176         public void visit(NEW ins);
177         public void visit(NEWARRAY ins);
178         public void visit(NOP ins);
179         public void visit(POP ins);
180         public void visit(POP2 ins);
181         public void visit(PUTFIELD ins);
182         public void visit(PUTSTATIC ins);
183         public void visit(RET ins);
184         public void visit(RETURN ins);
185         public void visit(JVMReturnInstruction ins);
186         public void visit(SALOAD ins);
187         public void visit(SASTORE ins);
188         public void visit(SIPUSH ins);
189         public void visit(JVMStaticFieldInstruction ins);
190         /**public void visit(StoreInstruction ins);**/ // neha: this is just an interface, not implemented
191         public void visit(SWAP ins);
192         public void visit(SwitchInstruction ins);
193         public void visit(TABLESWITCH ins);
194         /**public void visit(VariableAccessor ins);**/ // neha: this is just an interface, not implemented
195         public void visit(VirtualInvocation ins);
196         public void visit(WIDE ins);
197 }