Lines Matching refs:Token

14 pub enum Token<'a> {  enum
64 pub token: Token<'a>,
69 fn token(token: Token, loc: Location) -> Result<LocatedToken, LocatedError> { in token() argument
205 fn scan_char(&mut self, tok: Token<'a>) -> Result<LocatedToken<'a>, LocatedError> { in scan_char()
216 tok: Token<'a>, in scan_chars()
242 token(Token::Comment(text), loc) in scan_comment()
271 return token(Token::Minus, loc); in scan_number()
278 return token(Token::Plus, loc); in scan_number()
306 token(Token::Float(text), loc) in scan_number()
308 token(Token::Integer(text), loc) in scan_number()
335 "cold" => Token::Cold, in scan_word()
336 _ => Token::Identifier(text), in scan_word()
344 fn numbered_entity(prefix: &str, number: u32) -> Option<Token<'a>> { in numbered_entity()
346 "v" => Value::with_number(number).map(Token::Value), in numbered_entity()
347 "block" => Block::with_number(number).map(Token::Block), in numbered_entity()
348 "ss" => Some(Token::StackSlot(number)), in numbered_entity()
349 "dss" => Some(Token::DynamicStackSlot(number)), in numbered_entity()
350 "dt" => Some(Token::DynamicType(number)), in numbered_entity()
351 "gv" => Some(Token::GlobalValue(number)), in numbered_entity()
352 "mt" => Some(Token::MemoryType(number)), in numbered_entity()
353 "const" => Some(Token::Constant(number)), in numbered_entity()
354 "fn" => Some(Token::FuncRef(number)), in numbered_entity()
355 "sig" => Some(Token::SigRef(number)), in numbered_entity()
356 "u" => Some(Token::UserRef(number)), in numbered_entity()
357 "userextname" => Some(Token::UserNameRef(number)), in numbered_entity()
358 "extable" => Some(Token::ExceptionTableRef(number)), in numbered_entity()
359 "tag" => Some(Token::ExceptionTag(number)), in numbered_entity()
360 "ret" => Some(Token::TryCallRet(number)), in numbered_entity()
361 "exn" => Some(Token::TryCallExn(number)), in numbered_entity()
367 fn value_type(text: &str, prefix: &str, number: u32) -> Option<Token<'a>> { in value_type()
388 base_type.by(number).map(Token::Type) in value_type()
393 Some(Token::Type(base_type)) in value_type()
411 token(Token::Name(&self.source[begin..end]), loc) in scan_name()
432 token(Token::String(&self.source[begin..end]), loc) in scan_string()
448 token(Token::HexSequence(&self.source[begin..end]), loc) in scan_hex_sequence()
469 token(Token::SourceLoc(&self.source[begin..end]), loc) in scan_srcloc()
481 Some('(') => Some(self.scan_char(Token::LPar)), in next()
482 Some(')') => Some(self.scan_char(Token::RPar)), in next()
483 Some('{') => Some(self.scan_char(Token::LBrace)), in next()
484 Some('}') => Some(self.scan_char(Token::RBrace)), in next()
485 Some('[') => Some(self.scan_char(Token::LBracket)), in next()
486 Some(']') => Some(self.scan_char(Token::RBracket)), in next()
487 Some('<') => Some(self.scan_char(Token::LAngle)), in next()
488 Some('>') => Some(self.scan_char(Token::RAngle)), in next()
489 Some(',') => Some(self.scan_char(Token::Comma)), in next()
490 Some('.') => Some(self.scan_char(Token::Dot)), in next()
491 Some(':') => Some(self.scan_char(Token::Colon)), in next()
492 Some('=') => Some(self.scan_char(Token::Equal)), in next()
493 Some('!') => Some(self.scan_char(Token::Bang)), in next()
495 Some('*') => Some(self.scan_char(Token::Multiply)), in next()
498 Some(self.scan_chars(2, Token::Arrow)) in next()
521 Some(token(Token::At, loc)) in next()
567 fn token<'a>(token: Token<'a>, line: usize) -> Option<Result<LocatedToken<'a>, LocatedError>> { in token()
589 assert_eq!(lex.next(), token(Token::Comment("; hello"), 1)); in lex_comment()
593 assert_eq!(lex.next(), token(Token::Comment(";hello"), 2)); in lex_comment()
594 assert_eq!(lex.next(), token(Token::Comment(";foo"), 3)); in lex_comment()
600 assert_eq!(lex.next(), token(Token::Comment("; hello"), 1)); in lex_comment()
607 assert_eq!(lex.next(), token(Token::LPar, 1)); in lex_chars()
608 assert_eq!(lex.next(), token(Token::RPar, 1)); in lex_chars()
609 assert_eq!(lex.next(), token(Token::Comment("; hello"), 1)); in lex_chars()
610 assert_eq!(lex.next(), token(Token::Equal, 2)); in lex_chars()
611 assert_eq!(lex.next(), token(Token::Colon, 2)); in lex_chars()
612 assert_eq!(lex.next(), token(Token::LBrace, 2)); in lex_chars()
613 assert_eq!(lex.next(), token(Token::Comma, 2)); in lex_chars()
614 assert_eq!(lex.next(), token(Token::RBrace, 2)); in lex_chars()
615 assert_eq!(lex.next(), token(Token::Dot, 2)); in lex_chars()
622 assert_eq!(lex.next(), token(Token::Integer("0"), 1)); in lex_numbers()
623 assert_eq!(lex.next(), token(Token::Integer("2_000"), 1)); in lex_numbers()
624 assert_eq!(lex.next(), token(Token::Integer("-1"), 1)); in lex_numbers()
625 assert_eq!(lex.next(), token(Token::Comma, 1)); in lex_numbers()
626 assert_eq!(lex.next(), token(Token::Integer("0xf"), 1)); in lex_numbers()
627 assert_eq!(lex.next(), token(Token::Integer("-0x0"), 1)); in lex_numbers()
628 assert_eq!(lex.next(), token(Token::Float("0.0"), 1)); in lex_numbers()
629 assert_eq!(lex.next(), token(Token::Float("0x0.4p-34"), 1)); in lex_numbers()
630 assert_eq!(lex.next(), token(Token::Float("NaN"), 1)); in lex_numbers()
631 assert_eq!(lex.next(), token(Token::Integer("+5"), 1)); in lex_numbers()
643 token(Token::Value(Value::with_number(0).unwrap()), 1) in lex_identifiers()
645 assert_eq!(lex.next(), token(Token::Identifier("v00"), 1)); in lex_identifiers()
646 assert_eq!(lex.next(), token(Token::Identifier("vx01"), 1)); in lex_identifiers()
649 token(Token::Block(Block::with_number(1234567890).unwrap()), 1) in lex_identifiers()
651 assert_eq!(lex.next(), token(Token::Identifier("block5234567890"), 1)); in lex_identifiers()
652 assert_eq!(lex.next(), token(Token::Identifier("v1x"), 1)); in lex_identifiers()
653 assert_eq!(lex.next(), token(Token::Identifier("vx1"), 1)); in lex_identifiers()
654 assert_eq!(lex.next(), token(Token::Identifier("vxvx4"), 1)); in lex_identifiers()
655 assert_eq!(lex.next(), token(Token::Identifier("function0"), 1)); in lex_identifiers()
656 assert_eq!(lex.next(), token(Token::Identifier("function"), 1)); in lex_identifiers()
657 assert_eq!(lex.next(), token(Token::Type(types::I8), 1)); in lex_identifiers()
658 assert_eq!(lex.next(), token(Token::Type(types::I32X4), 1)); in lex_identifiers()
659 assert_eq!(lex.next(), token(Token::Identifier("f32x5"), 1)); in lex_identifiers()
660 assert_eq!(lex.next(), token(Token::Type(types::F16), 1)); in lex_identifiers()
661 assert_eq!(lex.next(), token(Token::Type(types::F128), 1)); in lex_identifiers()
669 assert_eq!(lex.next(), token(Token::HexSequence("0"), 1)); in lex_hex_sequences()
670 assert_eq!(lex.next(), token(Token::HexSequence("DEADbeef123"), 1)); in lex_hex_sequences()
671 assert_eq!(lex.next(), token(Token::HexSequence("789"), 1)); in lex_hex_sequences()
678 assert_eq!(lex.next(), token(Token::Name("0"), 1)); in lex_names()
679 assert_eq!(lex.next(), token(Token::Name("x3"), 1)); in lex_names()
680 assert_eq!(lex.next(), token(Token::Name("function"), 1)); in lex_names()
681 assert_eq!(lex.next(), token(Token::Name("123_abc"), 1)); in lex_names()
682 assert_eq!(lex.next(), token(Token::Name("ss0"), 1)); in lex_names()
683 assert_eq!(lex.next(), token(Token::Name("v3"), 1)); in lex_names()
684 assert_eq!(lex.next(), token(Token::Name("block11"), 1)); in lex_names()
685 assert_eq!(lex.next(), token(Token::Name("const42"), 1)); in lex_names()
686 assert_eq!(lex.next(), token(Token::Name("_"), 1)); in lex_names()
697 assert_eq!(lex.next(), token(Token::String(""), 1)); in lex_strings()
698 assert_eq!(lex.next(), token(Token::String("0"), 1)); in lex_strings()
699 assert_eq!(lex.next(), token(Token::String("x3"), 1)); in lex_strings()
700 assert_eq!(lex.next(), token(Token::String("function"), 1)); in lex_strings()
701 assert_eq!(lex.next(), token(Token::String("123 abc"), 1)); in lex_strings()
702 assert_eq!(lex.next(), token(Token::String(r#"\"#), 1)); in lex_strings()
706 Token::String( in lex_strings()
720 assert_eq!(lex.next(), token(Token::UserRef(0), 1)); in lex_userrefs()
721 assert_eq!(lex.next(), token(Token::UserRef(1), 1)); in lex_userrefs()
722 assert_eq!(lex.next(), token(Token::UserRef(234567890), 1)); in lex_userrefs()
723 assert_eq!(lex.next(), token(Token::UserRef(9), 1)); in lex_userrefs()
724 assert_eq!(lex.next(), token(Token::Colon, 1)); in lex_userrefs()
725 assert_eq!(lex.next(), token(Token::Integer("8765"), 1)); in lex_userrefs()