Skip to content

Commit 12218f7

Browse files
committed
---
yaml --- r: 2069 b: refs/heads/master c: 73eecbd h: refs/heads/master i: 2067: af2863c v: v3
1 parent 3b86177 commit 12218f7

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: bba245f3e6cdf9203cfafe7e8a81739a499b20eb
2+
refs/heads/master: 73eecbd0cad2e4d16a6a2d0aa197e3bb60f93b1f

trunk/src/comp/front/extfmt.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,14 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
125125
ret sp_callexpr;
126126
}
127127

128+
fn make_conv_call(common.span sp, str conv_type,
129+
@ast.expr arg) -> @ast.expr {
130+
auto fname = "conv_" + conv_type;
131+
let vec[str] path = vec("std", "ExtFmt", "RT", fname);
132+
let vec[@ast.expr] args = vec(arg);
133+
ret make_call(arg.span, path, args);
134+
}
135+
128136
fn make_new_conv(conv cnv, @ast.expr arg) -> @ast.expr {
129137

130138
auto unsupported = "conversion not supported in #fmt string";
@@ -168,26 +176,18 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
168176
case (ty_int(?sign)) {
169177
alt (sign) {
170178
case (signed) {
171-
let vec[str] path = vec("std", "ExtFmt", "RT", "int_to_str");
172-
let vec[@ast.expr] args = vec(arg);
173-
ret make_call(arg.span, path, args);
179+
ret make_conv_call(arg.span, "int", arg);
174180
}
175181
case (unsigned) {
176-
let vec[str] path = vec("std", "ExtFmt", "RT", "int_to_str");
177-
let vec[@ast.expr] args = vec(arg);
178-
ret make_call(arg.span, path, args);
182+
ret make_conv_call(arg.span, "uint", arg);
179183
}
180184
}
181185
}
182186
case (ty_bool) {
183-
let vec[str] path = vec("std", "ExtFmt", "RT", "bool_to_str");
184-
let vec[@ast.expr] args = vec(arg);
185-
ret make_call(arg.span, path, args);
187+
ret make_conv_call(arg.span, "bool", arg);
186188
}
187189
case (ty_char) {
188-
let vec[str] path = vec("std", "ExtFmt", "RT", "char_to_str");
189-
let vec[@ast.expr] args = vec(arg);
190-
ret make_call(arg.span, path, args);
190+
ret make_conv_call(arg.span, "char", arg);
191191
}
192192
case (_) {
193193
log unsupported;

trunk/src/lib/ExtFmt.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,23 +264,23 @@ mod CT {
264264

265265
// Functions used by the fmt extension at runtime
266266
mod RT {
267-
fn int_to_str(int i) -> str {
267+
fn conv_int(int i) -> str {
268268
ret _int.to_str(i, 10u);
269269
}
270270

271-
fn uint_to_str(uint u) -> str {
271+
fn conv_uint(uint u) -> str {
272272
ret _uint.to_str(u, 10u);
273273
}
274274

275-
fn bool_to_str(bool b) -> str {
275+
fn conv_bool(bool b) -> str {
276276
if (b) {
277277
ret "true";
278278
} else {
279279
ret "false";
280280
}
281281
}
282282

283-
fn char_to_str(char c) -> str {
283+
fn conv_char(char c) -> str {
284284
ret _str.from_char(c);
285285
}
286286
}

0 commit comments

Comments
 (0)