normalFormalParameter method
Implementation
Parser<ParameterNode> normalFormalParameter() =>
seq2(
ref0(metadataList),
[
ref0(functionTypedFormalParameter),
ref0(fieldFormalParameter),
ref0(simpleFormalParameter),
].toChoiceParser(),
).map2((meta, param) {
if (meta.isEmpty) return param;
if (param is SimpleParameterNode) {
return SimpleParameterNode(
name: param.name,
type: param.type,
defaultValue: param.defaultValue,
metadata: [...meta, ...param.metadata],
isNamed: param.isNamed,
isRequired: param.isRequired,
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: param.defaultValue,
metadata: [...meta, ...param.metadata],
isNamed: param.isNamed,
isRequired: param.isRequired,
);
}
return param;
});