FabricMC / tiny-remapper

Tiny JAR remapping tool.
GNU Lesser General Public License v3.0
115 stars 65 forks source link

Some method signatures are not remapped properly #113

Open SpaceWalkerRS opened 1 year ago

SpaceWalkerRS commented 1 year ago

I'm experiencing this issue on a Minecraft jar, so I cannot attach a class file. I'll be looking at a Minecraft 1.13.2 jar (either client or server) and attempting to remap it to some intermediary.

Example 1: class acu with signature <K:Ljava/lang/Object;T::Lacx<TK;TT;>;R:Ljava/lang/Object;>Ljava/lang/Object;>, method b(Ljava/lang/Object;)Lacu$a;, with signature (TK;)Lacu<TK;TT;TR;>.acu$a;, after remapping the method signature is messed up: (TK;)Lnet/minecraft/unmapped/C_0114090<TK;TT;TR;>.a; (note the .a at the end, which should be the intermediary name of acu$a).

Example 2: class tx with signature Lacu<Laxm;Lbnd;Lbnr;>;, method a(Laxm;Z)Lacu$a; with signature (Laxm;Z)Lacu<Laxm;Lbnd;Lbnr;>.acu$a;, after remapping the method signature is messed up: (Lnet/minecraft/unmapped/C_7141926;Z)Lnet/minecraft/unmapped/C_0114090<Lnet/minecraft/unmapped/C_7141926;Lnet/minecraft/unmapped/C_3331146;Lnet/minecraft/unmapped/C_0960638;>.a; (note the .a at the end, which should be the intermediary name of acu$a).