10 writes to _options
System.Text.RegularExpressions (10)
System\Text\RegularExpressions\RegexParser.cs (10)
61_options = options; 263_options = options; 376_options = (RegexOptions)_optionsStack.Pop(); 835_options &= ~RegexOptions.RightToLeft; 841_options &= ~RegexOptions.RightToLeft; 869_options |= RegexOptions.RightToLeft; 880_options |= RegexOptions.RightToLeft; 1610_options &= ~options; 1614_options |= options; 1749_options = (RegexOptions)_optionsStack.Pop();
74 references to _options
System.Text.RegularExpressions (74)
System\Text\RegularExpressions\RegexParser.cs (74)
277StartGroup(new RegexNode(RegexNodeKind.Capture, (_options & ~RegexOptions.IgnoreCase), 0, -1)); 290if ((_options & RegexOptions.IgnorePatternWhitespace) != 0) 332_unit = RegexNode.CreateOneWithCaseConversion(_pattern[endpos - 1], _options, _culture, ref _caseBehavior); 346string setString = ScanCharClass((_options & RegexOptions.IgnoreCase) != 0, scanOnly: false)!.ToStringClass(); 347_unit = new RegexNode(RegexNodeKind.Set, _options & ~RegexOptions.IgnoreCase, setString); 352_optionsStack.Append((int)_options); 394_unit = new RegexNode((_options & RegexOptions.Multiline) != 0 ? RegexNodeKind.Bol : RegexNodeKind.Beginning, _options); 398_unit = new RegexNode((_options & RegexOptions.Multiline) != 0 ? RegexNodeKind.Eol : RegexNodeKind.EndZ, _options); 402_unit = (_options & RegexOptions.Singleline) != 0 ? 403new RegexNode(RegexNodeKind.Set, _options & ~RegexOptions.IgnoreCase, RegexCharClass.AnyClass) : 404new RegexNode(RegexNodeKind.Notone, _options & ~RegexOptions.IgnoreCase, '\n'); 521_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options); 571if ((_options & RegexOptions.ECMAScript) != 0 && _pattern[_pos] == ']') 591if ((_options & RegexOptions.ECMAScript) != 0 && _pos < _pattern.Length && _pattern[_pos] == ']') 649charClass!.AddDigit((_options & RegexOptions.ECMAScript) != 0, ch == 'D', _pattern, _pos); 661charClass!.AddSpace((_options & RegexOptions.ECMAScript) != 0, ch == 'S'); 674charClass!.AddWord((_options & RegexOptions.ECMAScript) != 0, ch == 'W'); 803if ((_options & RegexOptions.ExplicitCapture) != 0 || _ignoreNextParen) 806return new RegexNode(RegexNodeKind.Group, _options); 810return new RegexNode(RegexNodeKind.Capture, _options, _autocap++, -1); 984return new RegexNode(RegexNodeKind.Capture, _options, capnum, uncapnum); 1006return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, capnum); 1020return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, tmpCapnum); 1073return new RegexNode(nodeType, _options); 1088if ((_options & RegexOptions.IgnorePatternWhitespace) != 0) 1096if ((_options & RegexOptions.IgnorePatternWhitespace) != 0 && _pos < _pattern.Length && _pattern[_pos] == '#') 1138new RegexNode(TypeFromCode(ch), _options); 1143new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMAWordClass : RegexCharClass.WordClass); 1148new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMAWordClass : RegexCharClass.NotWordClass); 1153new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMASpaceClass : RegexCharClass.SpaceClass); 1158new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMASpaceClass : RegexCharClass.NotSpaceClass); 1163new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.ECMADigitClass : RegexCharClass.DigitClass); 1168new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), (_options & RegexOptions.ECMAScript) != 0 ? RegexCharClass.NotECMADigitClass : RegexCharClass.NotDigitClass); 1179cc.AddCategoryFromName(ParseProperty(), ch != 'p', (_options & RegexOptions.IgnoreCase) != 0, _pattern, _pos); 1180if ((_options & RegexOptions.IgnoreCase) != 0) 1185return new RegexNode(RegexNodeKind.Set, (_options & ~RegexOptions.IgnoreCase), cc.ToStringClass()); 1250IsCaptureSlot(capnum) ? new RegexNode(RegexNodeKind.Backreference, _options, capnum) : 1259if ((_options & RegexOptions.ECMAScript) != 0) 1282return scanOnly ? null : new RegexNode(RegexNodeKind.Backreference, _options, capnum); 1296return new RegexNode(RegexNodeKind.Backreference, _options, capnum); 1316_capnames?[capname] is int tmpCapnum ? new RegexNode(RegexNodeKind.Backreference, _options, tmpCapnum) : 1327RegexNode.CreateOneWithCaseConversion(ch, _options, _culture, ref _caseBehavior) : 1336return RegexNode.CreateOneWithCaseConversion('$', _options, _culture, ref _caseBehavior); 1361if (!angled && (_options & RegexOptions.ECMAScript) != 0) 1392return new RegexNode(RegexNodeKind.Backreference, _options, capnum); 1402return new RegexNode(RegexNodeKind.Backreference, _options, capnum); 1414return new RegexNode(RegexNodeKind.Backreference, _options, tmpCapnum); 1426return RegexNode.CreateOneWithCaseConversion('$', _options, _culture, ref _caseBehavior); 1452return new RegexNode(RegexNodeKind.Backreference, _options, capnum); 1459return RegexNode.CreateOneWithCaseConversion('$', _options, _culture, ref _caseBehavior); 1490if ((_options & RegexOptions.ECMAScript) != 0 && i >= 0x20) 1656if ((_options & RegexOptions.ECMAScript) == 0 && RegexCharClass.IsBoundaryWordChar(ch)) 1703'b' => (_options & RegexOptions.ECMAScript) != 0 ? RegexNodeKind.ECMABoundary : RegexNodeKind.Boundary, 1704'B' => (_options & RegexOptions.ECMAScript) != 0 ? RegexNodeKind.NonECMABoundary : RegexNodeKind.NonBoundary, 1735if ((_options & RegexOptions.IgnorePatternWhitespace) != 0) 1762_optionsStack.Append((int)_options); 1793optionsFoundInPattern |= _options; 1820if ((_options & RegexOptions.ExplicitCapture) == 0 && !_ignoreNextParen) 2047_concatenation!.AddChild(RegexNode.CreateOneWithCaseConversion(_pattern[pos], isReplacement ? _options & ~RegexOptions.IgnoreCase : _options, _culture, ref _caseBehavior)); 2050case > 1 when (_options & RegexOptions.IgnoreCase) == 0 || isReplacement || !RegexCharClass.ParticipatesInCaseConversion(_pattern.AsSpan(pos, cch)): 2051_concatenation!.AddChild(new RegexNode(RegexNodeKind.Multi, _options & ~RegexOptions.IgnoreCase, _pattern.Substring(pos, cch))); 2057_concatenation!.AddChild(RegexNode.CreateOneWithCaseConversion(c, _options, _culture, ref _caseBehavior)); 2097_alternation = new RegexNode(RegexNodeKind.Alternate, _options); 2098_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options); 2115_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options);