resolveType method
Implementation
@override
ImportableType resolveType(DartType type) {
final effectiveElement = type.alias?.element ?? type.element;
final imports = resolveImports(effectiveElement);
if (type is RecordType && type.alias == null) {
return ImportableType.record(
name: effectiveElement?.displayName ?? '',
import: imports.firstOrNull,
otherImports: imports.skip(1).toSet(),
isNullable: type.nullabilitySuffix == NullabilitySuffix.question,
typeArguments: _resolveTypeArguments(type),
);
}
return ImportableType(
name: effectiveElement?.displayName ??
type.getDisplayString(withNullability: false),
isNullable: type.nullabilitySuffix == NullabilitySuffix.question,
import: imports.firstOrNull,
otherImports: imports.skip(1).toSet(),
typeArguments: _resolveTypeArguments(type),
);
}