1 write to _lower
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (1)
67_lower = lower;
49 references to _lower
System.Text.RegularExpressions (49)
System\Text\RegularExpressions\Symbolic\SymbolicRegexBuilder.cs (5)
242if (node.Kind == SymbolicRegexNodeKind.Loop && node._lower == 0 && node._upper == 1 && lower == 0 && upper == 1) 318return builder.CreateFixedLengthMarker(node._lower); 329return builder.CreateLoop(Transform(node._left, builder, setTransformer), node.IsLazy, node._lower, node._upper); 339return builder.CreateCaptureStart(node._lower); 342return builder.CreateCaptureEnd(node._lower);
System\Text\RegularExpressions\Symbolic\SymbolicRegexKind.cs (3)
39/// <see cref="SymbolicRegexNode{S}._lower"/> stores the fixed length. This node is used to avoid the second phase 70/// <remarks><see cref="SymbolicRegexNode{S}._lower"/> stores the associated capture number.</remarks> 73/// <remarks><see cref="SymbolicRegexNode{S}._lower"/> stores the associated capture number.</remarks>
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Automata.cs (4)
218if (left._lower <= 0 || left._left!.Kind is not SymbolicRegexNodeKind.Singleton) 223node = left._lower == left._upper ? 226_builder.CreateLoop(left._left, left.IsLazy, 0, left._upper - left._lower), 228pos += left._lower;
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (37)
125return node._info.IsLazyLoop && node._lower == 0; 259is_nullable = _lower == 0 || _left.IsNullableFor(context); 363public bool IsStar => _lower == 0 && _upper == int.MaxValue; 374public bool IsPlus => _lower == 1 && _upper == int.MaxValue; 414if (lower == 0 && upper == 1 && body._kind == SymbolicRegexNodeKind.Loop && body._lower == 0 && body._upper == 1) 671if (left._left.IsNullable && rl._kind == SymbolicRegexNodeKind.Loop && rl._lower == 0 && rl._upper == 1 && rl.IsLazy) 685if (ll._kind == SymbolicRegexNodeKind.Loop && ll._lower == 0 && ll._upper == 1 && ll.IsLazy) 912if (_lower == _upper) 917length *= _lower; 1013Debug.Assert(_lower == lengthSoFar); 1162if (loop._lower == 0) 1220int newlower = _lower is 0 or int.MaxValue ? _lower : _lower - 1; 1320if (_lower == 0 || _left.IsNullable || !_left.IsNullableFor(context)) 1403return builder.CreateLoop(_left.StripEffects(builder), IsLazy, _lower, _upper); 1483case SymbolicRegexNodeKind.Loop when _lower == 0 && _upper == 1: 1551if (_lower != 0 || (_upper != 0 && !IsLazy && _left.IsNullableFor(context))) 1574apply(new DerivativeEffect(DerivativeEffectKind.CaptureStart, _lower), arg); 1578apply(new DerivativeEffect(DerivativeEffectKind.CaptureEnd, _lower), arg); 1629AppendNumberSubscript(sb, _lower); 1679else if (_lower == 0 && _upper == 1) 1707else if (_lower == 0 && _upper == 0) 1715sb.Append(_lower); 1720else if (_lower != _upper) 1747Debug.Assert(_lower >= 0); 1748AppendNumberSubscript(sb, _lower); 1753Debug.Assert(_lower >= 0); 1754AppendNumberSuperscript(sb, _lower); 1915return builder.CreateLoop(_left.Reverse(builder), IsLazy, _lower, _upper); 2121CreateLoop(builder, body, _lower, _upper, IsLazy); 2188return _lower; 2293Debug.Assert(_lower >= 0 && _upper > 0 && _upper >= _lower); 2296if (_lower is 0 or int.MaxValue) 2303Debug.Assert(_lower > 0); 2308return Times(_lower + 1, _left.CountSingletons());