classDefRaw method
Implementation
Parser<ClassDefNode> classDefRaw() =>
seq5(
ref0(classToken),
ref0(identifier),
ref0(typeParams).optional(),
seq3(
ref1(token, '('),
ignore(ref0(classArguments).optional()),
ref1(token, ')'),
).map3((_, args, _) => args).optional(),
seq2(ref1(token, ':'), ref0(suite)).map2((_, s) => s),
).map5((_, name, tParams, args, body) {
final parsedArgs =
args ?? (bases: <ExpressionNode>[], kw: <KeywordNode>[]);
return ClassDefNode(
name: name,
bases: parsedArgs.bases,
keywords: parsedArgs.kw,
body: body,
typeParams: tParams ?? const [],
);
});