private string GetDebuggerDisplayString() { return(Kind switch { WildcardStepKind.AnyAny => "*", WildcardStepKind.AnyOne => "?", WildcardStepKind.AnyOf => string.Format("AO: {0}", Args.ToString()), WildcardStepKind.PartialAnyOf => string.Format("PAO: {0}", Args.ToString()), WildcardStepKind.Exact => string.Format("E: {0}", Args.ToString()), _ => string.Empty, });
private void ProcessAnyOf() { MaybeAddPendingExact(); int start = _index; int length = 0; bool found = false; bool isPartial = false; while (MoveNext()) { length++; char current = *_chars; if (current == '`') { isPartial = true; if (length > 1) { Steps.Add( WildcardInstruction.PartialAnyOf( _pattern.Slice( start + 1, length - 1))); } // Skip trying to process the next character. start = _index; length = 1; MoveNext(); continue; } if (current != ']') { continue; } found = true; Steps.Add( WildcardInstruction.AnyOf( _pattern.Slice( start + 1, length - 1), isPartial)); break; } if (!found) { throw Error.InvalidWildcardPattern(_pattern.ToString()); } }