splitGenericArgs function
Implementation
List<String> splitGenericArgs(String argsString) {
var to = <String>[];
var lastPos = 0;
var inBrackets = 0;
for (var i = 0; i < argsString.length; i++) {
var c = argsString[i];
if (inBrackets > 0) {
if (c == '<')
inBrackets++;
else if (c == '>') inBrackets--;
continue;
}
if (c == '<') {
inBrackets++;
continue;
}
if (c == ',') {
var arg = argsString.substring(lastPos, i - lastPos).replaceAll(" ", "");
to.add(arg);
lastPos = i + 1;
}
}
var lastArg = argsString.substring(lastPos).replaceAll(" ", "");
;
to.add(lastArg);
return to;
}