55 references to Set
System.Text.RegularExpressions (55)
System\Text\RegularExpressions\RegexCompiler.cs (3)
1442case RegexNodeKind.Multi or RegexNodeKind.Notone or RegexNodeKind.One or RegexNodeKind.Set: 2743case RegexNodeKind.Set: 5359if (root.Kind is RegexNodeKind.Multi or RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set)
System\Text\RegularExpressions\RegexNode.cs (30)
127return new RegexNode(RegexNodeKind.Set, options & ~RegexOptions.IgnoreCase, stringSet); 292case RegexNodeKind.Set: 336case RegexNodeKind.Set: 597RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy => ReduceSet(), 909case RegexNodeKind.Set: 958Debug.Assert(Kind is RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy); 971Kind == RegexNodeKind.Set ? RegexNodeKind.One : 981Kind == RegexNodeKind.Set ? RegexNodeKind.Notone : 1106else if (at.Kind is RegexNodeKind.Set or RegexNodeKind.One or RegexNodeKind.Notone) 1111if (at.Kind == RegexNodeKind.Set) 1164prev.Kind = RegexNodeKind.Set; 1225case RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set: 1526case RegexNodeKind.Set: 1563case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy: 1813case RegexNodeKind.Setloop or RegexNodeKind.Setlazy when nextNode.Kind == RegexNodeKind.Set && currentNode.Str == nextNode.Str: 1881case RegexNodeKind.Set when (nextNode.Kind is RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy) && currentNode.Str == nextNode.Str: 1895case RegexNodeKind.Set when nextNode.Kind == RegexNodeKind.Set && currentNode.Str == nextNode.Str: 2033RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set) 2352case RegexNodeKind.Set when !RegexCharClass.CharInClass(node.Ch, subsequent.Str!): 2400case RegexNodeKind.Set when !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!): 2447case RegexNodeKind.Set when !MayOverlapStartingOrEndingSet(subsequent.Str!): 2590case RegexNodeKind.Set: 2703case RegexNodeKind.Set: 2880else if (child.Kind is RegexNodeKind.Set || 2890vsb.Append((char)(twoChars[0] | 0x20), child.Kind is RegexNodeKind.Set ? 1 : child.M); 2947RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set => true, 3016case RegexNodeKind.Set: 3144public bool IsSetFamily => Kind is RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy; 3230case 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 (9)
347_unit = new RegexNode(RegexNodeKind.Set, _options & ~RegexOptions.IgnoreCase, setString); 403new RegexNode(RegexNodeKind.Set, _options & ~RegexOptions.IgnoreCase, RegexCharClass.AnyClass) : 1096new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMAWordClass : RegexCharClass.WordClass); 1101new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMAWordClass : RegexCharClass.NotWordClass); 1106new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMASpaceClass : RegexCharClass.SpaceClass); 1111new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMASpaceClass : RegexCharClass.NotSpaceClass); 1116new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMADigitClass : RegexCharClass.DigitClass); 1121new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMADigitClass : RegexCharClass.NotDigitClass); 1138return new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), cc.ToStringClass());
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (7)
156case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic when !RegexCharClass.IsNegated(node.Str!): // negated sets are too complex to analyze 164int reps = node.Kind is RegexNodeKind.Set ? 1 : Math.Min(node.M, MaxPrefixLength); 209return node.Kind is RegexNodeKind.Set || reps == node.N; 633case RegexNodeKind.Set: 981case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic: 996node.Kind is RegexNodeKind.Set || node.M > 0 ? true : 1233(nextChild.Kind is RegexNodeKind.Set || nextChild.M >= 1))
System\Text\RegularExpressions\RegexWriter.cs (1)
423case RegexNodeKind.Set:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (2)
65case RegexNodeKind.Set: 312Debug.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>