You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Commit 147a04d introduced an update to JarMapping#parseCsrgLine that would remove the / suffix from old package names in CSRG mappings in order to comply with the mapped package names on bukkit, which did not have a trailing slash.
SpecialSource should be able to properly handle package names' trailing slashes for all SRG-based formats.
Proposed solution
Adding the existing trailing slash handler code from parseSrgLine to parseCsrgLine as well solves the issue. It's a simple and backwards-compatible solution.
The Issue
Commit 147a04d introduced an update to
JarMapping#parseCsrgLine
that would remove the/
suffix from old package names in CSRG mappings in order to comply with the mapped package names on bukkit, which did not have a trailing slash.SpecialSource/src/main/java/net/md_5/specialsource/JarMapping.java
Lines 458 to 462 in a33eacd
However, this causes an inconsistency in names that breaks renaming packages.
Normally, both old and new SRG package names are expected to have trailing slashes. This should apply to other SRG-based formats as well.
SpecialSource/src/main/java/net/md_5/specialsource/JarMapping.java
Line 567 in a33eacd
Reproduction
Remaping the class name
com/example/foo/Main
with any of the following TSRG lines will result in invalid class names:com/example/foo/ com/example/bar/
->com/example/bar//Main
, expected:com/example/bar/Main
com/example/foo/ .
->/Main
, expected:Main
Expected behavior
SpecialSource should be able to properly handle package names' trailing slashes for all SRG-based formats.
Proposed solution
Adding the existing trailing slash handler code from
parseSrgLine
toparseCsrgLine
as well solves the issue. It's a simple and backwards-compatible solution.SpecialSource/src/main/java/net/md_5/specialsource/JarMapping.java
Lines 568 to 574 in a33eacd
The text was updated successfully, but these errors were encountered: