getBestCandidate method
Implementation
TypeInfo getBestCandidate(TypeInfo type) {
List<TypeInfo> candidates = getNonAbstractSubtypes(type);
candidates.sort(
(t1, t2) => typeSystem.isSubtypeOf(t1.type, t2.type) ? 1 : 0,
);
if (candidates.length > 1) {
//throw new Exception('too many ${type.displayName}');
}
if (candidates.isEmpty) {
throw Exception('no initialisation candidate for ${type.fullName}');
}
return candidates[0];
}