checkSafeKeyType function
void
checkSafeKeyType(
- String expression,
- DartType keyArg
)
Implementation
void checkSafeKeyType(String expression, DartType keyArg) {
// We're not going to handle converting key types at the moment
// So the only safe types for key are dynamic/Object/String/enum
final safeKey = keyArg.isLikeDynamic ||
coreStringTypeChecker.isExactlyType(keyArg) ||
isKeyStringable(keyArg);
if (!safeKey) {
throw UnsupportedTypeError(keyArg, expression,
'Map keys must be one of: ${allowedTypeNames.join(', ')}.');
}
}