9 writes to Ch
System.Text.RegularExpressions (9)
System\Text\RegularExpressions\RegexNode.cs (9)
61Ch = ch; 191Ch = '\0'; 199Ch = '\0'; 968Ch = RegexCharClass.SingletonChar(Str); 978Ch = RegexCharClass.SingletonChar(Str); 1448node.Ch = '\0'; 1462node.Ch = node.Str[node.Str.Length - 1]; 1862nextNode.Ch = nextNode.Str[nextNode.Str.Length - 1]; 3007Ch = '\0';
116 references to Ch
System.Text.RegularExpressions (116)
System\Text\RegularExpressions\RegexCompiler.cs (18)
3009Ldc(node.Ch); 3610(literal.Range.LowInclusive <= node.Ch && node.Ch <= literal.Range.HighInclusive))) // for ranges, only allow when the range overlaps with the target, since there's no accelerated way to search for the union 3623overlap = literal.String[0] == node.Ch; 3627Ldc(node.Ch); 3633Ldc(node.Ch); 3640overlap = literal.SetChars.Contains(node.Ch); 3665Ldc(node.Ch); 3673EmitIndexOfAnyWithSearchValuesOrLiteral($"{node.Ch}{literal.SetChars}"); 3679overlap = literal.Range.LowInclusive == node.Ch; 3683Ldc(node.Ch); 3689Ldc(node.Ch); 3731Ldc(node.Ch); 4231EmitMultiCharString(new string(node.Ch, iterations), emitLengthChecksIfRequired, rtl); 4421Ldc(node.Ch); 4536Ldc(node.Ch); 4658Ldc(node.Ch); 5185Ldc(node.Ch);
System\Text\RegularExpressions\RegexNode.cs (72)
96new RegexNode(Kind, Options, Ch); 198Str = new string(Ch, N); 1138prevCharClass.AddChar(prev.Ch); 1143prevCharClass.AddNotChar(prev.Ch); 1152prevCharClass.AddChar(at.Ch); 1156prevCharClass.AddNotChar(at.Ch); 1247required.Ch != other.Ch || 1366scratchChar[0] = startingNode.Ch; 1386if (startingSpan[0] != startingNode.Ch) 1446Debug.Assert(startingSpan[0] == node.Ch); 1509return IsOneFamily ? Ch : Str![0]; 1558return new StartingLiteralData(range: (node.Ch, node.Ch), negated: false); 1561return new StartingLiteralData(range: (node.Ch, node.Ch), negated: true); 1717prev.Str = prev.Ch.ToString(); 1721((at.Kind == RegexNodeKind.One) ? $"{prev.Str}{at.Ch}" : prev.Str + at.Str) : 1722((at.Kind == RegexNodeKind.One) ? $"{at.Ch}{prev.Str}" : at.Str + prev.Str); 1785case RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Onelazy or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic or RegexNodeKind.Notonelazy when nextNode.Kind == currentNode.Kind && currentNode.Ch == nextNode.Ch: 1811case RegexNodeKind.Oneloop or RegexNodeKind.Onelazy when nextNode.Kind == RegexNodeKind.One && currentNode.Ch == nextNode.Ch: 1812case RegexNodeKind.Notoneloop or RegexNodeKind.Notonelazy when nextNode.Kind == RegexNodeKind.Notone && currentNode.Ch == nextNode.Ch: 1830currentNode.Ch == nextNode.Str![0]: 1835while (matchingCharsInMulti < nextNode.Str.Length && currentNode.Ch == nextNode.Str[matchingCharsInMulti]) 1879case RegexNodeKind.One when (nextNode.Kind is RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Onelazy) && currentNode.Ch == nextNode.Ch: 1880case RegexNodeKind.Notone when (nextNode.Kind is RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic or RegexNodeKind.Notonelazy) && currentNode.Ch == nextNode.Ch: 1894case RegexNodeKind.Notone when nextNode.Kind == currentNode.Kind && currentNode.Ch == nextNode.Ch: 2350case RegexNodeKind.One when node.Ch != subsequent.Ch: 2351case RegexNodeKind.Notone when node.Ch == subsequent.Ch: 2352case RegexNodeKind.Set when !RegexCharClass.CharInClass(node.Ch, subsequent.Str!): 2353case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M > 0 && node.Ch != subsequent.Ch: 2354case RegexNodeKind.Notonelazy or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic when subsequent.M > 0 && node.Ch == subsequent.Ch: 2355case RegexNodeKind.Setlazy or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!): 2356case RegexNodeKind.Multi when node.Ch != subsequent.Str![0]: 2358case RegexNodeKind.EndZ or RegexNodeKind.Eol when node.Ch != '\n': 2359case RegexNodeKind.Boundary when node.M > 0 && RegexCharClass.IsBoundaryWordChar(node.Ch): 2360case RegexNodeKind.NonBoundary when node.M > 0 && !RegexCharClass.IsBoundaryWordChar(node.Ch): 2361case RegexNodeKind.ECMABoundary when node.M > 0 && RegexCharClass.IsECMAWordChar(node.Ch): 2362case RegexNodeKind.NonECMABoundary when node.M > 0 && !RegexCharClass.IsECMAWordChar(node.Ch): 2365case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M == 0 && node.Ch != subsequent.Ch: 2366case RegexNodeKind.Notonelazy or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic when subsequent.M == 0 && node.Ch == subsequent.Ch: 2367case RegexNodeKind.Setlazy or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!): 2380case RegexNodeKind.One when node.Ch == subsequent.Ch: 2381case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M > 0 && node.Ch == subsequent.Ch: 2382case RegexNodeKind.Multi when node.Ch == subsequent.Str![0]: 2386case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M == 0 && node.Ch == subsequent.Ch: 2399case RegexNodeKind.One when !RegexCharClass.CharInClass(subsequent.Ch, node.Str!): 2401case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M > 0 && !RegexCharClass.CharInClass(subsequent.Ch, node.Str!): 2412case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M == 0 && !RegexCharClass.CharInClass(subsequent.Ch, node.Str!): 2446case RegexNodeKind.One when !CharInStartingOrEndingSet(subsequent.Ch): 2448case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M > 0 && !CharInStartingOrEndingSet(subsequent.Ch): 2459case RegexNodeKind.Onelazy or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic when subsequent.M == 0 && !CharInStartingOrEndingSet(subsequent.Ch): 2860if (child.Ch >= 128 || 2861RegexCharClass.ParticipatesInCaseConversion(child.Ch)) 2866vsb.Append(child.Ch); 3006Str = new string(Ch, max); 3209sb.Append(" '").Append(RegexCharClass.DescribeChar(Ch)).Append('\'');
System\Text\RegularExpressions\RegexNodeKind.cs (8)
16/// <remarks>The character is specified in <see cref="RegexNode.Ch"/>.</remarks> 19/// <remarks>The character is specified in <see cref="RegexNode.Ch"/>.</remarks> 31/// The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>. 36/// <remarks>The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>.</remarks> 45/// <remarks>The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>.</remarks> 49/// <remarks>The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>.</remarks> 59/// The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>. 65/// The character is specified in <see cref="RegexNode.Ch"/>, the minimum number of iterations in <see cref="RegexNode.M"/>, and the maximum number of iterations in <see cref="RegexNode.N"/>.
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (11)
112case RegexNodeKind.One or RegexNodeKind.Oneloop or RegexNodeKind.Onelazy or RegexNodeKind.Oneloopatomic when !ignoreCase || !RegexCharClass.ParticipatesInCaseConversion(node.Ch): 117sb.Append(node.Ch, reps); 423vsb.Append(node.Ch); 435vsb.Append(node.Ch, count); 603string setString = RegexCharClass.OneToStringClass(node.Ch); 611string setString = RegexCharClass.OneToStringClass(node.Ch); 958cc.AddChar(node.Ch); 967if (node.Ch > 0) 970cc.AddRange((char)0, (char)(node.Ch - 1)); 972if (node.Ch < char.MaxValue) 975cc.AddRange((char)(node.Ch + 1), char.MaxValue);
System\Text\RegularExpressions\RegexReplacement.cs (1)
55vsb.Append(child.Ch);
System\Text\RegularExpressions\RegexWriter.cs (3)
383Emit((RegexOpcode)node.Kind | bits, node.Ch); 395RegexOpcode.Onerep : RegexOpcode.Notonerep) | bits, node.Ch, node.M); 399Emit((RegexOpcode)node.Kind | bits, node.Ch, node.N == int.MaxValue ? int.MaxValue : node.N - node.M);
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (3)
58result.AddLast(_builder.CreateSingleton(_builder._charSetSolver.CreateBDDFromChar(node.Ch))); 62result.AddLast(_builder.CreateSingleton(_builder._solver.Not(_builder._charSetSolver.CreateBDDFromChar(node.Ch)))); 112BDD bdd = _builder._charSetSolver.CreateBDDFromChar(node.Ch);