private static SyntaxNode LinearSequence(RParser.SequenceContext sequence, Func <ParserRuleContext, Scope, SyntaxNode> transform, Scope scope) { var exprs = sequence.expr(); Debug.Assert(exprs.Length == 2); var left = transform(exprs[0], scope) as ExpressionSyntax; var right = transform(exprs[1], scope) as ExpressionSyntax; return(linearSequenceCall.Get(left, right)); }
/// <summary> /// Exit a parse tree produced by <see cref="RParser.Sequence"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitSequence([NotNull] RParser.SequenceContext context) { }