lambdaExpression method

Parser<ExpressionNode> lambdaExpression()
inherited

Lambda expression: lambda [args]: body.

Implementation

Parser<ExpressionNode> lambdaExpression() =>
    seq3(
      ref0(lambdaToken),
      ref0(lambdaParameters).optional(),
      seq2(ref1(token, ':'), ref0(singleExpression)).map2((_, e) => e),
    ).map3(
      (_, params, body) =>
          LambdaNode(args: params ?? const ArgumentsNode(), body: body),
    );