fix: ambiguity in mapping member names

This commit is contained in:
zaaarf 2023-03-31 12:56:40 +02:00
parent 44cec29b1c
commit 032d43d63c
No known key found for this signature in database
GPG key ID: 82240E075E31FA4C

View file

@ -189,7 +189,7 @@ public class ObfuscationMapper {
*/
public String get(String memberName, String methodDescriptor) {
//find all keys that start with the name
List<String> candidates = members.keySet().stream().filter(m -> m.startsWith(memberName)).collect(Collectors.toList());
List<String> candidates = members.keySet().stream().filter(m -> m.equals(memberName.split(" ")[0])).collect(Collectors.toList());
if(methodDescriptor != null) {
String signature = String.format("%s %s", memberName, methodDescriptor);
candidates = candidates.stream().filter(m -> m.equals(signature)).collect(Collectors.toList());
@ -206,10 +206,11 @@ public class ObfuscationMapper {
return members.get(candidates.get(0));
default:
throw new AmbiguousDefinitionException(String.format(
"Mapper could not uniquely identify member %s.%s%s",
"Mapper could not uniquely identify member %s.%s%s, found %d!",
this.unobf,
memberName,
methodDescriptor == null ? "" : "()"
methodDescriptor == null ? "" : "()",
candidates.size()
));
}
}