/// <summary> /// Performs FSM instruction unless token's type is any of the specified, then advances FSM /// </summary> public static FSMI DoUntilAny <TToken, TTokenType>(this TToken token, FSMI instruction, params TTokenType[] types) where TToken : Token where TTokenType : struct, IConvertible { return(token.TypeIsAnyOf(types) ? FSMI.Advance : instruction); }
/// <summary> /// Performs FSM instruction unless token's text is any of the specified, then advances FSM /// </summary> public static FSMI DoUntilAny <TToken>(this TToken token, FSMI instruction, StringComparison comparison, params string[] texts) where TToken : Token { return(token.TextIsAnyOf(comparison, texts) ? FSMI.Advance : instruction); }
/// <summary> /// Performs FSM instruction unless token's type is any of the specified, then advances FSM /// </summary> public static FSMI DoUntilAny <TToken>(this TToken token, FSMI instruction, params int[] types) where TToken : Token { return(token.TypeIsAnyOf(types) ? FSMI.Advance : instruction); }