1 write to _builder
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (1)
174_builder = builder;
24 references to _builder
System.Text.RegularExpressions (24)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Automata.cs (15)
200node = _builder.Epsilon; // The entire match is fixed length. 225_builder.CreateConcat( // Subtract the fixed part of the loop. 226_builder.CreateLoop(left._left, left.IsLazy, 0, left._upper - left._lower), 239node == _builder.Epsilon ? new MatchReversalInfo<TSet>(MatchReversalKind.FixedLength, pos) : 240new MatchReversalInfo<TSet>(MatchReversalKind.PartialFixedLength, pos, GetOrCreateState_NoLock(_builder.CreateDisableBacktrackingSimulation(node), 0)); 252SymbolicRegexNode<TSet> prunedNode = node.PruneAnchors(_builder, prevCharKind); 357/// <remarks>This function locks the matcher for safe concurrent use of the <see cref="_builder"/></remarks> 368(checkThreshold && _builder._nodeCache.Count >= SymbolicRegexThresholds.NfaNodeCountThreshold)) // if # of nodes exceeds the NFA threshold 376targetState = GetOrCreateState(sourceState.Next(_builder, minterm, nextCharKind), nextCharKind); 386/// <remarks>This function locks the matcher for safe concurrent use of the <see cref="_builder"/></remarks> 405GetState(coreTargetId).Node : coreState.Next(_builder, minterm, nextCharKind); 420/// <remarks>This function locks the matcher for safe concurrent use of the <see cref="_builder"/></remarks> 433List<(SymbolicRegexNode<TSet> Node, DerivativeEffect[] Effects)>? transition = coreState.NfaNextWithEffects(_builder, minterm, nextCharKind); 456/// <remarks>This function locks the matcher for safe concurrent use of the <see cref="_builder"/></remarks> 466foreach (SymbolicRegexNode<TSet> nfaNode in node.EnumerateAlternationBranches(_builder))
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (6)
139private ISolver<TSet> Solver => _builder._solver; 250_deadStateId = GetOrCreateState_NoLock(_builder._nothing, 0).Id; 288if (_builder._newLineSet.Equals(minterm)) 293else if (!Solver.IsEmpty(Solver.And(_builder._wordLetterForBoundariesSet, minterm))) 295Debug.Assert(Solver.IsEmpty(Solver.And(Solver.Not(_builder._wordLetterForBoundariesSet), minterm))); 329return _builder._newLineSet;
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Dgml.cs (2)
59string label = DescribeLabel(transition.Value.Rule, _builder); 188DescribeLabels(matcher.Solver.GetMinterms()!, matcher._builder));
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Sample.cs (1)
39CharSetSolver charSetSolver = _builder._charSetSolver;