constructorBodyOrInitializers method
Parser<(List<ConstructorInitializerNode> , FunctionBodyNode?, String?)>
constructorBodyOrInitializers()
inherited
Implementation
Parser<(List<ConstructorInitializerNode>, FunctionBodyNode?, String?)>
constructorBodyOrInitializers() => [
// Redirecting factory constructor: = OtherClass.name; or = OtherClass<T>.name;
seq3(
ref1(token, '='),
seq2(
ref0(type),
(ref1(token, '.') & ref0(constructorIdentifier)).optional(),
).flatten(),
ref1(token, ';'),
).map3(
(_, target, _) => (
const <ConstructorInitializerNode>[],
const EmptyFunctionBodyNode(),
target,
),
),
// Initializers + body: : super(), a = 1 { ... } or ; or => expr;
seq2(
ref0(constructorInitializers)
.optionalWith(const <ConstructorInitializerNode>[]),
ref0(methodBody),
).map2((inits, body) => (inits, body, null)),
].toChoiceParser();