private static String[] parseParamTypeNames(String str) {
        if (str.length() == 0) {
            return new String[0];
        }
        List<String> l = new ArrayList<>();
        int start = 0;
        while (true) {
            int i = str.indexOf(',', start);
            if (i == -1) {
                l.add(str.substring(start).trim());
                break;
            }
            l.add(str.substring(start, i).trim());
            start = i + 1;
        }
        return l.toArray(new String[l.size()]);
    }
This is a parser for custom aop pointcut expression.
<p>
Such as <pre>int android.util.Log.d(java.lang.String,java.lang.String)</pre>
plugin/src/main/groovy/com/didichuxing/tools/droidassist/spec/SourceSpec.java