convertTypeReference function

TypeReference convertTypeReference(
  1. DartType t,
  2. {bool forceNullable = false,
  3. bool ignoreNullabilityCheck = false}
)

Converts a DartType to a TypeReference.

Implementation

TypeReference convertTypeReference(DartType t,
    {bool forceNullable = false, bool ignoreNullabilityCheck = false}) {
  return TypeReference((b) {
    b.symbol = t.element?.displayName;

    // Generate nullable type
    if (ignoreNullabilityCheck) {
      b.isNullable = false;
    } else {
      if (t.nullabilitySuffix == NullabilitySuffix.question || forceNullable) {
        b.isNullable = true;
      }
    }

    if (t is InterfaceType) {
      b.types.addAll(t.typeArguments.map(convertTypeReference));
    }
  });
}