diff options
author | Yohann Roussel <yroussel@google.com> | 2016-01-28 14:36:05 +0100 |
---|---|---|
committer | Yohann Roussel <yroussel@google.com> | 2016-01-28 14:36:05 +0100 |
commit | 5d0fa87bdc0944b325ce70fd661660697dabf848 (patch) | |
tree | f0481f9914537cbd499a5b0b2b4245c7ff149c9b | |
parent | 47d5a85f8b82542e3f1ce4ee29c48ec17d70589f (diff) | |
download | android_dalvik-5d0fa87bdc0944b325ce70fd661660697dabf848.tar.gz android_dalvik-5d0fa87bdc0944b325ce70fd661660697dabf848.tar.bz2 android_dalvik-5d0fa87bdc0944b325ce70fd661660697dabf848.zip |
Consider direct references in interface methods
Previously ClassReferenceListBuilder was considering only CstMethodRef
and ignoring CstInterfaceMethodRef.
Bug: 26823834
Change-Id: I5f016feb7ba91c9ab6abcd9edd9ecd7a27aa3ef9
-rw-r--r-- | dx/src/com/android/multidex/ClassReferenceListBuilder.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/dx/src/com/android/multidex/ClassReferenceListBuilder.java b/dx/src/com/android/multidex/ClassReferenceListBuilder.java index 8218693c9..f014708d9 100644 --- a/dx/src/com/android/multidex/ClassReferenceListBuilder.java +++ b/dx/src/com/android/multidex/ClassReferenceListBuilder.java @@ -19,6 +19,7 @@ package com.android.multidex; import com.android.dx.cf.direct.DirectClassFile; import com.android.dx.rop.cst.Constant; import com.android.dx.rop.cst.ConstantPool; +import com.android.dx.rop.cst.CstBaseMethodRef; import com.android.dx.rop.cst.CstFieldRef; import com.android.dx.rop.cst.CstMethodRef; import com.android.dx.rop.cst.CstType; @@ -103,8 +104,8 @@ public class ClassReferenceListBuilder { checkDescriptor(((CstType) constant).getClassType()); } else if (constant instanceof CstFieldRef) { checkDescriptor(((CstFieldRef) constant).getType()); - } else if (constant instanceof CstMethodRef) { - Prototype proto = ((CstMethodRef) constant).getPrototype(); + } else if (constant instanceof CstBaseMethodRef) { + Prototype proto = ((CstBaseMethodRef) constant).getPrototype(); checkDescriptor(proto.getReturnType()); StdTypeList args = proto.getParameterTypes(); for (int i = 0; i < args.size(); i++) { |