Exemplo n.º 1
0
        public static void Prepare(ReadOnlySpan <char> subject, InternalRegex regex, ref Native.match_input input, out CalloutInteropInfo interopInfo, PcreRefCalloutFunc callout)
        {
            if (callout != null)
            {
                interopInfo = new CalloutInteropInfo(subject, regex, callout);

                input.callout      = _calloutHandlerFnPtr;
                input.callout_data = interopInfo.ToPointer();
            }
            else
            {
                interopInfo   = default;
                input.callout = null;
            }
        }
Exemplo n.º 2
0
 public CalloutInteropInfo(ReadOnlySpan <char> subject, InternalRegex regex, PcreRefCalloutFunc callout)
 {
     _subject     = null;
     _subjectSpan = subject;
     _regex       = regex;
     _callout     = callout;
     Exception    = null;
 }
Exemplo n.º 3
0
 public PcreRefMatch Match(ReadOnlySpan <char> subject, int startIndex, PcreMatchOptions options, PcreRefCalloutFunc onCallout)
 => Match(subject, PcreMatchSettings.GetSettings(startIndex, options, onCallout));
Exemplo n.º 4
0
 public PcreRefMatch Match(ReadOnlySpan <char> subject, int startIndex, PcreRefCalloutFunc onCallout)
 => Match(subject, startIndex, PcreMatchOptions.None, onCallout);
Exemplo n.º 5
0
 public PcreRefMatch Match(ReadOnlySpan <char> subject, PcreMatchOptions options, PcreRefCalloutFunc onCallout)
 => Match(subject, 0, options, onCallout);
Exemplo n.º 6
0
        public RefMatchEnumerable Matches(ReadOnlySpan <char> subject, int startIndex, PcreRefCalloutFunc onCallout)
        {
            if (subject == null)
            {
                throw new ArgumentNullException(nameof(subject));
            }

            return(Matches(subject, PcreMatchSettings.GetSettings(startIndex, PcreMatchOptions.None, onCallout)));
        }