public static String typeNameToSignature()

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();
    }