From 9f6bc080a4a601df48464a99cacdec116f34e3d7 Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Mon, 10 Aug 2009 06:57:05 +0000 Subject: [PATCH] Added asserts to check if items are being placed in the original locations, when writing a dex file "in place" git-svn-id: https://smali.googlecode.com/svn/trunk@377 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- dexlib/src/main/java/org/jf/dexlib/Item.java | 1 + dexlib/src/main/java/org/jf/dexlib/Section.java | 1 + 2 files changed, 2 insertions(+) diff --git a/dexlib/src/main/java/org/jf/dexlib/Item.java b/dexlib/src/main/java/org/jf/dexlib/Item.java index e029a3e7..825ec28f 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Item.java +++ b/dexlib/src/main/java/org/jf/dexlib/Item.java @@ -79,6 +79,7 @@ public abstract class Item implements Comparable { */ protected int placeAt(int offset, int index) { assert offset % getItemType().ItemAlignment == 0:"The offset is not aligned"; + assert !dexFile.getInplace() || (offset == this.offset && this.index == index); this.offset = offset; this.index = index; diff --git a/dexlib/src/main/java/org/jf/dexlib/Section.java b/dexlib/src/main/java/org/jf/dexlib/Section.java index d84c6945..eae06549 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Section.java +++ b/dexlib/src/main/java/org/jf/dexlib/Section.java @@ -85,6 +85,7 @@ public abstract class Section { protected int placeAt(int offset) { if (items.size() > 0) { offset = AlignmentUtils.alignOffset(offset, ItemType.ItemAlignment); + assert !DexFile.getInplace() || offset == this.offset; this.offset = offset; for (int i=0; i < items.size(); i++) {