private static ConstantExpression ParseString(IEnumerator <IToken> tokens) { var token = (StringToken)tokens.Current; var expr = new ConstantExpression.StringConstant(token.Payload, token, token.Errors); tokens.NextNonIgnorable(); return(expr); }
private IExpression ParseInterpolated(IEnumerator <IToken> tokens) { var token = (InterpolatedToken)tokens.Current; var replacements = new IExpression[token.ReplacementCount]; var format = new ConstantExpression.StringConstant(token.Payload, token, token.Errors); for (var i = 0; i < replacements.Length; i++) { var subtokens = token[i].GetEnumerator(); replacements[i] = ParseExpression(subtokens); } tokens.NextNonIgnorable(); return(new InterpolatedExpression(format, replacements)); }