63 references to Set
System.Text.RegularExpressions (63)
System\Text\RegularExpressions\RegexCompiler.cs (5)
1467
case RegexNodeKind.Multi or RegexNodeKind.Notone or RegexNodeKind.One or RegexNodeKind.
Set
:
2034
case RegexNodeKind.
Set
:
2045
case RegexNodeKind.Concatenate when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.
Set
or RegexNodeKind.Multi):
2990
case RegexNodeKind.
Set
:
5668
if (root.Kind is RegexNodeKind.Multi or RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.
Set
)
System\Text\RegularExpressions\RegexNode.cs (32)
127
return new RegexNode(RegexNodeKind.
Set
, options & ~RegexOptions.IgnoreCase, stringSet);
292
case RegexNodeKind.
Set
:
336
case RegexNodeKind.
Set
:
644
RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy => ReduceSet(),
727
case RegexNodeKind.
Set
:
964
case RegexNodeKind.
Set
:
1013
Debug.Assert(Kind is RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy);
1026
Kind == RegexNodeKind.
Set
? RegexNodeKind.One :
1036
Kind == RegexNodeKind.
Set
? RegexNodeKind.Notone :
1161
else if (at.Kind is RegexNodeKind.
Set
or RegexNodeKind.One)
1166
if (at.Kind == RegexNodeKind.
Set
)
1210
prev.Kind = RegexNodeKind.
Set
;
1263
case RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.
Set
:
1646
case RegexNodeKind.
Set
:
1683
case RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy:
1933
case RegexNodeKind.Setloop or RegexNodeKind.Setlazy when nextNode.Kind == RegexNodeKind.
Set
&& currentNode.Str == nextNode.Str:
2001
case RegexNodeKind.
Set
when (nextNode.Kind is RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy) && currentNode.Str == nextNode.Str:
2015
case RegexNodeKind.
Set
when nextNode.Kind == RegexNodeKind.
Set
&& currentNode.Str == nextNode.Str:
2159
RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.
Set
&&
2414
case RegexNodeKind.
Set
when loopNode.Kind is RegexNodeKind.Setloop && RegexCharClass.IsSubsetOf(literal.Str!, loopNode.Str!): // e.g. \d+[0-9]\s
2540
case RegexNodeKind.
Set
when !RegexCharClass.CharInClass(node.Ch, subsequent.Str!):
2588
case RegexNodeKind.
Set
when !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!):
2635
case RegexNodeKind.
Set
when !MayOverlapStartingOrEndingSet(subsequent.Str!):
2845
case RegexNodeKind.
Set
:
2958
case RegexNodeKind.
Set
:
3158
else if (child.Kind is RegexNodeKind.
Set
||
3168
vsb.Append((char)(twoChars[0] | 0x20), child.Kind is RegexNodeKind.
Set
? 1 : child.M);
3245
RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.
Set
=> true,
3314
case RegexNodeKind.
Set
:
3450
public bool IsSetFamily => Kind is RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy;
3536
case RegexNodeKind.
Set
:
System\Text\RegularExpressions\RegexNodeKind.cs (2)
41
/// This is purely a representational optimization, equivalent to a <see cref="Loop"/> wrapped around a <see cref="
Set
"/>.
54
/// This is purely a representational optimization, equivalent to a <see cref="Lazyloop"/> wrapped around a <see cref="
Set
"/>.
System\Text\RegularExpressions\RegexParser.cs (13)
347
_unit = new RegexNode(RegexNodeKind.
Set
, _options & ~RegexOptions.IgnoreCase, setString);
418
_unit = new RegexNode(RegexNodeKind.
Set
, _options & ~RegexOptions.IgnoreCase, RegexCharClass.AnyClass);
422
_unit = new RegexNode(RegexNodeKind.
Set
, _options & ~RegexOptions.IgnoreCase, RegexCharClass.NotAnyNewLineClass);
1171
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMAWordClass : RegexCharClass.WordClass);
1176
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMAWordClass : RegexCharClass.NotWordClass);
1181
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMASpaceClass : RegexCharClass.SpaceClass);
1186
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMASpaceClass : RegexCharClass.NotSpaceClass);
1191
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMADigitClass : RegexCharClass.DigitClass);
1196
new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMADigitClass : RegexCharClass.NotDigitClass);
1213
return new RegexNode(RegexNodeKind.
Set
, (_options & ~RegexOptions.IgnoreCase), cc.ToStringClass());
1776
anyNewLineOptEnd.AddChild(new RegexNode(RegexNodeKind.
Set
, lookaheadOptsNoCase, RegexCharClass.AnyNewLineClass).MakeQuantifier(false, 0, 1));
1807
innerAlt.AddChild(new RegexNode(RegexNodeKind.
Set
, lookaheadOptsNoCase, RegexCharClass.AnyNewLineClass));
1833
innerAlt.AddChild(new RegexNode(RegexNodeKind.
Set
, lookbehindOptsNoCase, RegexCharClass.AnyNewLineClass));
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (7)
156
case RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic when !RegexCharClass.IsNegated(node.Str!): // negated sets are too complex to analyze
164
int reps = node.Kind is RegexNodeKind.
Set
? 1 : Math.Min(node.M, MaxPrefixLength);
209
return node.Kind is RegexNodeKind.
Set
|| reps == node.N;
633
case RegexNodeKind.
Set
:
981
case RegexNodeKind.
Set
or RegexNodeKind.Setloop or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic:
996
node.Kind is RegexNodeKind.
Set
|| node.M > 0 ? true :
1233
(nextChild.Kind is RegexNodeKind.
Set
|| nextChild.M >= 1))
System\Text\RegularExpressions\RegexWriter.cs (1)
423
case RegexNodeKind.
Set
:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (2)
65
case RegexNodeKind.
Set
:
312
Debug.Assert(node.Kind == RegexNodeKind.
Set
);
System\Text\RegularExpressions\Symbolic\SymbolicRegexKind.cs (1)
11
/// <summary>A node that matches a single character (i.e. <see cref="RegexNodeKind.One"/>, <see cref="RegexNodeKind.Notone"/>, or <see cref="RegexNodeKind.
Set
"/>).</summary>