FabricMC / stitch

Stitch is a set of tools for working with and updating Tiny-format mappings. Potentially a future replacement for Weave.
Apache License 2.0
24 stars 29 forks source link

CommandMergeTinyV2 doesn't like members with the same name but different descriptors #28

Open Juuxel opened 4 years ago

Juuxel commented 4 years ago

Proguard creates these when obfuscating, but it throws an exception when you try to merge two mappings by the obf names:

java.lang.IllegalStateException: Duplicate key net.fabricmc.stitch.commands.tinyv2.TinyField@4623e502
    at net.fabricmc.stitch.commands.tinyv2.TinyClass.mapFieldsByFirstNamespace(TinyClass.java:63)
    at net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2.mergeClasses(CommandMergeTinyV2.java:190)
    at net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2.lambda$merge$0(CommandMergeTinyV2.java:140)
    at net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2.map(CommandMergeTinyV2.java:304)
    at net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2.merge(CommandMergeTinyV2.java:134)
    at net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2.run(CommandMergeTinyV2.java:118)
natanfudge commented 4 years ago

Concern