diff --git a/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java b/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java index ff42c469..f859e5dc 100644 --- a/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java +++ b/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java @@ -495,10 +495,7 @@ private static String mergeTypeEx(String a, String b) { return b; } else if (ta.fixed) { if (ta != tb) { - if (as == 0) { - throw new RuntimeException(); - } - return buildArray(as - 1, "L"); + return buildArray(as == 0 ? 0 : as - 1, "L"); } if (ta == TypeClass.INT) { String chooseType = "I"; @@ -615,7 +612,7 @@ private static String mergeProviderType(String a, String b) { } else if (ta.fixed) { // special allow merge of Z and I if ((ta == TypeClass.INT && tb == TypeClass.BOOLEAN) - || (tb == TypeClass.INT && ta == TypeClass.BOOLEAN)) { + || (tb == TypeClass.INT && ta == TypeClass.BOOLEAN)) { return "I"; } if (ta != tb) {