withStatement method
Implementation
Parser<StatementNode> withStatement() =>
seq4(
ref0(asyncToken).optional(),
ref0(withToken),
[
seq3(
ref1(token, '('),
ignore(ref0(withItems)),
ref1(token, ')'),
).map3((_, items, _) => items),
ref0(withItems),
].toChoiceParser(),
seq2(ref1(token, ':'), ref0(suite)).map2((_, s) => s),
).map4((isAsync, _, items, body) {
if (isAsync != null) {
return AsyncWithNode(items: items, body: body);
}
return WithNode(items: items, body: body);
});