private FriendlyMessage?EvaluatePattern(IFriendlyMessagePattern pattern) { try { if (pattern.IsMatch(_part)) { foreach (var subPattern in pattern.SubPatterns) { var message = EvaluatePattern(subPattern); if (message != null) { return(message); } } var formattedMessage = FriendlyMessageFormatter.GetString(pattern.TryGetFriendlyMessage(_part), _context.EvaluatedExpressions); return(new FriendlyMessage(formattedMessage, pattern)); } } catch { return(null); } return(null); }
public ExpressionInterpreter(Expression expression, IFriendlyMessagePattern pattern) { _expression = expression; _pattern = pattern; }
internal FriendlyMessage(string?message, IFriendlyMessagePattern pattern) { Message = message; Pattern = pattern; }