use crate::tokenizer::Token;
#[derive(Debug, PartialEq, Clone)]
pub(crate) enum TokenType {
CurlyBegin, CurlyEnd, RoundBegin, RoundEnd, ExceptionMarker, SquareBegin, SquareEnd, AdditionGroupsBegin, AdditionGroupsEnd, Extension, RangeSeparator, Assignment, Colon, SemiColon, Identifier, Keyword, Comment, AndIdentifier, NumberInt, BitString, HexString, TString, Dot, Comma, SetUnionToken, SetIntersectionToken, AtComponentIdList, LessThan, }
pub(crate) type TokenChecker = fn(&Token) -> bool;
macro_rules! create_is_tokentype_fns {
(($fn:ident, $toktype: path)) => {
#[allow(dead_code)]
pub(crate) fn $fn(&self) -> bool {
self.r#type == $toktype
}
};
($($tt:tt,)*) => {
$(
create_is_tokentype_fns!($tt);
)+
};
}