FabricMC / fabric-mixin-compile-extensions

Extensions for Mixin's annotation processor.
MIT License
8 stars 8 forks source link

Fix Mixin missing class-change-only refmap entries when the mappings don't include no-op (1:1) name mappings #8

Closed sfPlayer1 closed 3 years ago

sfPlayer1 commented 3 years ago

The current implementation depends on useless mapping entries such as

METHOD  bvx ()V close   close

to properly remap a reference like

Lnet/minecraft/server/world/ServerWorld;close()V

to

Lnet/minecraft/class_3218;close()V

and create the appropriate refmap entry.

This PR changes mapping lookup logic to remap the owner if there's no direct member mapping. Mixin used to do the same before 93dca4fc57b5786e915ddf15e88b109a72a63ab1 with that commit apparently being a faulty workaround for a different issue.