about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-08-21 17:22:45 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-08-22 16:14:39 -0700
commit0a5f88a2406bf78a216ea8e2128441766dd7cd9c (patch)
treec6aa97d45ee1fb9e16d33e6556b3111647b80e1b
parent73ffc7e7005142c5a2d898fcb2aa39018efe07fb (diff)
downloadrust-0a5f88a2406bf78a216ea8e2128441766dd7cd9c.tar.gz
rust-0a5f88a2406bf78a216ea8e2128441766dd7cd9c.zip
Change the log level to be an enum rather than an int
This allows for eliminating a match check.
-rw-r--r--src/libsyntax/ast.rs6
-rw-r--r--src/libsyntax/parse/parser.rs2
-rw-r--r--src/libsyntax/print/pprust.rs8
3 files changed, 10 insertions, 6 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs
index 7d9803b4cc3..b20bcb5868a 100644
--- a/src/libsyntax/ast.rs
+++ b/src/libsyntax/ast.rs
@@ -310,6 +310,10 @@ type expr = {id: node_id, callee_id: node_id, node: expr_, span: span};
 // Extra node ID is only used for index, assign_op, unary, binary
 
 #[auto_serialize]
+enum log_level { error, debug, other }
+// 0 = error, 1 = debug, 2 = other
+
+#[auto_serialize]
 enum alt_mode { alt_check, alt_exhaustive, }
 
 #[auto_serialize]
@@ -354,7 +358,7 @@ enum expr_ {
     expr_break(option<ident>),
     expr_again(option<ident>),
     expr_ret(option<@expr>),
-    expr_log(int, @expr, @expr),
+    expr_log(log_level, @expr, @expr),
 
     /* just an assert */
     expr_assert(@expr),
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index fea79309c21..fed81fa7520 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -947,7 +947,7 @@ struct parser {
             let lvl = self.parse_expr();
             self.expect(token::COMMA);
             let e = self.parse_expr();
-            ex = expr_log(2, lvl, e);
+            ex = expr_log(ast::other, lvl, e);
             hi = self.span.hi;
             self.expect(token::RPAREN);
         } else if self.eat_keyword(~"assert") {
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 573eeffd968..f9d65bd7e47 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1309,10 +1309,10 @@ fn print_expr(s: ps, &&expr: @ast::expr) {
         }
       }
       ast::expr_log(lvl, lexp, expr) => {
-        match check lvl {
-          1 => { word_nbsp(s, ~"log"); print_expr(s, expr); }
-          0 => { word_nbsp(s, ~"log_err"); print_expr(s, expr); }
-          2 => {
+        match lvl {
+          ast::debug => { word_nbsp(s, ~"log"); print_expr(s, expr); }
+          ast::error => { word_nbsp(s, ~"log_err"); print_expr(s, expr); }
+          ast::other => {
             word_nbsp(s, ~"log");
             popen(s);
             print_expr(s, lexp);