in src/main/java/com/jetbrains/jdi/JNITypeParser.java [59:102]
public static String typeNameToSignature(String typeName) {
StringBuilder sb = new StringBuilder();
int firstIndex = typeName.indexOf('[');
int index = firstIndex;
while (index != -1) {
sb.append('[');
index = typeName.indexOf('[', index + 1);
}
if (firstIndex != -1) {
typeName = typeName.substring(0, firstIndex);
}
if (typeName.equals("boolean")) {
sb.append('Z');
} else if (typeName.equals("byte")) {
sb.append('B');
} else if (typeName.equals("char")) {
sb.append('C');
} else if (typeName.equals("short")) {
sb.append('S');
} else if (typeName.equals("int")) {
sb.append('I');
} else if (typeName.equals("long")) {
sb.append('J');
} else if (typeName.equals("float")) {
sb.append('F');
} else if (typeName.equals("double")) {
sb.append('D');
} else {
sb.append('L');
index = typeName.indexOf("/"); // check if it's a hidden class
if (index < 0) {
sb.append(typeName.replace('.', '/'));
} else {
sb.append(typeName.substring(0, index).replace('.', '/'));
sb.append(".");
sb.append(typeName.substring(index + 1));
}
sb.append(';');
}
return sb.toString();
}