138 print((instr.getPC() + offset)); |
138 print((instr.getPC() + offset)); |
139 return null; |
139 return null; |
140 } |
140 } |
141 |
141 |
142 public Void visitConstantPoolRef(Instruction instr, int index, Void p) { |
142 public Void visitConstantPoolRef(Instruction instr, int index, Void p) { |
143 print("#" + index + ";"); |
143 print("#" + index); |
144 tab(); |
144 tab(); |
145 print("// "); |
145 print("// "); |
146 printConstant(index); |
146 printConstant(index); |
147 return null; |
147 return null; |
148 } |
148 } |
149 |
149 |
150 public Void visitConstantPoolRefAndValue(Instruction instr, int index, int value, Void p) { |
150 public Void visitConstantPoolRefAndValue(Instruction instr, int index, int value, Void p) { |
151 print("#" + index + ", " + value + ";"); |
151 print("#" + index + ", " + value); |
152 tab(); |
152 tab(); |
153 print("// "); |
153 print("// "); |
154 printConstant(index); |
154 printConstant(index); |
155 return null; |
155 return null; |
156 } |
156 } |
168 public Void visitLookupSwitch(Instruction instr, int default_, int npairs, int[] matches, int[] offsets) { |
168 public Void visitLookupSwitch(Instruction instr, int default_, int npairs, int[] matches, int[] offsets) { |
169 int pc = instr.getPC(); |
169 int pc = instr.getPC(); |
170 print("{ // " + npairs); |
170 print("{ // " + npairs); |
171 indent(+1); |
171 indent(+1); |
172 for (int i = 0; i < npairs; i++) { |
172 for (int i = 0; i < npairs; i++) { |
173 print("\n" + matches[i] + ": " + (pc + offsets[i]) + ";"); |
173 print("\n" + matches[i] + ": " + (pc + offsets[i])); |
174 } |
174 } |
175 print("\ndefault: " + (pc + default_) + " }"); |
175 print("\ndefault: " + (pc + default_) + " }"); |
176 indent(-1); |
176 indent(-1); |
177 return null; |
177 return null; |
178 } |
178 } |
180 public Void visitTableSwitch(Instruction instr, int default_, int low, int high, int[] offsets) { |
180 public Void visitTableSwitch(Instruction instr, int default_, int low, int high, int[] offsets) { |
181 int pc = instr.getPC(); |
181 int pc = instr.getPC(); |
182 print("{ //" + low + " to " + high); |
182 print("{ //" + low + " to " + high); |
183 indent(+1); |
183 indent(+1); |
184 for (int i = 0; i < offsets.length; i++) { |
184 for (int i = 0; i < offsets.length; i++) { |
185 print("\n" + (low + i) + ": " + (pc + offsets[i]) + ";"); |
185 print("\n" + (low + i) + ": " + (pc + offsets[i])); |
186 } |
186 } |
187 print("\ndefault: " + (pc + default_) + " }"); |
187 print("\ndefault: " + (pc + default_) + " }"); |
188 indent(-1); |
188 indent(-1); |
189 return null; |
189 return null; |
190 } |
190 } |