(kinds: [TokenKind; N])
| 6 | |
| 7 | impl TokenSet { |
| 8 | pub(crate) const fn new<const N: usize>(kinds: [TokenKind; N]) -> TokenSet { |
| 9 | let mut res = 0u128; |
| 10 | let mut i = 0usize; |
| 11 | |
| 12 | while i < N { |
| 13 | let kind = kinds[i]; |
| 14 | res |= mask(kind); |
| 15 | i += 1; |
| 16 | } |
| 17 | TokenSet(res) |
| 18 | } |
| 19 | |
| 20 | pub(crate) const fn union(self, other: TokenSet) -> TokenSet { |
| 21 | TokenSet(self.0 | other.0) |