hasGenerics method
Returns true if this type contains generic parameters.
This method checks whether this ResolvableType has any generic type
parameters, such as the T in List<T>
or the K,V in Map<K,V>
.
Returns:
- true if this type has generic parameters
- false if this type has no generics
Example:
final stringType = ResolvableType.forClass(String);
final listType = ResolvableType.forClass(List<String>);
final mapType = ResolvableType.forClass(Map<String, int>);
final rawListType = ResolvableType.forClass(List); // Raw type
print(stringType.hasGenerics()); // false
print(listType.hasGenerics()); // true
print(mapType.hasGenerics()); // true
print(rawListType.hasGenerics()); // false (raw type)
// Useful for generic type processing
void processType(ResolvableType type) {
if (type.hasGenerics()) {
print("Generic type with ${type.getGenerics().length} parameters");
for (int i = 0; i < type.getGenerics().length; i++) {
final generic = type.getGeneric([i]);
print(" Parameter $i: ${generic.resolve()?.getType()}");
}
} else {
print("Non-generic type: ${type.resolve()?.getType()}");
}
}
Implementation
bool hasGenerics() => getGenerics().isNotEmpty;