Rename: Fix processing of overriding methods with mangled names

#KT-24460 Fixed
This commit is contained in:
Alexey Sedunov
2018-05-30 13:47:40 +03:00
parent eea9113d1c
commit 862dc76ed9
21 changed files with 320 additions and 25 deletions
@@ -1676,13 +1676,21 @@ public class KotlinTypeMapper {
}
@Nullable
public static String internalNameWithoutModuleSuffix(@NotNull String name) {
public static String demangleInternalName(@NotNull String name) {
int indexOfDollar = name.indexOf('$');
if (indexOfDollar == -1) {
return null;
}
return indexOfDollar >= 0 ? name.substring(0, indexOfDollar) : null;
}
return name.substring(0, indexOfDollar) + '$';
@Nullable
public static String getModuleNameSuffix(@NotNull String name) {
int indexOfDollar = name.indexOf('$');
return indexOfDollar >=0 ? name.substring(indexOfDollar + 1) : null;
}
@Nullable
public static String internalNameWithoutModuleSuffix(@NotNull String name) {
String demangledName = demangleInternalName(name);
return demangledName != null ? demangledName + '$' : null;
}
}
}