7 writes to Options
System.Text.RegularExpressions (7)
System\Text\RegularExpressions\RegexNode.cs (7)
54
Options
= options;
60
Options
= options;
67
Options
= options;
74
Options
= options;
81
Options
= options;
529
Options
&= ~RegexOptions.IgnoreCase;
1050
prev.
Options
&= ~RegexOptions.IgnoreCase;
62 references to Options
System.Text.RegularExpressions (62)
System\Text\RegularExpressions\RegexNode.cs (52)
95
new RegexNode(Kind,
Options
, Str!) :
96
new RegexNode(Kind,
Options
, Ch);
137
if ((
Options
& RegexOptions.RightToLeft) != 0 &&
315
Debug.Assert((node.
Options
& RegexOptions.IgnoreCase) == 0, $"{node.Kind} node should not have RegexOptions.IgnoreCase");
339
if ((
Options
& (RegexOptions.RightToLeft | RegexOptions.NonBacktracking)) == 0)
388
parent.InsertChild(1, new RegexNode(RegexNodeKind.UpdateBumpalong, node.
Options
));
414
(
Options
& (RegexOptions.RightToLeft | RegexOptions.NonBacktracking)) != 0)
456
var atomic = new RegexNode(RegexNodeKind.Atomic, existingChild.
Options
);
563
0 => new RegexNode(Kind == RegexNodeKind.Alternate ? RegexNodeKind.Nothing : RegexNodeKind.Empty,
Options
),
600
if ((
Options
& RegexOptions.NonBacktracking) != 0)
644
if ((
Options
& RegexOptions.RightToLeft) == 0)
654
return new RegexNode(RegexNodeKind.Empty, child.
Options
);
837
return new RegexNode(RegexNodeKind.Nothing,
Options
);
930
return new RegexNode(RegexNodeKind.Nothing,
Options
);
1000
optionsAt = at.
Options
& (RegexOptions.RightToLeft | RegexOptions.IgnoreCase);
1048
if ((prev.
Options
& RegexOptions.IgnoreCase) != 0)
1082
if ((alternation.
Options
& RegexOptions.RightToLeft) != 0)
1122
required.
Options
!= other.
Options
||
1139
var newAlternate = new RegexNode(RegexNodeKind.Alternate, alternation.
Options
);
1149
var atomic = new RegexNode(RegexNodeKind.Atomic, alternation.
Options
);
1156
var newConcat = new RegexNode(RegexNodeKind.Concatenate, alternation.
Options
);
1225
if ((alternation.
Options
& RegexOptions.RightToLeft) != 0)
1240
RegexOptions startingNodeOptions = startingNode.
Options
;
1255
if (startingNode is null || startingNode.
Options
!= startingNodeOptions)
1386
Debug.Assert((
Options
& RegexOptions.RightToLeft) == 0);
1396
if (node is not null && (node.
Options
& RegexOptions.RightToLeft) == 0)
1506
return new RegexNode(RegexNodeKind.Empty,
Options
);
1560
((at.
Options
& RegexOptions.RightToLeft) == (
Options
& RegexOptions.RightToLeft)))
1581
RegexOptions optionsAt = at.
Options
& (RegexOptions.RightToLeft | RegexOptions.IgnoreCase);
1636
if (currentNode.
Options
== nextNode.
Options
)
1707
(nextNode.
Options
& RegexOptions.RightToLeft) == 0 && // RTL multi nodes don't have their text reversed, and it's not worth the code to optimize further
1798
Debug.Assert((
Options
& RegexOptions.NonBacktracking) == 0, "Atomic groups aren't supported and don't help performance with NonBacktracking");
1806
if ((
Options
& RegexOptions.RightToLeft) != 0)
2006
AddChild(new RegexNode(RegexNodeKind.Empty,
Options
));
2024
AddChild(new RegexNode(RegexNodeKind.Empty,
Options
));
2033
if (condition.Kind == RegexNodeKind.PositiveLookaround && (condition.
Options
& RegexOptions.RightToLeft) == 0)
2075
case RegexNodeKind.PositiveLookaround when (subsequent.
Options
& RegexOptions.RightToLeft) == 0: // only lookaheads, not lookbehinds (represented as RTL PositiveLookaround nodes)
2086
if (node.
Options
!= subsequent.
Options
)
2682
return new RegexNode(RegexNodeKind.Empty,
Options
);
2710
var result = new RegexNode(lazy ? RegexNodeKind.Lazyloop : RegexNodeKind.Loop,
Options
, min, max);
2789
if ((
Options
& RegexOptions.NonBacktracking) != 0)
2880
if ((
Options
& RegexOptions.ExplicitCapture) != 0) sb.Append("-C");
2881
if ((
Options
& RegexOptions.IgnoreCase) != 0) sb.Append("-I");
2882
if ((
Options
& RegexOptions.RightToLeft) != 0) sb.Append("-L");
2883
if ((
Options
& RegexOptions.Multiline) != 0) sb.Append("-M");
2884
if ((
Options
& RegexOptions.Singleline) != 0) sb.Append("-S");
2885
if ((
Options
& RegexOptions.IgnorePatternWhitespace) != 0) sb.Append("-X");
2886
if ((
Options
& RegexOptions.ECMAScript) != 0) sb.Append("-E");
System\Text\RegularExpressions\RegexParser.cs (1)
1142
if (result != null && result.Kind == RegexNodeKind.Backreference && (result.
Options
& RegexOptions.IgnoreCase) != 0)
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (5)
65
(node.
Options
& RegexOptions.RightToLeft) != 0 ||
358
bool rtl = (node.
Options
& RegexOptions.RightToLeft) != 0;
593
if ((node.
Options
& RegexOptions.RightToLeft) != 0)
995
cc.AddChar(node.Str![(node.
Options
& RegexOptions.RightToLeft) != 0 ? node.Str.Length - 1 : 0]);
1105
if ((node.
Options
& RegexOptions.RightToLeft) != 0)
System\Text\RegularExpressions\RegexTreeAnalyzer.cs (2)
27
results._hasIgnoreCase |= (node.
Options
& RegexOptions.IgnoreCase) != 0;
28
results._hasRightToLeft |= (node.
Options
& RegexOptions.RightToLeft) != 0;
System\Text\RegularExpressions\RegexWriter.cs (2)
204
if ((node.
Options
& RegexOptions.RightToLeft) != 0)
208
if ((node.
Options
& RegexOptions.IgnoreCase) != 0)