visitLiteralRecordExpression method
StringSink
visitLiteralRecordExpression(
- LiteralRecordExpression expression, [
- StringSink? output
override
Implementation
@override
StringSink visitLiteralRecordExpression(
LiteralRecordExpression expression, [
StringSink? output,
]) {
final out = output ??= StringBuffer();
return _writeConstExpression(out, expression.isConst, () {
out.write('(');
visitAll<Object?>(expression.positionalFieldValues, out, (value) {
_acceptLiteral(value, out);
});
if (expression.namedFieldValues.isNotEmpty) {
if (expression.positionalFieldValues.isNotEmpty) {
out.write(', ');
}
} else if (expression.positionalFieldValues.length == 1) {
out.write(',');
}
visitAll<MapEntry<String, Object?>>(
expression.namedFieldValues.entries, out, (entry) {
out.write('${entry.key}: ');
_acceptLiteral(entry.value, out);
});
return out..write(')');
});
}