MCPcopy Create free account
hub / github.com/dada-lang/dada / integer

Method integer

components/dada-parser/src/tokenizer.rs:399–422  ·  view source on GitHub ↗
(&mut self, start: usize, ch: char)

Source from the content-addressed store, hash-verified

397 }
398
399 fn integer(&mut self, start: usize, ch: char) {
400 let skipped = self.clear_accumulated(start);
401
402 let mut end = start + ch.len_utf8();
403
404 while let Some(&(index, ch)) = self.chars.peek() {
405 if ch.is_ascii_digit() || ch == '_' {
406 end = index + ch.len_utf8();
407 self.chars.next();
408 } else {
409 break;
410 }
411 }
412
413 let span = self.span(start, end);
414
415 let text = &self.input[start..end];
416 let token_text = TokenText::new(self.db, text.to_string());
417 self.tokens.push(Token {
418 span,
419 skipped,
420 kind: TokenKind::Literal(LiteralKind::Integer, token_text),
421 });
422 }
423
424 /// Process an escape sequence after consuming `\`.
425 /// `backslash_offset` is the byte index of the `\` character.

Callers 1

tokenizeMethod · 0.80

Calls 6

LiteralClass · 0.85
clear_accumulatedMethod · 0.80
peekMethod · 0.80
pushMethod · 0.80
nextMethod · 0.45
spanMethod · 0.45

Tested by

no test coverage detected