From 57c37c222c43f732c8b7703263cf9a573561322f Mon Sep 17 00:00:00 2001 From: Juuz Date: Wed, 3 Sep 2025 13:59:45 +0300 Subject: Always specify locale in toUpperCase and toLowerCase (#556) Not all of these changes are strictly needed to avoid the Turkish i issue specifically, but it's good to be consistent.--- enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java | 5 +++-- .../java/cuchaz/enigma/translation/representation/AccessFlags.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'enigma/src/main/java') diff --git a/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java b/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java index 95c2c2a..c0979f5 100644 --- a/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java +++ b/enigma/src/main/java/cuchaz/enigma/analysis/StructureTreeNode.java @@ -3,6 +3,7 @@ package cuchaz.enigma.analysis; import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import java.util.Locale; import java.util.stream.Stream; import javax.swing.tree.DefaultMutableTreeNode; @@ -67,9 +68,9 @@ public class StructureTreeNode extends DefaultMutableTreeNode { case DEFAULT -> children; case A_Z -> children.sorted(Comparator.comparing(e -> (e instanceof MethodEntry m && m.isConstructor()) // compare the class name when the entry is a constructor - ? project.getMapper().deobfuscate(e.getParent()).getSimpleName().toLowerCase() : project.getMapper().deobfuscate(e).getSimpleName().toLowerCase())); + ? project.getMapper().deobfuscate(e.getParent()).getSimpleName().toLowerCase(Locale.ROOT) : project.getMapper().deobfuscate(e).getSimpleName().toLowerCase())); case Z_A -> children.sorted( - Comparator.comparing(e -> (e instanceof MethodEntry m && m.isConstructor()) ? project.getMapper().deobfuscate(((ParentedEntry) e).getParent()).getSimpleName().toLowerCase() : project.getMapper().deobfuscate((ParentedEntry) e).getSimpleName().toLowerCase()).reversed()); + Comparator.comparing(e -> (e instanceof MethodEntry m && m.isConstructor()) ? project.getMapper().deobfuscate(((ParentedEntry) e).getParent()).getSimpleName().toLowerCase() : project.getMapper().deobfuscate((ParentedEntry) e).getSimpleName().toLowerCase(Locale.ROOT)).reversed()); }; for (ParentedEntry child : children.toList()) { diff --git a/enigma/src/main/java/cuchaz/enigma/translation/representation/AccessFlags.java b/enigma/src/main/java/cuchaz/enigma/translation/representation/AccessFlags.java index 24204f8..bd45340 100644 --- a/enigma/src/main/java/cuchaz/enigma/translation/representation/AccessFlags.java +++ b/enigma/src/main/java/cuchaz/enigma/translation/representation/AccessFlags.java @@ -1,6 +1,7 @@ package cuchaz.enigma.translation.representation; import java.lang.reflect.Modifier; +import java.util.Locale; import org.objectweb.asm.Opcodes; @@ -110,7 +111,7 @@ public class AccessFlags { @Override public String toString() { - StringBuilder builder = new StringBuilder(Access.get(this).toString().toLowerCase()); + StringBuilder builder = new StringBuilder(Access.get(this).toString().toLowerCase(Locale.ROOT)); if (isStatic()) { builder.append(" static"); -- cgit v1.2.3