private void annotateSparseSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull SparseSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() > 0) { out.annotate(0, "keys:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "key[%d] = %d", i, elements.get(i).getKey()); } out.deindent(); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
private void annotateSparseSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull SparseSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() > 0) { out.annotate(0, "keys:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "key[%d] = %d", i, elements.get(i).getKey()); } out.deindent(); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
private void annotateSparseSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull SparseSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() > 0) { out.annotate(0, "keys:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "key[%d] = %d", i, elements.get(i).getKey()); } out.deindent(); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
private void annotatePackedSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull PackedSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() == 0) { out.annotate(4, "first_key"); } else { out.annotate(4, "first_key = %d", elements.get(0).getKey()); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
private void annotatePackedSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull PackedSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() == 0) { out.annotate(4, "first_key"); } else { out.annotate(4, "first_key = %d", elements.get(0).getKey()); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
private void annotatePackedSwitchPayload(@Nonnull AnnotatedBytes out, @Nonnull PackedSwitchPayload instruction) { List<? extends SwitchElement> elements = instruction.getSwitchElements(); out.annotate(2, instruction.getOpcode().name); out.indent(); out.annotate(2, "size = %d", elements.size()); if (elements.size() == 0) { out.annotate(4, "first_key"); } else { out.annotate(4, "first_key = %d", elements.get(0).getKey()); out.annotate(0, "targets:"); out.indent(); for (int i=0; i<elements.size(); i++) { out.annotate(4, "target[%d] = %d", i, elements.get(i).getOffset()); } out.deindent(); } out.deindent(); }
public static void annotateEncodedArray(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); annotateEncodedValue(out, reader); out.deindent(); } }
public static void annotateEncodedArray(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); annotateEncodedValue(out, reader); out.deindent(); } }
public static void annotateEncodedArray(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); annotateEncodedValue(out, reader); out.deindent(); } } }
public static void annotateEncodedAnnotation(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int typeIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), TypeIdItem.getReferenceAnnotation(reader.dexBuf, typeIndex)); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); int nameIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "name = %s", StringIdItem.getReferenceAnnotation(reader.dexBuf, nameIndex)); annotateEncodedValue(out, reader); out.deindent(); } }
public static void annotateEncodedAnnotation(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int typeIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), TypeIdItem.getReferenceAnnotation(reader.dexBuf, typeIndex)); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); int nameIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "name = %s", StringIdItem.getReferenceAnnotation(reader.dexBuf, nameIndex)); annotateEncodedValue(out, reader); out.deindent(); } }
public static void annotateEncodedAnnotation(@Nonnull AnnotatedBytes out, @Nonnull DexReader reader) { assert out.getCursor() == reader.getOffset(); int typeIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), TypeIdItem.getReferenceAnnotation(reader.dexBuf, typeIndex)); int size = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "size: %d", size); for (int i=0; i<size; i++) { out.annotate(0, "element[%d]", i); out.indent(); int nameIndex = reader.readSmallUleb128(); out.annotateTo(reader.getOffset(), "name = %s", StringIdItem.getReferenceAnnotation(reader.dexBuf, nameIndex)); annotateEncodedValue(out, reader); out.deindent(); } }
out.indent(); for (int i=0; i<fieldsSize; i++) { out.annotate(0, "field_annotation[%d]", i); out.indent(); int fieldIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", FieldIdItem.getReferenceAnnotation(dexFile, fieldIndex)); out.indent(); for (int i=0; i<annotatedMethodsSize; i++) { out.annotate(0, "method_annotation[%d]", i); out.indent(); int methodIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", MethodIdItem.getReferenceAnnotation(dexFile, methodIndex)); out.indent(); for (int i=0; i<annotatedParameterSize; i++) { out.annotate(0, "parameter_annotation[%d]", i); out.indent(); int methodIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", MethodIdItem.getReferenceAnnotation(dexFile, methodIndex));
out.indent(); for (int i=0; i<fieldsSize; i++) { out.annotate(0, "field_annotation[%d]", i); out.indent(); int fieldIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", FieldIdItem.getReferenceAnnotation(dexFile, fieldIndex)); out.indent(); for (int i=0; i<annotatedMethodsSize; i++) { out.annotate(0, "method_annotation[%d]", i); out.indent(); int methodIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", MethodIdItem.getReferenceAnnotation(dexFile, methodIndex)); out.indent(); for (int i=0; i<annotatedParameterSize; i++) { out.annotate(0, "parameter_annotation[%d]", i); out.indent(); int methodIndex = dexFile.readSmallUint(out.getCursor()); out.annotate(4, "%s", MethodIdItem.getReferenceAnnotation(dexFile, methodIndex));
protected void annotateSectionInner(@Nonnull AnnotatedBytes out, int itemCount) { String itemName = getItemName(); int itemAlignment = getItemAlignment(); if (itemCount > 0) { out.annotate(0, ""); out.annotate(0, "-----------------------------"); out.annotate(0, "%s section", itemName); out.annotate(0, "-----------------------------"); out.annotate(0, ""); for (int i=0; i<itemCount; i++) { out.moveTo(AlignmentUtils.alignOffset(out.getCursor(), itemAlignment)); String itemIdentity = getItemIdentity(out.getCursor()); if (itemIdentity != null) { out.annotate(0, "[%d] %s: %s", i, itemName, itemIdentity); } else { out.annotate(0, "[%d] %s", i, itemName); } out.indent(); annotateItem(out, i, itemIdentity); out.deindent(); } } }
protected void annotateSectionInner(@Nonnull AnnotatedBytes out, int itemCount) { String itemName = getItemName(); int itemAlignment = getItemAlignment(); if (itemCount > 0) { out.annotate(0, ""); out.annotate(0, "-----------------------------"); out.annotate(0, "%s section", itemName); out.annotate(0, "-----------------------------"); out.annotate(0, ""); for (int i=0; i<itemCount; i++) { out.moveTo(AlignmentUtils.alignOffset(out.getCursor(), itemAlignment)); String itemIdentity = getItemIdentity(out.getCursor()); if (itemIdentity != null) { out.annotate(0, "[%d] %s: %s", i, itemName, itemIdentity); } else { out.annotate(0, "[%d] %s", i, itemName); } out.indent(); annotateItem(out, i, itemIdentity); out.deindent(); } } }
protected void annotateSectionInner(@Nonnull AnnotatedBytes out, int itemCount) { String itemName = getItemName(); int itemAlignment = getItemAlignment(); if (itemCount > 0) { out.annotate(0, ""); out.annotate(0, "-----------------------------"); out.annotate(0, "%s section", itemName); out.annotate(0, "-----------------------------"); out.annotate(0, ""); for (int i=0; i<itemCount; i++) { out.moveTo(AlignmentUtils.alignOffset(out.getCursor(), itemAlignment)); String itemIdentity = getItemIdentity(out.getCursor()); if (itemIdentity != null) { out.annotate(0, "[%d] %s: %s", i, itemName, itemIdentity); } else { out.annotate(0, "[%d] %s", i, itemName); } out.indent(); annotateItem(out, i, itemIdentity); out.deindent(); } } }