1 write to _right
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (1)
66_right = right;
129 references to _right
System.Text.RegularExpressions (129)
System\Text\RegularExpressions\Symbolic\SymbolicRegexBuilder.cs (2)
332Debug.Assert(node._left is not null && node._right is not null); 335Transform(node._right, builder, setTransformer),
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Automata.cs (3)
210node = node._right!; 224node._right! : // The entire loop is fixed 227node._right!);
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (124)
128Debug.Assert(node._left is not null && node._right is not null); 135node = node._right; 203Debug.Assert(node._left is not null && node._right is not null); 212node = node._right; 263Debug.Assert(_left is not null && _right is not null); 264is_nullable = _left.IsNullableFor(context) && _right.IsNullableFor(context); 268Debug.Assert(_left is not null && _right is not null); 269is_nullable = _left.IsNullableFor(context) || _right.IsNullableFor(context); 432Debug.Assert(node._left is not null && node._right is not null); 433return CreateEffect(builder, node._left, CreateConcat(builder, effectNode, node._right)); 465Debug.Assert(left._left is not null && left._right is not null); 466return CreateEffect(builder, CreateConcat(builder, left._left, right), left._right); 498SymbolicRegexNode<TSet> tail = right._kind == SymbolicRegexNodeKind.Alternate ? right._right! : builder._nothing; 521Debug.Assert(current._left is not null && current._right is not null); 530current = current._right; 653Debug.Assert(left._left is not null && left._right is not null); 661Debug.Assert(right._left is not null && right._right is not null); 669Debug.Assert(left._left is not null && right._left is not null && right._right is not null); 675return tail.Subsumes(builder, right._right, depth); 683Debug.Assert(left._left is not null && left._right is not null); 689return left._right.Subsumes(builder, tail, depth); 696Debug.Assert(left._left is not null && left._right is not null); 699return left._right.Subsumes(builder, right, depth); 715Debug.Assert(prefix._left is not null && prefix._right is not null); 719Debug.Assert(node._left is not null && node._right is not null); 723node = node._right; 724prefix = prefix._right; 731Debug.Assert(node._left is not null && node._right is not null); 734tail = node._right; 791Debug.Assert(left._left is not null && left._right is not null); 805result = CreateEffect(builder, innerResult, left._right); 814Debug.Assert(right._left is not null && right._right is not null); 816rightEffects = CreateConcat(builder, right._right, rightEffects); 823Debug.Assert(right._left is not null && right._right is not null); 844Debug.Assert(suffix._left is not null && suffix._right is not null); 854else if (suffix._right.Subsumes(builder, left)) 858suffix = suffix._right; 929Debug.Assert(_left is not null && _right is not null); 933int rightLength = _right.GetFixedLength(); 948Debug.Assert(_left is not null && _right is not null); 952if (_right.GetFixedLength() == length) 990Debug.Assert(_left is not null && _right is not null); 994_right.AddFixedLengthMarkers(builder, lengthSoFar), deduplicated: true); 997Debug.Assert(_left is not null && _right is not null); 1002return CreateConcat(builder, _left, _right.AddFixedLengthMarkers(builder, lengthSoFar + leftLength)); 1005int rightLength = _right.GetFixedLength(); 1008return CreateConcat(builder, _left.AddFixedLengthMarkers(builder, lengthSoFar), _right); 1103Debug.Assert(_left is not null && _right is not null); 1110CreateAlternate(builder, _left, _right.PruneLowerPriorityThanNullability(builder, context), deduplicated: true); 1114Debug.Assert(_left is not null && _right is not null); 1119SymbolicRegexNodeKind.Concat => CreateConcat(builder, _left._left!, CreateConcat(builder, _left._right!, _right)) 1127CreateConcat(builder, _left._left, _right).PruneLowerPriorityThanNullability(builder, context) : 1128CreateAlternate(builder, CreateConcat(builder, _left._left, _right), 1129CreateConcat(builder, _left._right!, _right).PruneLowerPriorityThanNullability(builder, context), deduplicated: true)), 1131SymbolicRegexNodeKind.Loop => PruneLoop(builder, context, _left, _right), 1134_ => CreateConcat(builder, _left, _right.PruneLowerPriorityThanNullability(builder, context)), 1145Debug.Assert(_left is not null && _right is not null); 1146prunedNode = CreateEffect(builder, _left.PruneLowerPriorityThanNullability(builder, context), _right); 1285Debug.Assert(_left is not null && _right is not null); 1291derivative = builder.CreateConcat(_left.CreateDerivative(builder, elem, context), _right); 1295SymbolicRegexNode<TSet> leftDerivative = builder.CreateConcat(_left.CreateDerivative(builder, elem, context), _right); 1296SymbolicRegexNode<TSet> rightDerivative = builder.CreateEffect(_right.CreateDerivative(builder, elem, context), _left); 1338Debug.Assert(_left is not null && _right is not null); 1339derivative = CreateAlternate(builder, _left.CreateDerivative(builder, elem, context), _right.CreateDerivative(builder, elem, context)); 1379Debug.Assert(_left is not null && _right is not null); 1384Debug.Assert(_left is not null && _right is not null); 1385Debug.Assert(_left._info.ContainsEffect && !_right._info.ContainsEffect); 1386return builder.CreateConcat(_left.StripEffects(builder), _right); 1389Debug.Assert(_left is not null && _right is not null); 1451Debug.Assert(_left is not null && _right is not null); 1454_right.ApplyEffects((e, s) => s.Add(e), context, currentEffects); 1463Debug.Assert(_left is not null && _right is not null); 1464Debug.Assert(_left._info.ContainsEffect && !_right._info.ContainsEffect); 1472alternativesAndEffects[i] = (builder.CreateConcat(node, _right), effects); 1478Debug.Assert(_left is not null && _right is not null); 1480_right.StripAndMapEffects(builder, context, alternativesAndEffects, currentEffects); 1542Debug.Assert(_left is not null && _right is not null); 1543Debug.Assert(_left.IsNullableFor(context) && _right.IsNullableFor(context)); 1545_right.ApplyEffects(apply, context, arg); 1559Debug.Assert(_left is not null && _right is not null); 1568Debug.Assert(_right.IsNullableFor(context)); 1569_right.ApplyEffects(apply, context, arg); 1649Debug.Assert(_left is not null && _right is not null); 1653_right.ToStringHelper(sb); 1658Debug.Assert(_left is not null && _right is not null); 1665_right.ToStringHelper(sb); 1733Debug.Assert(_left is not null && _right is not null); 1738_right.ToStringHelper(sb); 1864Debug.Assert(_left is not null && _right is not null); 1866_right.CollectSets(builder, sets); 1874Debug.Assert(conc._left is not null && conc._right is not null); 1876conc = conc._right; 1919Debug.Assert(_left is not null && _right is not null); 1921SymbolicRegexNode<TSet> rest = _right; 1924Debug.Assert(rest._left is not null && rest._right is not null); 1927rest = rest._right; 1935Debug.Assert(_left is not null && _right is not null); 1936return CreateAlternate(builder, _left.Reverse(builder), _right.Reverse(builder)); 1991Debug.Assert(_left is not null && _right is not null); 1992return _left.StartsWithLoop(upperBoundLowestValue) || (_left.IsNullable && _right.StartsWithLoop(upperBoundLowestValue)); 1995Debug.Assert(_left is not null && _right is not null); 1996return _left.StartsWithLoop(upperBoundLowestValue) || _right.StartsWithLoop(upperBoundLowestValue); 2125Debug.Assert(_left is not null && _right is not null); 2127SymbolicRegexNode<TSet> right1 = _left.IsNullable ? _right.PruneAnchorsImpl(builder, prevKind, contWithWL, contWithNWL) : _right; 2130return left1 == _left && right1 == _right ? 2137Debug.Assert(_left is not null && _right is not null); 2139SymbolicRegexNode<TSet> right1 = _right.PruneAnchorsImpl(builder, prevKind, contWithWL, contWithNWL); 2142return left1 == _left && right1 == _right ? 2149Debug.Assert(_left is not null && _right is not null); 2153CreateEffect(builder, left1, _right); 2191Debug.Assert(_left is not null && _right is not null); 2200Debug.Assert(_right.IsNullableFor(context)); 2201return _right.ResolveFixedLength(context); 2205Debug.Assert(_left is not null && _right is not null); 2207return leftLength >= 0 ? leftLength : _right.ResolveFixedLength(context); 2237Debug.Assert(current._left is not null && current._right is not null); 2242current = current._right; 2287Debug.Assert(_left is not null && _right is not null); 2289return Sum(_left.CountSingletons(), _right.CountSingletons()); 2292Debug.Assert(_left is not null && _right is null); 2322Debug.Assert(_left is null && _right is null);