Skip to content

Commit

Permalink
Always quote matcher replacements
Browse files Browse the repository at this point in the history
  • Loading branch information
booky10 committed Jul 5, 2023
1 parent 48279eb commit 4bfcb27
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions src/main/java/dev/booky/stackdeobf/mappings/RemappingUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,40 @@ public static String remapClasses(String string) {
int classId = Integer.parseInt(result.group(2));
String className = CachedMappings.remapClass(classId);
if (className == null) {
return result.group();
return Matcher.quoteReplacement(result.group());
}

String packageName = result.group(1);
if (packageName != null) {
// a package has been specified, don't remove it
if (packageName.indexOf('.') == -1) {
// original package name contains "/" as package separator instead of "."
return className.replace('.', '/');
className = className.replace('.', '/');
}
} else {
// no package in original string, remove it
int packageIndex = className.lastIndexOf('.');
if (packageIndex != -1) {
className = className.substring(packageIndex + 1);
}
return className;
}

// no package in original string, remove it
int packageIndex = className.lastIndexOf('.');
if (packageIndex != -1) {
className = className.substring(packageIndex + 1);
}
return className;
return Matcher.quoteReplacement(className);
});
}

public static String remapMethods(String string) {
return METHOD_PATTERN.matcher(string).replaceAll(result -> {
int methodId = Integer.parseInt(result.group(1));
String methodName = CachedMappings.remapMethod(methodId);
return methodName == null ? result.group() : Matcher.quoteReplacement(methodName);
return Matcher.quoteReplacement(methodName == null ? result.group() : methodName);
});
}

public static String remapFields(String string) {
return FIELD_PATTERN.matcher(string).replaceAll(result -> {
int fieldId = Integer.parseInt(result.group(1));
String fieldName = CachedMappings.remapField(fieldId);
return fieldName == null ? result.group() : fieldName;
return Matcher.quoteReplacement(fieldName == null ? result.group() : fieldName);
});
}

Expand Down

0 comments on commit 4bfcb27

Please sign in to comment.