Fix remapping of inner classes with mappings.

This commit is contained in:
Lex Manos 2013-11-24 21:00:21 -08:00
parent 1addd1baeb
commit 4df5b1e4f4

View File

@ -90,11 +90,8 @@ public class JarRemapper extends CustomRemapper {
}
public static String mapTypeName(String typeName, Map<String, String> packageMap, Map<String, String> classMap, String defaultIfUnmapped) {
int index = typeName.indexOf('$');
String key = (index == -1) ? typeName : typeName.substring(0, index);
String mapped = mapClassName(key, packageMap, classMap);
return mapped != null ? mapped + (index == -1 ? "" : typeName.substring(index, typeName.length())) : defaultIfUnmapped;
String mapped = mapClassName(typeName, packageMap, classMap);
return mapped != null ? mapped : defaultIfUnmapped;
}
/**
@ -104,6 +101,15 @@ public class JarRemapper extends CustomRemapper {
if (classMap != null && classMap.containsKey(className)) {
return classMap.get(className);
}
int index = className.lastIndexOf('$');
if (index != -1)
{
String outer = className.substring(0, index);
String mapped = mapClassName(outer, packageMap, classMap);
if (mapped == null) return null;
return mapped + className.substring(index);
}
if (packageMap != null) {
Iterator<String> iter = packageMap.keySet().iterator();