hasResolvableGenerics method
Returns true if this type contains at least one generic type that can be resolved.
This method checks whether this ResolvableType has generic parameters that can be resolved to concrete types (not type variables or dynamic types).
Returns:
- true if this type has at least one resolvable generic parameter
- false if all generics are unresolvable or no generics exist
Example:
final concreteListType = ResolvableType.forClass(List<String>);
final genericListType = ResolvableType.forClass(List); // List<T> where T is unresolved
print(concreteListType.hasResolvableGenerics()); // true - String is resolvable
print(genericListType.hasResolvableGenerics()); // false - T is unresolvable
// Useful for determining if generic instantiation is possible
bool canInstantiateGenericType(ResolvableType type) {
return type.hasResolvableGenerics() || !type.hasGenerics();
}
Implementation
bool hasResolvableGenerics() {
if (this == NONE) return false;
final generics = getGenerics();
for (final generic in generics) {
if (!generic._isUnresolvableTypeVariable() && !generic._isDynamicType()) {
return true;
}
}
return false;
}