Lines Matching refs:writer

86     public boolean writeTo(IndentingWriter writer) throws IOException {
97 writer.write("#was invalid verification error type: ");
98 writer.printSignedIntAsDec(verificationError);
99 writer.write("\n");
117 writer.write("#");
118 writer.write(ex.getMessage());
119 writer.write("\n");
126 writer.write("#invalid reference type: ");
127 writer.printSignedIntAsDec(ex.getReferenceType());
154 writer.write("#invalid payload reference");
161 writer.write("#disallowed odex opcode\n");
167 writer.write("#");
172 writeOpcode(writer);
173 writer.write(' ');
174 writeTargetLabel(writer);
178 writer.write("#unknown opcode: 0x");
179 writer.printUnsignedLongAsHex(((UnknownInstruction)instruction).getOriginalOpcode());
180 writer.write('\n');
182 writeOpcode(writer);
185 writeOpcode(writer);
186 writer.write(' ');
187 writeFirstRegister(writer);
188 writer.write(", ");
189 writeLiteral(writer);
192 writeOpcode(writer);
193 writer.write(' ');
194 writeFirstRegister(writer);
197 writeOpcode(writer);
198 writer.write(' ');
199 writeFirstRegister(writer);
200 writer.write(", ");
201 writeSecondRegister(writer);
204 writeOpcode(writer);
205 writer.write(' ');
206 writer.write(verificationErrorName);
207 writer.write(", ");
208 writer.write(referenceString);
212 writeOpcode(writer);
213 writer.write(' ');
214 writeTargetLabel(writer);
218 writeOpcode(writer);
219 writer.write(' ');
220 writeFirstRegister(writer);
221 writer.write(", ");
222 writer.write(referenceString);
229 writeOpcode(writer);
230 writer.write(' ');
231 writeFirstRegister(writer);
232 writer.write(", ");
233 writeLiteral(writer);
235 writeCommentIfLikelyDouble(writer);
237 boolean isResourceId = writeCommentIfResourceId(writer);
238 if (!isResourceId) writeCommentIfLikelyFloat(writer);
243 writeOpcode(writer);
244 writer.write(' ');
245 writeFirstRegister(writer);
246 writer.write(", ");
247 writeTargetLabel(writer);
251 writeOpcode(writer);
252 writer.write(' ');
253 writeFirstRegister(writer);
254 writer.write(", ");
255 writeSecondRegister(writer);
256 writer.write(", ");
257 writeLiteral(writer);
260 writeOpcode(writer);
261 writer.write(' ');
262 writeFirstRegister(writer);
263 writer.write(", ");
264 writeSecondRegister(writer);
265 writer.write(", ");
266 writer.write(referenceString);
269 writeOpcode(writer);
270 writer.write(' ');
271 writeFirstRegister(writer);
272 writer.write(", ");
273 writeSecondRegister(writer);
274 writer.write(", ");
275 writeFieldOffset(writer);
278 writeOpcode(writer);
279 writer.write(' ');
280 writeFirstRegister(writer);
281 writer.write(", ");
282 writeSecondRegister(writer);
283 writer.write(", ");
284 writeTargetLabel(writer);
288 writeOpcode(writer);
289 writer.write(' ');
290 writeFirstRegister(writer);
291 writer.write(", ");
292 writeSecondRegister(writer);
295 writeOpcode(writer);
296 writer.write(' ');
297 writeFirstRegister(writer);
298 writer.write(", ");
299 writeSecondRegister(writer);
300 writer.write(", ");
301 writeThirdRegister(writer);
304 writeOpcode(writer);
305 writer.write(' ');
306 writeInvokeRegisters(writer);
307 writer.write(", ");
308 writer.write(referenceString);
311 writeOpcode(writer);
312 writer.write(' ');
313 writeInvokeRegisters(writer);
314 writer.write(", ");
315 writeInlineIndex(writer);
318 writeOpcode(writer);
319 writer.write(' ');
320 writeInvokeRegisters(writer);
321 writer.write(", ");
322 writeVtableIndex(writer);
325 writeOpcode(writer);
326 writer.write(' ');
327 writeInvokeRangeRegisters(writer);
328 writer.write(", ");
329 writer.write(referenceString);
332 writeOpcode(writer);
333 writer.write(' ');
334 writeInvokeRangeRegisters(writer);
335 writer.write(", ");
336 writeInlineIndex(writer);
339 writeOpcode(writer);
340 writer.write(' ');
341 writeInvokeRangeRegisters(writer);
342 writer.write(", ");
343 writeVtableIndex(writer);
351 writer.write("\nnop");
357 protected void writeOpcode(IndentingWriter writer) throws IOException {
358 writer.write(instruction.getOpcode().name);
361 protected void writeTargetLabel(IndentingWriter writer) throws IOException {
367 protected void writeRegister(IndentingWriter writer, int registerNumber) throws IOException {
368 methodDef.registerFormatter.writeTo(writer, registerNumber);
371 protected void writeFirstRegister(IndentingWriter writer) throws IOException {
372 writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA());
375 protected void writeSecondRegister(IndentingWriter writer) throws IOException {
376 writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB());
379 protected void writeThirdRegister(IndentingWriter writer) throws IOException {
380 writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC());
383 protected void writeInvokeRegisters(IndentingWriter writer) throws IOException {
387 writer.write('{');
390 writeRegister(writer, instruction.getRegisterC());
393 writeRegister(writer, instruction.getRegisterC());
394 writer.write(", ");
395 writeRegister(writer, instruction.getRegisterD());
398 writeRegister(writer, instruction.getRegisterC());
399 writer.write(", ");
400 writeRegister(writer, instruction.getRegisterD());
401 writer.write(", ");
402 writeRegister(writer, instruction.getRegisterE());
405 writeRegister(writer, instruction.getRegisterC());
406 writer.write(", ");
407 writeRegister(writer, instruction.getRegisterD());
408 writer.write(", ");
409 writeRegister(writer, instruction.getRegisterE());
410 writer.write(", ");
411 writeRegister(writer, instruction.getRegisterF());
414 writeRegister(writer, instruction.getRegisterC());
415 writer.write(", ");
416 writeRegister(writer, instruction.getRegisterD());
417 writer.write(", ");
418 writeRegister(writer, instruction.getRegisterE());
419 writer.write(", ");
420 writeRegister(writer, instruction.getRegisterF());
421 writer.write(", ");
422 writeRegister(writer, instruction.getRegisterG());
425 writer.write('}');
428 protected void writeInvokeRangeRegisters(IndentingWriter writer) throws IOException {
433 writer.write("{}");
436 methodDef.registerFormatter.writeRegisterRange(writer, startRegister, startRegister+regCount-1);
440 protected void writeLiteral(IndentingWriter writer) throws IOException {
441 LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
444 protected void writeCommentIfLikelyFloat(IndentingWriter writer) throws IOException {
445 writeCommentIfLikelyFloat(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral());
448 protected void writeCommentIfLikelyFloat(IndentingWriter writer, int val) throws IOException {
450 writer.write(" # ");
453 writer.write("Float.POSITIVE_INFINITY");
455 writer.write("Float.NEGATIVE_INFINITY");
457 writer.write("Float.NaN");
459 writer.write("Float.MAX_VALUE");
461 writer.write("(float)Math.PI");
463 writer.write("(float)Math.E");
465 writer.write(Float.toString(fval));
466 writer.write('f');
471 protected void writeCommentIfLikelyDouble(IndentingWriter writer) throws IOException {
472 writeCommentIfLikelyDouble(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
475 protected void writeCommentIfLikelyDouble(IndentingWriter writer, long val) throws IOException {
477 writer.write(" # ");
480 writer.write("Double.POSITIVE_INFINITY");
482 writer.write("Double.NEGATIVE_INFINITY");
484 writer.write("Double.NaN");
486 writer.write("Double.MAX_VALUE");
488 writer.write("Math.PI");
490 writer.write("Math.E");
492 writer.write(Double.toString(dval));
496 protected boolean writeCommentIfResourceId(IndentingWriter writer) throws IOException {
497 return writeCommentIfResourceId(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral());
500 protected boolean writeCommentIfResourceId(IndentingWriter writer, int val) throws IOException {
504 writer.write(" # ");
505 writer.write(resource);
511 protected void writeFieldOffset(IndentingWriter writer) throws IOException {
512 writer.write("field@0x");
513 writer.printUnsignedLongAsHex(((FieldOffsetInstruction)instruction).getFieldOffset());
516 protected void writeInlineIndex(IndentingWriter writer) throws IOException {
517 writer.write("inline@");
518 writer.printSignedIntAsDec(((InlineIndexInstruction)instruction).getInlineIndex());
521 protected void writeVtableIndex(IndentingWriter writer) throws IOException {
522 writer.write("vtable@");
523 writer.printSignedIntAsDec(((VtableIndexInstruction)instruction).getVtableIndex());