caseBlock method

Parser<MatchCaseNode> caseBlock()
inherited

Implementation

Parser<MatchCaseNode> caseBlock() =>
    seq3(
      ref0(blankLines),
      indent.same,
      seq4(
        ref0(caseToken),
        ref0(pythonPattern),
        seq2(ref0(ifToken), ref0(expression)).map2((_, e) => e).optional(),
        seq2(ref1(token, ':'), ref0(suite)).map2((_, s) => s),
      ),
    ).map3(
      (_, _, clause) => MatchCaseNode(
        pattern: clause.$2,
        guard: clause.$3,
        body: clause.$4,
      ),
    );