parseMapTypeDescriptor function

MapTypeInfo? parseMapTypeDescriptor(
  1. $AT descriptor
)

Implementation

MapTypeInfo? parseMapTypeDescriptor($AT descriptor) {
  if (!isMapTypeDescriptor(descriptor) || descriptor.typeArguments.length < 2) {
    return null;
  }

  return MapTypeInfo(
    typeDescriptor: descriptor,
    keyTypeDescriptor: descriptor.typeArguments[0],
    valueTypeDescriptor: descriptor.typeArguments[1],
    nullableMap: isNullableTypeDescriptor(descriptor),
    nullableKey: isNullableTypeDescriptor(descriptor.typeArguments[0]),
    nullableValue: isNullableTypeDescriptor(descriptor.typeArguments[1]),
  );
}