69 if (expression.
Length == 0 || name.Length == 0)
73 if (expression[0] ==
'*')
75 if (expression.
Length == 1)
82 if (name.Length < readOnlySpan.
Length)
96 int num3 = expression.Length * 2;
101 if (num < name.Length)
107 if (span3[num2 - 1] == num3)
118 int num5 = (span3[i++] + 1) / 2;
119 while (num5 < expression.
Length)
122 char c2 = expression[num5];
123 if (num4 >= span2.
Length - 2)
125 int num7 = span2.Length * 2;
126 span =
new int[num7];
129 span =
new int[num7];
135 if (!useExtendedWildcards || c2 !=
'<')
138 if (useExtendedWildcards && c2 ==
'>')
140 if (!flag && c !=
'.')
142 span2[num4++] = num6;
148 if (!useExtendedWildcards || c2 !=
'"')
152 if (++num5 == expression.
Length)
154 span2[num4++] = num3;
158 c2 = expression[num5];
164 span2[num4++] = num6;
166 else if (ignoreCase ? (
char.ToUpperInvariant(c2) ==
char.ToUpperInvariant(c)) : (c2 == c))
168 span2[num4++] = num6;
177 span2[num4++] = num6;
185 if (!flag && c ==
'.')
187 for (
int k = num; k < name.Length; k++)
196 if (!(flag || c !=
'.' || flag2))
201 span2[num4++] = num6;
204 if (++num5 == expression.
Length)
206 span2[num4++] = num3;
210 span2[num4++] = num6 + 1;
213 if (i >= num2 || j >= num4)
217 for (; j < num4; j++)
233 num6 = span3[num2 - 1];