visitFunctionTypeExpr method
Implementation
@override
String visitFunctionTypeExpr(FuncTypeExpr expr) {
final output = StringBuffer();
output.write('${_lexicon.kFun} ${_lexicon.groupExprStart}');
output.write(expr.paramTypes
.map((param) => visitParamTypeExpr(param))
.join('${_lexicon.comma} '));
if (expr.hasOptionalParam) {
output.write(_lexicon.optionalPositionalParameterEnd);
} else if (expr.hasNamedParam) {
output.write(_lexicon.codeBlockEnd);
}
output.write(
'${_lexicon.groupExprEnd} ${_lexicon.functionReturnTypeIndicator} ');
final returnTypeString = formatAST(expr.returnType);
output.write(returnTypeString);
return output.toString();
}