Simple refactoring in the pretty printer.
Introduce a proto_to_str function to find the string representation of a given proto instead of casing on the proto in multiple places.
This commit is contained in:
parent
9bd945639b
commit
da2a7e5bd2
@ -848,7 +848,7 @@ fn print_opt(&ps s, &option::t[@ast::expr] expr) {
|
||||
bclose(s, expr.span);
|
||||
}
|
||||
case (ast::expr_fn(?f)) {
|
||||
head(s, "fn");
|
||||
head(s, proto_to_str(f.proto));
|
||||
print_fn_args_and_ret(s, f.decl);
|
||||
space(s.s);
|
||||
print_block(s, f.body);
|
||||
@ -1147,9 +1147,7 @@ fn print_fn(&ps s, ast::fn_decl decl, ast::proto proto, str name,
|
||||
&ast::ty_param[] typarams) {
|
||||
alt (decl.purity) {
|
||||
case (ast::impure_fn) {
|
||||
if (proto == ast::proto_iter) {
|
||||
head(s, "iter");
|
||||
} else { head(s, "fn"); }
|
||||
head(s, proto_to_str(proto));
|
||||
}
|
||||
case (_) { head(s, "pred"); }
|
||||
}
|
||||
@ -1308,9 +1306,7 @@ fn print_ty_fn(&ps s, &ast::proto proto, &option::t[str] id,
|
||||
&ast::ty_arg[] inputs, &@ast::ty output,
|
||||
&ast::controlflow cf, &(@ast::constr)[] constrs) {
|
||||
ibox(s, indent_unit);
|
||||
if (proto == ast::proto_fn) {
|
||||
word(s.s, "fn");
|
||||
} else { word(s.s, "iter"); }
|
||||
word(s.s, proto_to_str(proto));
|
||||
alt (id) {
|
||||
case (some(?id)) { word(s.s, " "); word(s.s, id); }
|
||||
case (_) { }
|
||||
@ -1565,6 +1561,13 @@ fn ast_constrs_str(&(@ast::constr)[] constrs) -> str {
|
||||
ret s;
|
||||
}
|
||||
|
||||
fn proto_to_str(&ast::proto p) -> str {
|
||||
ret alt (p) {
|
||||
ast::proto_fn { "fn" }
|
||||
ast::proto_iter { "iter" }
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
// Local Variables:
|
||||
// mode: rust
|
||||
|
Loading…
Reference in New Issue
Block a user