mirror of
https://github.com/revanced/smali.git
synced 2025-05-02 07:34:28 +02:00
Introduced getInterfacesFull() method to ensure that all interfaces are resolved when creating a vtable.
This commit is contained in:
parent
89b28308db
commit
d3ac72fd67
@ -141,10 +141,16 @@ public class ClassProto implements TypeProto {
|
||||
interfacesFullyResolved = false;
|
||||
}
|
||||
|
||||
return interfaces;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
protected LinkedHashMap<String, ClassDef> getInterfacesFull() {
|
||||
LinkedHashMap<String, ClassDef> interfaces = getInterfaces();
|
||||
|
||||
if (!interfacesFullyResolved) {
|
||||
throw new UnresolvedClassException("Interfaces for class %s not fully resolved", getType());
|
||||
}
|
||||
|
||||
return interfaces;
|
||||
}
|
||||
|
||||
@ -519,7 +525,7 @@ public class ClassProto implements TypeProto {
|
||||
if (!isInterface()) {
|
||||
addToVtable(getClassDef().getVirtualMethods(), virtualMethodList);
|
||||
|
||||
for (ClassDef interfaceDef: getInterfaces().values()) {
|
||||
for (ClassDef interfaceDef: getInterfacesFull().values()) {
|
||||
addToVtable(interfaceDef.getVirtualMethods(), virtualMethodList);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user