public static String externalizeDescriptor()

in bytekit-core/src/main/java/com/alibaba/bytekit/utils/TypeHelper.java [246:273]


    public static String externalizeDescriptor(String desc)
    {
        // the descriptor will start with '(' and the arguments list should end with ')' and,
        // if it is not void be followed by a return type
        int openIdx = desc.indexOf('(');
        int closeIdx = desc.indexOf(')');
        int length = desc.length();
        if (openIdx != 0) {
            return "";
        }
        if (closeIdx < 0) {
            return "";
        }
        String retType = (closeIdx < length ? desc.substring(closeIdx + 1).trim() : "");
        String externalRetType = externalizeType(retType);
        String argString = desc.substring(1, closeIdx).trim();
        String externalArgs = "";
        if (argString.equals("")) {
            externalArgs = argString;
        } else {
            String[] args = desc.substring(1, closeIdx).trim().split(",");
            for (int i = 0; i < args.length ; i++) {
                externalArgs += externalizeType(args[i]);
            }
        }

        return "(" + externalArgs + ")" + externalRetType;
    }