Skip to content

Commit 9c6cde4

Browse files
Fix inheritance issue in ClassCastException causing InvokePolymorphicExpr
NewTransformer#findInvokeExpr attempts to cast InvokePolymorphicExpr to InvokeExpr under certain inputs, which causes a ClassCastException. It appears that InvokePolymorphicExpr was meant to extend InvokeExpr for this reason.
1 parent f1da047 commit 9c6cde4

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

dex-ir/src/main/java/com/googlecode/dex2jar/ir/expr/InvokePolymorphicExpr.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
import com.googlecode.dex2jar.ir.LabelAndLocalMapper;
66
import com.googlecode.dex2jar.ir.Util;
77

8-
public class InvokePolymorphicExpr extends AbstractInvokeExpr {
8+
public class InvokePolymorphicExpr extends InvokeExpr {
99

1010
public Proto proto;
1111

12-
public Method method;
13-
1412
@Override
1513
protected void releaseMemory() {
1614
method = null;
@@ -24,9 +22,8 @@ public Proto getProto() {
2422
}
2523

2624
public InvokePolymorphicExpr(VT type, Value[] args, Proto proto, Method method) {
27-
super(type, args);
25+
super(type, args, method);
2826
this.proto = proto;
29-
this.method = method;
3027
}
3128

3229
@Override

0 commit comments

Comments
 (0)