We found out that gosu language has bug while compiling such structure of file
Example<P extends MyClass & MyInterface>
It leads to JVM errors like GenericSignatureFormatError and even after manually fixing class type parameters signature with ASM codebyte library we have bytecode error
Such class will proude such Type Parameters raw signature
<P::Lpackage/MyInterface;Lpackage/MyClass;>Ljava/lang/Object;
which is completely bad as it should be this reversed this way
<P:Lpackage/MyClass;:Lpackage/MyInterface;>Ljava/lang/Object;
You even have such corrupted classes included into repositories libraries
How to reproduce?
Create such structure gosu class file > build > Try with java reflection to obtain Class.getTypeParameters() or Class.getMethods()
Seems that you are iterating from the end of typesignatures which leads to wrong compiled classes
Thanks in advance for fixing it.