internal override void Evaluate(CapabilitiesState state) { Match match; state.Exit = false; if (_regex != null) { match = _regex.Match(_expr.Expand(state)); if (!match.Success) { return; } state.AddMatch(_regex, match); } for (int i = 0; i < _rules.Length; i++) { _rules[i].Evaluate(state); if (state.Exit) { break; } } if (_regex != null) { state.PopMatch(); } state.Exit = (Type == Case); }
internal override void Evaluate(CapabilitiesState state) { state.SetVariable(_var, _pat.Expand(state)); state.Exit = false; }