When making a ClassDataItem from scratch, sort the fields and methods

git-svn-id: https://smali.googlecode.com/svn/trunk@405 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
JesusFreke@JesusFreke.com
2009-08-23 03:43:19 +00:00
parent b90597bd9b
commit 1877b664de

View File

@ -30,6 +30,9 @@ package org.jf.dexlib;
import org.jf.dexlib.Util.*;
import java.util.Arrays;
import java.util.Comparator;
public class ClassDataItem extends Item<ClassDataItem> {
private EncodedField[] staticFields;
private EncodedField[] instanceFields;
@ -75,6 +78,13 @@ public class ClassDataItem extends Item<ClassDataItem> {
public static ClassDataItem getInternedClassDataItem(DexFile dexFile, EncodedField[] staticFields,
EncodedField[] instanceFields, EncodedMethod[] directMethods,
EncodedMethod[] virtualMethods) {
if (!dexFile.getInplace()) {
Arrays.sort(staticFields);
Arrays.sort(instanceFields);
Arrays.sort(directMethods);
Arrays.sort(virtualMethods);
}
ClassDataItem classDataItem = new ClassDataItem(dexFile, staticFields, instanceFields, directMethods,
virtualMethods);
return dexFile.ClassDataSection.intern(classDataItem);