Skip to content

Commit 3a1e13c

Browse files
committed
std: convert str::escape_* to methods.
1 parent 9e60e2e commit 3a1e13c

File tree

3 files changed

+36
-47
lines changed

3 files changed

+36
-47
lines changed

src/libstd/str.rs

Lines changed: 34 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,26 +1070,6 @@ pub fn subslice_offset(outer: &str, inner: &str) -> uint {
10701070
}
10711071
}
10721072

1073-
/// Escape each char in `s` with char::escape_default.
1074-
pub fn escape_default(s: &str) -> ~str {
1075-
let mut out: ~str = ~"";
1076-
out.reserve_at_least(s.len());
1077-
for s.iter().advance |c| {
1078-
out.push_str(char::escape_default(c));
1079-
}
1080-
out
1081-
}
1082-
1083-
/// Escape each char in `s` with char::escape_unicode.
1084-
pub fn escape_unicode(s: &str) -> ~str {
1085-
let mut out: ~str = ~"";
1086-
out.reserve_at_least(s.len());
1087-
for s.iter().advance |c| {
1088-
out.push_str(char::escape_unicode(c));
1089-
}
1090-
out
1091-
}
1092-
10931073
/// Unsafe operations
10941074
pub mod raw {
10951075
use cast;
@@ -1588,11 +1568,24 @@ impl<'self> StrSlice<'self> for &'self str {
15881568
}
15891569
15901570
/// Escape each char in `s` with char::escape_default.
1591-
#[inline]
1592-
fn escape_default(&self) -> ~str { escape_default(*self) }
1571+
fn escape_default(&self) -> ~str {
1572+
let mut out: ~str = ~"";
1573+
out.reserve_at_least(self.len());
1574+
for self.iter().advance |c| {
1575+
out.push_str(char::escape_default(c));
1576+
}
1577+
out
1578+
}
1579+
15931580
/// Escape each char in `s` with char::escape_unicode.
1594-
#[inline]
1595-
fn escape_unicode(&self) -> ~str { escape_unicode(*self) }
1581+
fn escape_unicode(&self) -> ~str {
1582+
let mut out: ~str = ~"";
1583+
out.reserve_at_least(self.len());
1584+
for self.iter().advance |c| {
1585+
out.push_str(char::escape_unicode(c));
1586+
}
1587+
out
1588+
}
15961589
15971590
/// Returns a string with leading and trailing whitespace removed
15981591
#[inline]
@@ -3176,30 +3169,27 @@ mod tests {
31763169
31773170
#[test]
31783171
fn test_escape_unicode() {
3179-
assert_eq!(escape_unicode("abc"), ~"\\x61\\x62\\x63");
3180-
assert_eq!(escape_unicode("a c"), ~"\\x61\\x20\\x63");
3181-
assert_eq!(escape_unicode("\r\n\t"), ~"\\x0d\\x0a\\x09");
3182-
assert_eq!(escape_unicode("'\"\\"), ~"\\x27\\x22\\x5c");
3183-
assert!(escape_unicode("\x00\x01\xfe\xff") ==
3184-
~"\\x00\\x01\\xfe\\xff");
3185-
assert_eq!(escape_unicode("\u0100\uffff"), ~"\\u0100\\uffff");
3186-
assert!(escape_unicode("\U00010000\U0010ffff") ==
3187-
~"\\U00010000\\U0010ffff");
3188-
assert_eq!(escape_unicode("ab\ufb00"), ~"\\x61\\x62\\ufb00");
3189-
assert_eq!(escape_unicode("\U0001d4ea\r"), ~"\\U0001d4ea\\x0d");
3172+
assert_eq!("abc".escape_unicode(), ~"\\x61\\x62\\x63");
3173+
assert_eq!("a c".escape_unicode(), ~"\\x61\\x20\\x63");
3174+
assert_eq!("\r\n\t".escape_unicode(), ~"\\x0d\\x0a\\x09");
3175+
assert_eq!("'\"\\".escape_unicode(), ~"\\x27\\x22\\x5c");
3176+
assert_eq!("\x00\x01\xfe\xff".escape_unicode(), ~"\\x00\\x01\\xfe\\xff");
3177+
assert_eq!("\u0100\uffff".escape_unicode(), ~"\\u0100\\uffff");
3178+
assert_eq!("\U00010000\U0010ffff".escape_unicode(), ~"\\U00010000\\U0010ffff");
3179+
assert_eq!("ab\ufb00".escape_unicode(), ~"\\x61\\x62\\ufb00");
3180+
assert_eq!("\U0001d4ea\r".escape_unicode(), ~"\\U0001d4ea\\x0d");
31903181
}
31913182
31923183
#[test]
31933184
fn test_escape_default() {
3194-
assert_eq!(escape_default("abc"), ~"abc");
3195-
assert_eq!(escape_default("a c"), ~"a c");
3196-
assert_eq!(escape_default("\r\n\t"), ~"\\r\\n\\t");
3197-
assert_eq!(escape_default("'\"\\"), ~"\\'\\\"\\\\");
3198-
assert_eq!(escape_default("\u0100\uffff"), ~"\\u0100\\uffff");
3199-
assert!(escape_default("\U00010000\U0010ffff") ==
3200-
~"\\U00010000\\U0010ffff");
3201-
assert_eq!(escape_default("ab\ufb00"), ~"ab\\ufb00");
3202-
assert_eq!(escape_default("\U0001d4ea\r"), ~"\\U0001d4ea\\r");
3185+
assert_eq!("abc".escape_default(), ~"abc");
3186+
assert_eq!("a c".escape_default(), ~"a c");
3187+
assert_eq!("\r\n\t".escape_default(), ~"\\r\\n\\t");
3188+
assert_eq!("'\"\\".escape_default(), ~"\\'\\\"\\\\");
3189+
assert_eq!("\u0100\uffff".escape_default(), ~"\\u0100\\uffff");
3190+
assert_eq!("\U00010000\U0010ffff".escape_default(), ~"\\U00010000\\U0010ffff");
3191+
assert_eq!("ab\ufb00".escape_default(), ~"ab\\ufb00");
3192+
assert_eq!("\U0001d4ea\r".escape_default(), ~"\\U0001d4ea\\r");
32033193
}
32043194
32053195
#[test]

src/libsyntax/parse/token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ pub fn to_str(in: @ident_interner, t: &Token) -> ~str {
193193
}
194194
body
195195
}
196-
LIT_STR(ref s) => { ~"\"" + str::escape_default(*ident_to_str(s)) + "\"" }
196+
LIT_STR(ref s) => { ~"\"" + ident_to_str(s).escape_default() + "\"" }
197197

198198
/* Name components */
199199
IDENT(s, _) => copy *in.get(s.name),

src/libsyntax/print/pprust.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ use print::pprust;
3131

3232
use core::char;
3333
use core::io;
34-
use core::str;
3534
use core::u64;
3635
use core::uint;
3736
use core::iterator::IteratorUtil;
@@ -2113,7 +2112,7 @@ pub fn print_comment(s: @ps, cmnt: &comments::cmnt) {
21132112
21142113
pub fn print_string(s: @ps, st: &str) {
21152114
word(s.s, "\"");
2116-
word(s.s, str::escape_default(st));
2115+
word(s.s, st.escape_default());
21172116
word(s.s, "\"");
21182117
}
21192118

0 commit comments

Comments
 (0)