Example #1
0
        internal MatchContext CreateMatchContext(string subject)
        {
            var context = new MatchContext
            {
                Subject           = subject,
                StartIndex        = StartIndex,
                AdditionalOptions = AdditionalOptions.ToPatternOptions(),
                CalloutHandler    = WrapCallout(OnCallout)
            };

            if (_matchLimit != null)
            {
                context.MatchLimit = _matchLimit.GetValueOrDefault();
            }

            if (_recursionLimit != null)
            {
                context.RecursionLimit = _recursionLimit.GetValueOrDefault();
            }

            if (OffsetLimit != null)
            {
                context.OffsetLimit = OffsetLimit.GetValueOrDefault();
            }

            return(context);
        }