visit<T> method
Implementation
T visit<T>(
DartType k, T Function(DartType) map, T Function(T, List<T>) reduce) {
if (k is TypeParameterType) {
return map(k);
}
if (k is! ParameterizedType || k.typeArguments.isEmpty) {
return map(k);
}
final ks = k.typeArguments.map((v) => visit<T>(v, map, reduce));
if (ks.isEmpty) {
return map(k);
}
return reduce(map(k), ks.toList());
}