1 instantiation of MatchingState
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Automata.cs (1)
256
state = new
MatchingState
<TSet>(key.Node, key.PrevCharKind);
34 references to MatchingState
System.Text.RegularExpressions (34)
System\Text\RegularExpressions\Symbolic\MatchingState.cs (1)
172
obj is
MatchingState
<TSet> s && PrevCharKind == s.PrevCharKind && Node.Equals(s.Node);
System\Text\RegularExpressions\Symbolic\MatchReversal.cs (2)
12
internal MatchReversalInfo(MatchReversalKind kind, int fixedLength,
MatchingState
<TSet>? adjustedStartState = null)
37
internal
MatchingState
<TSet>? AdjustedStartState { get; }
System\Text\RegularExpressions\Symbolic\StateFlags.cs (1)
9
/// for every state, for which they are created by <see cref="
MatchingState
{TSet}.BuildStateFlags(bool)"/>.
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Automata.cs (18)
29
private readonly Dictionary<(SymbolicRegexNode<TSet> Node, uint PrevCharKind),
MatchingState
<TSet>> _stateCache = [];
36
private
MatchingState
<TSet>?[] _stateArray;
46
/// _nullabilityArray[stateId] == the <see cref="
MatchingState
{TSet}.NullabilityInfo"/> for that state.
127
private Span<int> GetDeltasFor(
MatchingState
<TSet> state)
141
private Span<int[]?> GetNfaDeltasFor(
MatchingState
<TSet> state)
165
private
MatchingState
<TSet> GetOrCreateState(SymbolicRegexNode<TSet> node, uint prevCharKind)
250
private
MatchingState
<TSet> GetOrCreateState_NoLock(SymbolicRegexNode<TSet> node, uint prevCharKind, bool isInitialState = false)
254
if (!_stateCache.TryGetValue(key, out
MatchingState
<TSet>? state))
281
/// <see cref="
MatchingState
{TSet}"/> allocated with <see cref="GetOrCreateState(SymbolicRegexNode{TSet}, uint)"/>,
299
MatchingState
<TSet> coreState = GetOrCreateState(node, prevCharKind);
339
/// <summary>Gets the <see cref="
MatchingState
{TSet}"/> corresponding to the given state ID.</summary>
340
private
MatchingState
<TSet> GetState(int stateId)
343
MatchingState
<TSet>? state = _stateArray[stateId];
358
private bool TryCreateNewTransition(
MatchingState
<TSet> sourceState, int mintermId, int offset, bool checkThreshold, long timeoutOccursAt, [NotNullWhen(true)] out
MatchingState
<TSet>? nextState)
364
MatchingState
<TSet>? targetState = _stateArray[_dfaDelta[offset]];
401
MatchingState
<TSet> coreState = GetState(coreId);
430
MatchingState
<TSet> coreState = GetState(GetCoreStateId(nfaStateId));
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (12)
100
private readonly
MatchingState
<TSet>[] _initialStates;
104
private readonly
MatchingState
<TSet>[] _dotstarredInitialStates;
108
private readonly
MatchingState
<TSet>[] _reverseInitialStates;
190
_stateArray = new
MatchingState
<TSet>[InitialDfaStateCapacity];
228
var initialStates = new
MatchingState
<TSet>[statesCount];
238
var dotstarredInitialStates = new
MatchingState
<TSet>[statesCount];
258
var reverseInitialStates = new
MatchingState
<TSet>[statesCount];
1010
MatchingState
<TSet> initialState = _initialStates[GetCharKind(input, i - 1)];
1085
MatchingState
<TSet> endState = GetState(GetCoreStateId(endStateId));
1218
public void InitializeFrom(SymbolicRegexMatcher<TSet> matcher,
MatchingState
<TSet> dfaMatchingState)
1234
public CurrentState(
MatchingState
<TSet> dfaState)
1287
if (matcher.TryCreateNewTransition(matcher.GetState(dfaStateId), mintermId, dfaOffset, checkThreshold: true, timeoutOccursAt, out
MatchingState
<TSet>? nextState))