Skip to content

Commit c1083c8

Browse files
committed
fix not remapping implemented interfaces
1 parent 71bbb80 commit c1083c8

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/main/java/de/blazemcworld/jsscripts/Mappings.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,24 @@ private static MethodDef getMethod(ClassDef classDef, String namespace, String n
122122
}
123123

124124
try {
125-
Class<?> parent = Class.forName(classDef.getName(current()).replace('/', '.')).getSuperclass();
125+
Class<?> currentClass = Class.forName(classDef.getName(current()).replace('/', '.'));
126+
Class<?> parent = currentClass.getSuperclass();
126127
if (parent != null) {
127128
ClassDef def = getClass(current(), parent.getName());
128129
if (def != null) {
129-
return getMethod(def, namespace, name);
130+
MethodDef res = getMethod(def, namespace, name);
131+
if (res != null) {
132+
return res;
133+
}
134+
}
135+
}
136+
for (Class<?> iface : currentClass.getInterfaces()) {
137+
ClassDef def = getClass(current(), iface.getName());
138+
if (def != null) {
139+
MethodDef res = getMethod(def, namespace, name);
140+
if (res != null) {
141+
return res;
142+
}
130143
}
131144
}
132145
} catch (ClassNotFoundException e) {

0 commit comments

Comments
 (0)