diff --git a/dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java b/dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java index a1942313..3737adbc 100644 --- a/dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java +++ b/dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java @@ -359,8 +359,8 @@ public class ClassDefItem extends Item { StaticFieldInitializer staticFieldInitializer = staticFieldInitializers.get(i); if (staticFieldInitializer.value != null && - (staticFieldInitializer.value.compareTo(TypeUtils.makeDefaultValueForType(dexFile, - staticFieldInitializer.field.field.getFieldType().getTypeDescriptor())) != 0)) { + (staticFieldInitializer.value.compareTo(TypeUtils.makeDefaultValueForType( + staticFieldInitializer.field.field.getFieldType())) != 0)) { lastIndex = i; break; } @@ -377,8 +377,7 @@ public class ClassDefItem extends Item { StaticFieldInitializer staticFieldInitializer = staticFieldInitializers.get(i); EncodedValue encodedValue = staticFieldInitializer.value; if (encodedValue == null) { - encodedValue = TypeUtils.makeDefaultValueForType(dexFile, - staticFieldInitializer.field.field.getFieldType().getTypeDescriptor()); + encodedValue = TypeUtils.makeDefaultValueForType(staticFieldInitializer.field.field.getFieldType()); } values[i] = encodedValue; diff --git a/dexlib/src/main/java/org/jf/dexlib/Util/TypeUtils.java b/dexlib/src/main/java/org/jf/dexlib/Util/TypeUtils.java index 54f1b3bb..40cedda0 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Util/TypeUtils.java +++ b/dexlib/src/main/java/org/jf/dexlib/Util/TypeUtils.java @@ -28,13 +28,12 @@ package org.jf.dexlib.Util; -import org.jf.dexlib.DexFile; import org.jf.dexlib.EncodedValue.*; +import org.jf.dexlib.TypeIdItem; public class TypeUtils { - public static EncodedValue makeDefaultValueForType(DexFile dexFile, String type) { - EncodedValue subField; + public static EncodedValue makeDefaultValueForType(String type) { switch (type.charAt(0)) { case 'Z': return BooleanEncodedValue.FalseValue; @@ -58,4 +57,8 @@ public class TypeUtils } return null; } + + public static EncodedValue makeDefaultValueForType(TypeIdItem type) { + return makeDefaultValueForType(type.getTypeDescriptor()); + } }