From d4f1a48111673c158d1c9493be4a87eaa24064b1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 18 Apr 2011 20:58:45 -0400 Subject: Support 0 flag in #fmt --- src/comp/front/extfmt.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/comp') diff --git a/src/comp/front/extfmt.rs b/src/comp/front/extfmt.rs index 287c7e55..cfb27dcc 100644 --- a/src/comp/front/extfmt.rs +++ b/src/comp/front/extfmt.rs @@ -171,20 +171,25 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr { fn make_flags(common.span sp, vec[flag] flags) -> @ast.expr { let vec[@ast.expr] flagexprs = vec(); for (flag f in flags) { + auto fstr; alt (f) { case (flag_left_justify) { - auto fstr = "flag_left_justify"; - flagexprs += vec(make_rt_path_expr(sp, fstr)); + fstr = "flag_left_justify"; } - case (flag_sign_always) { - auto fstr = "flag_sign_always"; - flagexprs += vec(make_rt_path_expr(sp, fstr)); + case (flag_left_zero_pad) { + fstr = "flag_left_zero_pad"; } case (flag_space_for_sign) { - auto fstr = "flag_space_for_sign"; - flagexprs += vec(make_rt_path_expr(sp, fstr)); + fstr = "flag_space_for_sign"; + } + case (flag_sign_always) { + fstr = "flag_sign_always"; + } + case (flag_alternate) { + fstr = "flag_alternate"; } } + flagexprs += vec(make_rt_path_expr(sp, fstr)); } // FIXME: 0-length vectors can't have their type inferred @@ -319,6 +324,8 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr { fail; } } + case (flag_left_zero_pad) { + } case (_) { log unsupported; fail; -- cgit v1.2.3