Gosu corrupted classes

62 views
Skip to first unread message

Tadeusz

unread,
Jan 30, 2025, 4:06:06 AMJan 30
to gosu-lang

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.

Reply all
Reply to author
Forward
0 new messages