/// characters.
fn word(&mut self) -> &'a str {
let start = match self.cur.clone().next() {
- Some((pos, c)) if c.is_XID_start() => {
+ Some((pos, c)) if c.is_xid_start() => {
self.cur.next();
pos
}
let mut end;
loop {
match self.cur.clone().next() {
- Some((_, c)) if c.is_XID_continue() => {
+ Some((_, c)) if c.is_xid_continue() => {
self.cur.next();
}
Some((pos, _)) => { end = pos; break }
// Underscore-qualify anything that didn't start as an ident.
if result.len() > 0u &&
result.as_bytes()[0] != '_' as u8 &&
- ! (result.as_bytes()[0] as char).is_XID_start() {
+ ! (result.as_bytes()[0] as char).is_xid_start() {
return format!("_{}", result.as_slice());
}
// we use these headings as test names, so it's good if
// they're valid identifiers.
let name = name.chars().enumerate().map(|(i, c)| {
- if (i == 0 && c.is_XID_start()) ||
- (i != 0 && c.is_XID_continue()) {
+ if (i == 0 && c.is_xid_start()) ||
+ (i != 0 && c.is_xid_continue()) {
c
} else {
'_'
// integer literal followed by field/method access or a range pattern
// (`0..2` and `12.foo()`)
if self.curr_is('.') && !self.nextch_is('.') && !self.nextch().unwrap_or('\0')
- .is_XID_start() {
+ .is_xid_start() {
// might have stuff after the ., and if it does, it needs to start
// with a number
self.bump();
(c >= 'a' && c <= 'z')
|| (c >= 'A' && c <= 'Z')
|| c == '_'
- || (c > '\x7f' && c.is_XID_start())
+ || (c > '\x7f' && c.is_xid_start())
}
fn ident_continue(c: Option<char>) -> bool {
|| (c >= 'A' && c <= 'Z')
|| (c >= '0' && c <= '9')
|| c == '_'
- || (c > '\x7f' && c.is_XID_continue())
+ || (c > '\x7f' && c.is_xid_continue())
}
#[cfg(test)]
/// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications),
/// mostly similar to ID_Start but modified for closure under NFKx.
#[allow(non_snake_case)]
+ #[deprecated = "use is_xid_start"]
fn is_XID_start(self) -> bool;
+ /// Returns whether the specified character satisfies the 'XID_Start'
+ /// Unicode property.
+ ///
+ /// 'XID_Start' is a Unicode Derived Property specified in
+ /// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications),
+ /// mostly similar to ID_Start but modified for closure under NFKx.
+ #[allow(non_snake_case)]
+ fn is_xid_start(self) -> bool;
+
/// Returns whether the specified `char` satisfies the 'XID_Continue'
/// Unicode property.
///
/// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications),
/// mostly similar to 'ID_Continue' but modified for closure under NFKx.
#[allow(non_snake_case)]
+ #[deprecated = "use is_xid_continue"]
fn is_XID_continue(self) -> bool;
+ /// Returns whether the specified `char` satisfies the 'XID_Continue'
+ /// Unicode property.
+ ///
+ /// 'XID_Continue' is a Unicode Derived Property specified in
+ /// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications),
+ /// mostly similar to 'ID_Continue' but modified for closure under NFKx.
+ #[allow(non_snake_case)]
+ fn is_xid_continue(self) -> bool;
/// Indicates whether a character is in lowercase.
///
}
}
+ #[deprecated = "use is_xid_start"]
fn is_XID_start(self) -> bool { derived_property::XID_Start(self) }
+ #[deprecated = "use is_xid_continue"]
fn is_XID_continue(self) -> bool { derived_property::XID_Continue(self) }
+ fn is_xid_start(self) -> bool { derived_property::XID_Start(self) }
+
+ fn is_xid_continue(self) -> bool { derived_property::XID_Continue(self) }
+
fn is_lowercase(self) -> bool {
match self {
'a' ... 'z' => true,