|
@@ -228,20 +228,20 @@ impl ASTArena {
|
|
|
writeln!(f, ")")
|
|
|
}
|
|
|
|
|
|
- // Expr::Case(expr, cases) => {
|
|
|
- // writeln!(f, "Case(")?;
|
|
|
- // self.indent(f, depth)?;
|
|
|
- // self.show_expr(&self[*expr], f, depth)?;
|
|
|
- // for case in cases {
|
|
|
- // self.indent(f, depth + 2)?;
|
|
|
- // self.show_pat(&case.pat, f)?;
|
|
|
- // writeln!(f, " =>")?;
|
|
|
- // self.indent(f, depth + 4)?;
|
|
|
- // self.show_expr(&self[case.expr], f, depth + 4)?;
|
|
|
- // }
|
|
|
- // self.indent(f, depth)?;
|
|
|
- // writeln!(f, ")")
|
|
|
- // }
|
|
|
+ Expr::Case(expr, cases) => {
|
|
|
+ writeln!(f, "Case(")?;
|
|
|
+ self.indent(f, depth)?;
|
|
|
+ self.show_expr(&self[*expr], f, depth)?;
|
|
|
+ for case in cases {
|
|
|
+ self.indent(f, depth + 2)?;
|
|
|
+ self.show_pat(&case.pats[0], f)?;
|
|
|
+ writeln!(f, " =>")?;
|
|
|
+ self.indent(f, depth + 4)?;
|
|
|
+ self.show_expr(&self[case.expr], f, depth + 4)?;
|
|
|
+ }
|
|
|
+ self.indent(f, depth)?;
|
|
|
+ writeln!(f, ")")
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -325,7 +325,7 @@ pub enum Expr {
|
|
|
Let(bool, Name, ExprRef, ExprRef),
|
|
|
Fun(Vec<Case>),
|
|
|
Range(ExprRef, ExprRef),
|
|
|
- // Case(ExprRef, Vec<Case>),
|
|
|
+ Case(ExprRef, Vec<Case>),
|
|
|
Nil,
|
|
|
}
|
|
|
|