lex_core/lex/token/
testing.rs1use std::ops::Range;
7
8use super::core::Token;
9
10pub type Tokens = Vec<(Token, Range<usize>)>;
12
13pub fn make_loc(start: usize, end: usize) -> Range<usize> {
15 start..end
16}
17
18pub fn mk_token(token: Token, start: usize, end: usize) -> (Token, Range<usize>) {
20 (token, make_loc(start, end))
21}
22
23pub fn mk_tokens(specs: &[(Token, usize, usize)]) -> Tokens {
25 specs
26 .iter()
27 .cloned()
28 .map(|(t, s, e)| mk_token(t, s, e))
29 .collect()
30}
31
32pub fn mk_tokens_with_dummy_span(tokens: Vec<Token>) -> Tokens {
35 tokens
36 .into_iter()
37 .map(|token| mk_token(token, 0, 0))
38 .collect()
39}