From 8191cd9a7aacbb9b01b3795d217cfcb5de95dce6 Mon Sep 17 00:00:00 2001 From: Izzat Bahadirov Date: Sun, 31 Mar 2013 01:53:57 -0400 Subject: [PATCH] Using sorted static field set in EncodedArrayPool Key. --- .../main/java/org/jf/dexlib2/writer/EncodedArrayPool.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/EncodedArrayPool.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/EncodedArrayPool.java index ae6d4ebb..badbd081 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/EncodedArrayPool.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/EncodedArrayPool.java @@ -140,12 +140,13 @@ public class EncodedArrayPool { @Nullable public static Key of(@Nonnull ClassDef classDef) { - Set staticFields = FluentIterable.from(classDef.getFields()).filter(IS_STATIC_FIELD).toSet(); - Iterable staticFieldsSorted = FluentIterable.from(staticFields).toSortedSet(new FieldComparator()); + Set staticFieldsSorted = FluentIterable.from(classDef.getFields()) + .filter(IS_STATIC_FIELD) + .toSortedSet(new FieldComparator()); int lastIndex = CollectionUtils.lastIndexOf(staticFieldsSorted, HAS_INITIALIZER); if (lastIndex > -1) { - return new Key(staticFields, lastIndex+1); + return new Key(staticFieldsSorted, lastIndex+1); } return null; }