Lines Matching defs:char

94 fn is_hex(c: char) -> bool {
102 fn is_capture_char(c: char, first: bool) -> bool {
450 /// This panics if the current position does not point to a valid char.
451 fn char(&self) -> char {
457 /// This panics if the given position does not point to a valid char.
458 fn char_at(&self, i: usize) -> char {
462 .unwrap_or_else(|| panic!("expected char at offset {}", i))
473 if self.char() == '\n' {
479 offset += self.char().len_utf8();
538 if self.char().is_whitespace() {
540 } else if self.char() == '#' {
545 let c = self.char();
566 fn peek(&self) -> Option<char> {
570 self.pattern()[self.offset() + self.char().len_utf8()..].chars().next()
575 fn peek_space(&self) -> Option<char> {
582 let mut start = self.offset() + self.char().len_utf8();
619 offset: self.offset().checked_add(self.char().len_utf8()).unwrap(),
623 if self.char() == '\n' {
641 assert_eq!(self.char(), '|');
679 assert_eq!(self.char(), '(');
722 assert_eq!(self.char(), ')');
818 assert_eq!(self.char(), '[');
847 assert_eq!(self.char(), ']');
966 match self.char() {
1029 self.char() == '?' || self.char() == '*' || self.char() == '+'
1049 if self.bump() && self.char() == '?' {
1082 assert!(self.char() == '{');
1118 if self.char() == ',' {
1125 if self.char() != '}' {
1136 if self.is_eof() || self.char() != '}' {
1144 if self.bump_and_bump_space() && self.char() == '?' {
1187 assert_eq!(self.char(), '(');
1213 let char_end = self.char();
1263 if self.char() == '>' {
1266 if !is_capture_char(self.char(), self.pos() == start) {
1281 assert_eq!(self.char(), '>');
1317 while self.char() != ':' && self.char() != ')' {
1318 if self.char() == '-' {
1367 match self.char() {
1392 match self.char() {
1434 assert_eq!(self.char(), '\\');
1442 let c = self.char();
1536 use std::char;
1540 assert!('0' <= self.char() && self.char() <= '7');
1544 && '0' <= self.char()
1545 && self.char() <= '7'
1556 let c = char::from_u32(codepoint).expect("Unicode scalar value");
1571 self.char() == 'x' || self.char() == 'u' || self.char() == 'U'
1574 let hex_kind = match self.char() {
1584 if self.char() == '{' {
1603 use std::char;
1615 if !is_hex(self.char()) {
1621 scratch.push(self.char());
1628 match u32::from_str_radix(hex, 16).ok().and_then(char::from_u32) {
1649 use std::char;
1657 while self.bump_and_bump_space() && self.char() != '}' {
1658 if !is_hex(self.char()) {
1664 scratch.push(self.char());
1674 assert_eq!(self.char(), '}');
1683 match u32::from_str_radix(hex, 16).ok().and_then(char::from_u32) {
1709 while !self.is_eof() && self.char().is_whitespace() {
1713 while !self.is_eof() && '0' <= self.char() && self.char() <= '9' {
1714 scratch.push(self.char());
1718 while !self.is_eof() && self.char().is_whitespace() {
1740 assert_eq!(self.char(), '[');
1749 match self.char() {
1812 // If the next char isn't a `-`, then we don't have a range.
1813 // There are two exceptions. If the char after a `-` is a `]`, then
1814 // `-` is interpreted as a literal `-`. Alternatively, if the char
1817 if self.char() != '-'
1854 if self.char() == '\\' {
1860 c: self.char(),
1887 assert_eq!(self.char(), '[');
1896 let negated = if self.char() != '^' {
1910 while self.char() == '-' {
1923 // If `]` is the *first* char in a set, then interpret it as a literal
1925 if union.items.is_empty() && self.char() == ']' {
1978 assert_eq!(self.char(), '[');
1982 if !self.bump() || self.char() != ':' {
1990 if self.char() == '^' {
1998 while self.char() != ':' && self.bump() {}
2030 assert!(self.char() == 'p' || self.char() == 'P');
2035 let negated = self.char() == 'P';
2041 let (start, kind) = if self.char() == '{' {
2043 while self.bump_and_bump_space() && self.char() != '}' {
2044 scratch.push(self.char());
2050 assert_eq!(self.char(), '}');
2086 let c = self.char();
2109 let c = self.char();
2413 fn lit(c: char, start: usize) -> Ast {
2418 fn punct_lit(c: char, span: Span) -> Ast {
2427 fn lit_with(c: char, span: Span) -> Ast {
4275 c: ::std::char::from_u32(i).unwrap(),
4350 c: ::std::char::from_u32(i).unwrap(),
4381 let c = match ::std::char::from_u32(i) {
4445 let c = match ::std::char::from_u32(i) {
4720 fn lit(span: Span, c: char) -> ast::ClassSetItem {
4732 fn range(span: Span, start: char, end: char) -> ast::ClassSetItem {