resolveType method

  1. @override
ImportableType resolveType(
  1. DartType type
)
override

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),
  );
}