1 write to _solver
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexBuilder.cs (1)
135_solver = solver;
39 references to _solver
System.Text.RegularExpressions (39)
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (8)
62result.AddLast(_builder.CreateSingleton(_builder._solver.Not(_builder._charSetSolver.CreateBDDFromChar(node.Ch)))); 115bdd = _builder._solver.Not(bdd); 237if (elem.IsNothing(_builder._solver)) 242or = elem.IsAnyStar(_builder._solver) ? 294if (_builder._newLineSet.Equals(_builder._solver.Empty)) 303if (_builder._wordLetterForBoundariesSet.Equals(_builder._solver.Empty)) 306_builder._wordLetterForBoundariesSet = UnicodeCategoryConditions.WordLetterForAnchors((CharSetSolver)_builder._solver); 346var charSetSolver = (CharSetSolver)_builder._solver;
System\Text\RegularExpressions\Symbolic\SymbolicRegexBuilder.cs (3)
152_singletonCache[_solver.Empty] = _nothing; 153_singletonCache[_solver.Full] = _anyChar; 235if (_solver.IsFull(node._set))
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (8)
139private ISolver<TSet> Solver => _builder._solver; 153CharSetSolver charSetSolver = (CharSetSolver)bddBuilder._solver; 164SymbolicRegexNode<TSet> rootNode = bddBuilder.Transform(rootBddNode, builder, (builder, bdd) => builder._solver.ConvertFromBDD(bdd, charSetSolver)); 171Debug.Assert(builder._solver is UInt64Solver or BitVectorSolver, $"Unsupported solver: {builder._solver}"); 177TSet[]? solverMinterms = builder._solver.GetMinterms(); 184_mintermClassifier = builder._solver is UInt64Solver bv64 ? 186((BitVectorSolver)(object)builder._solver)._classifier;
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Dgml.cs (1)
201WebUtility.HtmlEncode(builder._solver.PrettyPrint(label, builder._charSetSolver));
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (19)
379Create(builder, SymbolicRegexNodeKind.Singleton, null, null, -1, -1, builder._solver.Empty, default); 382Create(builder, SymbolicRegexNodeKind.Singleton, null, null, -1, -1, builder._solver.Full, default); 490if (left.IsAnyStar(builder._solver) || right.IsNothing(builder._solver) || left == right || (left.IsNullable && right.IsEpsilon)) 618if (other.IsNothing(builder._solver)) 1271if (!builder._solver.IsEmpty(builder._solver.And(elem, _set))) 1670sb.Append(_debugBuilder._solver.PrettyPrint(_set, _debugBuilder._charSetSolver)); 1675if (IsAnyStar(_debugBuilder._solver)) 1899MintermGenerator<TSet>.GenerateMinterms(builder._solver, GetSets(builder)).ToArray(); 2029return builder._solver.Empty; 2037return left.CanBeNullable ? builder._solver.Or(left._set, right._set) : left._set; 2041return builder._solver.Or(left._set, right._set); 2050return builder._solver.Full; 2071bool contWithWL = CanBeNullable || !builder._solver.IsEmpty(builder._solver.And(wlbSet, _set)); 2074bool contWithNWL = CanBeNullable || !builder._solver.IsEmpty(builder._solver.And(builder._solver.Not(wlbSet), _set));