mirror of
https://github.com/revanced/smali.git
synced 2025-05-06 17:34:34 +02:00
Fixed the way default values are created for encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@155 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
parent
9bc4978139
commit
ec90e0d1a4
@ -28,34 +28,33 @@
|
|||||||
|
|
||||||
package org.jf.dexlib.util;
|
package org.jf.dexlib.util;
|
||||||
|
|
||||||
import org.jf.dexlib.EncodedValue.EncodedValueSubFieldFactory;
|
import org.jf.dexlib.EncodedValue.*;
|
||||||
import org.jf.dexlib.EncodedValue.ValueType;
|
|
||||||
import org.jf.dexlib.EncodedValue.EncodedValueSubField;
|
|
||||||
import org.jf.dexlib.DexFile;
|
import org.jf.dexlib.DexFile;
|
||||||
|
|
||||||
public class TypeUtils
|
public class TypeUtils
|
||||||
{
|
{
|
||||||
public static EncodedValueSubField makeDefaultValueForType(DexFile dexFile, String type) {
|
public static EncodedValueSubField makeDefaultValueForType(DexFile dexFile, String type) {
|
||||||
|
EncodedValueSubField subField;
|
||||||
switch (type.charAt(0)) {
|
switch (type.charAt(0)) {
|
||||||
case 'Z':
|
case 'Z':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_BOOLEAN);
|
return new BoolEncodedValueSubField(false);
|
||||||
case 'B':
|
case 'B':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_BYTE);
|
return new ByteEncodedValueSubField((byte)0);
|
||||||
case 'S':
|
case 'S':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_SHORT);
|
return new ShortEncodedValueSubField((short)0);
|
||||||
case 'C':
|
case 'C':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_CHAR);
|
return new CharEncodedValueSubField((char)0);
|
||||||
case 'I':
|
case 'I':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_INT);
|
return new IntEncodedValueSubField(0);
|
||||||
case 'J':
|
case 'J':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_LONG);
|
return new LongEncodedValueSubField(0);
|
||||||
case 'F':
|
case 'F':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_FLOAT);
|
return new FloatEncodedValueSubField(0);
|
||||||
case 'D':
|
case 'D':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_DOUBLE);
|
return new DoubleEncodedValueSubField(0);
|
||||||
case 'L':
|
case 'L':
|
||||||
case '[':
|
case '[':
|
||||||
return EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, ValueType.VALUE_NULL);
|
return new NullEncodedValueSubField();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user