defaultFormalParameter method
Implementation
Parser<ParameterNode> defaultFormalParameter() =>
seq2(
ref0(normalFormalParameter),
(ref1(token, '=') & ref0(expression))
.map((l) => l[1] as ExpressionNode)
.optional(),
).map2((param, defaultVal) {
if (defaultVal != null) {
if (param is SimpleParameterNode) {
return SimpleParameterNode(
name: param.name,
type: param.type,
defaultValue: defaultVal,
metadata: param.metadata,
isFinal: param.isFinal,
isVar: param.isVar,
isThis: param.isThis,
isSuper: param.isSuper,
);
}
if (param is FunctionTypedParameterNode) {
return FunctionTypedParameterNode(
name: param.name,
type: param.type,
parameters: param.parameters,
defaultValue: defaultVal,
metadata: param.metadata,
);
}
}
return param;
});