self.propagate_through_expr(l, ln)
}
- expr_log(_, l, r) |
+ expr_log(l, r) |
expr_index(l, r) |
expr_binary(_, l, r) => {
self.propagate_through_exprs(~[l, r], succ)
self.consume_block(blk, visitor);
}
- expr_log(_, a_expr, b_expr) => {
+ expr_log(a_expr, b_expr) => {
self.consume_expr(a_expr, visitor);
self.use_expr(b_expr, Read, visitor);
}
ast::expr_ret(ex) => {
return controlflow::trans_ret(bcx, ex);
}
- ast::expr_log(_, lvl, a) => {
+ ast::expr_log(lvl, a) => {
return controlflow::trans_log(expr, lvl, bcx, a);
}
ast::expr_while(cond, ref body) => {
type_needs(cx, use_repr, ty::type_autoderef(cx.ccx.tcx, base_ty));
mark_for_method_call(cx, e.id, e.callee_id);
}
- expr_log(_, _, val) => {
+ expr_log(_, val) => {
node_type_needs(cx, use_tydesc, val.id);
}
expr_call(f, _, _) => {
}
fcx.write_bot(id);
}
- ast::expr_log(_, lv, e) => {
+ ast::expr_log(lv, e) => {
check_expr_has_type(fcx, lv,
ty::mk_mach_uint(tcx, ast::ty_u32));
span: span,
}
-#[auto_encode]
-#[auto_decode]
-#[deriving(Eq)]
-pub enum log_level { error, debug, log_other }
-// 0 = error, 1 = debug, 2 = log_other
-
#[auto_encode]
#[auto_decode]
#[deriving(Eq)]
expr_break(Option<ident>),
expr_again(Option<ident>),
expr_ret(Option<@expr>),
- expr_log(log_level, @expr, @expr),
+ expr_log(@expr, @expr),
expr_inline_asm(@~str, // asm
~[(@~str, @expr)], // inputs
expr_ret(ref e) => {
expr_ret(e.map(|x| fld.fold_expr(*x)))
}
- expr_log(i, lv, e) => {
+ expr_log(lv, e) => {
expr_log(
- i,
fld.fold_expr(lv),
fld.fold_expr(e)
)
let lvl = self.parse_expr();
self.expect(&token::COMMA);
let e = self.parse_expr();
- ex = expr_log(ast::log_other, lvl, e);
+ ex = expr_log(lvl, e);
hi = self.span.hi;
self.expect(&token::RPAREN);
} else if self.eat_keyword(&~"return") {
_ => ()
}
}
- ast::expr_log(lvl, lexp, expr) => {
- match lvl {
- ast::debug => { word_nbsp(s, ~"log"); print_expr(s, expr); }
- ast::error => { word_nbsp(s, ~"log_err"); print_expr(s, expr); }
- ast::log_other => {
- word_nbsp(s, ~"log");
- popen(s);
- print_expr(s, lexp);
- word(s.s, ~",");
- space_if_not_bol(s);
- print_expr(s, expr);
- pclose(s);
- }
- }
+ ast::expr_log(lexp, expr) => {
+ word(s.s, ~"__log");
+ popen(s);
+ print_expr(s, lexp);
+ word(s.s, ~",");
+ space_if_not_bol(s);
+ print_expr(s, expr);
+ pclose(s);
}
ast::expr_inline_asm(a, in, out, c, v, _) => {
if v {
expr_break(_) => (),
expr_again(_) => (),
expr_ret(eo) => visit_expr_opt(eo, e, v),
- expr_log(_, lv, x) => {
+ expr_log(lv, x) => {
(v.visit_expr)(lv, e, v);
(v.visit_expr)(x, e, v);
}