constantPattern method

Parser<ConstantPatternNode> constantPattern()
inherited

Constant pattern (literals, const expressions, identifier constants).

Implementation

Parser<ConstantPatternNode> constantPattern() => [
  seq2(ref1(token, '-'), ref0(numericLiteral)).map2(
    (_, n) =>
        ConstantPatternNode(UnaryExpressionNode(operator: '-', operand: n)),
  ),
  ref0(literal).map(ConstantPatternNode.new),
  (ref0(constToken) & ref0(expression)).map(
    (l) => ConstantPatternNode(l[1] as ExpressionNode),
  ),
  ref0(qualifiedIdentifier)
      .map((name) => ConstantPatternNode(IdentifierNode(name))),
].toChoiceParser();