From fdb49aa917184ebf23f11c29974ceb895824b5bc Mon Sep 17 00:00:00 2001 From: Dmitry Ermolov Date: Sun, 6 Oct 2013 23:27:36 +0400 Subject: [PATCH] Hide internal stuff in check_match.rs --- src/librustc/middle/check_match.rs | 42 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs index b2d442e0e52d4..e8282368c89d1 100644 --- a/src/librustc/middle/check_match.rs +++ b/src/librustc/middle/check_match.rs @@ -28,7 +28,7 @@ use syntax::codemap::{Span, dummy_sp, Spanned}; use syntax::visit; use syntax::visit::{Visitor,fn_kind}; -pub struct MatchCheckCtxt { +struct MatchCheckCtxt { tcx: ty::ctxt, method_map: method_map, moves_map: moves::MovesMap @@ -64,7 +64,7 @@ pub fn check_crate(tcx: ty::ctxt, tcx.sess.abort_if_errors(); } -pub fn check_expr(v: &mut CheckMatchVisitor, +fn check_expr(v: &mut CheckMatchVisitor, cx: @MatchCheckCtxt, ex: @Expr, s: ()) { @@ -115,7 +115,7 @@ pub fn check_expr(v: &mut CheckMatchVisitor, } // Check for unreachable patterns -pub fn check_arms(cx: &MatchCheckCtxt, arms: &[Arm]) { +fn check_arms(cx: &MatchCheckCtxt, arms: &[Arm]) { let mut seen = ~[]; for arm in arms.iter() { for pat in arm.pats.iter() { @@ -154,14 +154,14 @@ pub fn check_arms(cx: &MatchCheckCtxt, arms: &[Arm]) { } } -pub fn raw_pat(p: @Pat) -> @Pat { +fn raw_pat(p: @Pat) -> @Pat { match p.node { PatIdent(_, _, Some(s)) => { raw_pat(s) } _ => { p } } } -pub fn check_exhaustive(cx: &MatchCheckCtxt, sp: Span, pats: ~[@Pat]) { +fn check_exhaustive(cx: &MatchCheckCtxt, sp: Span, pats: ~[@Pat]) { assert!((!pats.is_empty())); let ext = match is_useful(cx, &pats.map(|p| ~[*p]), [wild()]) { not_useful => { @@ -209,12 +209,12 @@ pub fn check_exhaustive(cx: &MatchCheckCtxt, sp: Span, pats: ~[@Pat]) { cx.tcx.sess.span_err(sp, msg); } -pub type matrix = ~[~[@Pat]]; +type matrix = ~[~[@Pat]]; -pub enum useful { useful(ty::t, ctor), useful_, not_useful } +enum useful { useful(ty::t, ctor), useful_, not_useful } #[deriving(Eq)] -pub enum ctor { +enum ctor { single, variant(DefId), val(const_val), @@ -235,7 +235,7 @@ pub enum ctor { // Note: is_useful doesn't work on empty types, as the paper notes. // So it assumes that v is non-empty. -pub fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@Pat]) -> useful { +fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@Pat]) -> useful { if m.len() == 0u { return useful_; } if m[0].len() == 0u { return not_useful; } let real_pat = match m.iter().find(|r| r[0].id != 0) { @@ -314,7 +314,7 @@ pub fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@Pat]) -> useful { } } -pub fn is_useful_specialized(cx: &MatchCheckCtxt, +fn is_useful_specialized(cx: &MatchCheckCtxt, m: &matrix, v: &[@Pat], ctor: ctor, @@ -330,7 +330,7 @@ pub fn is_useful_specialized(cx: &MatchCheckCtxt, } } -pub fn pat_ctor_id(cx: &MatchCheckCtxt, p: @Pat) -> Option { +fn pat_ctor_id(cx: &MatchCheckCtxt, p: @Pat) -> Option { let pat = raw_pat(p); match pat.node { PatWild => { None } @@ -366,7 +366,7 @@ pub fn pat_ctor_id(cx: &MatchCheckCtxt, p: @Pat) -> Option { } } -pub fn is_wild(cx: &MatchCheckCtxt, p: @Pat) -> bool { +fn is_wild(cx: &MatchCheckCtxt, p: @Pat) -> bool { let pat = raw_pat(p); match pat.node { PatWild => { true } @@ -380,7 +380,7 @@ pub fn is_wild(cx: &MatchCheckCtxt, p: @Pat) -> bool { } } -pub fn missing_ctor(cx: &MatchCheckCtxt, +fn missing_ctor(cx: &MatchCheckCtxt, m: &matrix, left_ty: ty::t) -> Option { @@ -505,7 +505,7 @@ pub fn missing_ctor(cx: &MatchCheckCtxt, } } -pub fn ctor_arity(cx: &MatchCheckCtxt, ctor: &ctor, ty: ty::t) -> uint { +fn ctor_arity(cx: &MatchCheckCtxt, ctor: &ctor, ty: ty::t) -> uint { match ty::get(ty).sty { ty::ty_tup(ref fs) => fs.len(), ty::ty_box(_) | ty::ty_uniq(_) | ty::ty_rptr(*) => 1u, @@ -528,11 +528,11 @@ pub fn ctor_arity(cx: &MatchCheckCtxt, ctor: &ctor, ty: ty::t) -> uint { } } -pub fn wild() -> @Pat { +fn wild() -> @Pat { @Pat {id: 0, node: PatWild, span: dummy_sp()} } -pub fn specialize(cx: &MatchCheckCtxt, +fn specialize(cx: &MatchCheckCtxt, r: &[@Pat], ctor_id: &ctor, arity: uint, @@ -798,12 +798,12 @@ pub fn specialize(cx: &MatchCheckCtxt, } } -pub fn default(cx: &MatchCheckCtxt, r: &[@Pat]) -> Option<~[@Pat]> { +fn default(cx: &MatchCheckCtxt, r: &[@Pat]) -> Option<~[@Pat]> { if is_wild(cx, r[0]) { Some(r.tail().to_owned()) } else { None } } -pub fn check_local(v: &mut CheckMatchVisitor, +fn check_local(v: &mut CheckMatchVisitor, cx: &MatchCheckCtxt, loc: @Local, s: ()) { @@ -817,7 +817,7 @@ pub fn check_local(v: &mut CheckMatchVisitor, check_legality_of_move_bindings(cx, false, [ loc.pat ]); } -pub fn check_fn(v: &mut CheckMatchVisitor, +fn check_fn(v: &mut CheckMatchVisitor, cx: &MatchCheckCtxt, kind: &visit::fn_kind, decl: &fn_decl, @@ -834,7 +834,7 @@ pub fn check_fn(v: &mut CheckMatchVisitor, } } -pub fn is_refutable(cx: &MatchCheckCtxt, pat: &Pat) -> bool { +fn is_refutable(cx: &MatchCheckCtxt, pat: &Pat) -> bool { match cx.tcx.def_map.find(&pat.id) { Some(&DefVariant(enum_id, _, _)) => { if ty::enum_variants(cx.tcx, enum_id).len() != 1u { @@ -872,7 +872,7 @@ pub fn is_refutable(cx: &MatchCheckCtxt, pat: &Pat) -> bool { // Legality of move bindings checking -pub fn check_legality_of_move_bindings(cx: &MatchCheckCtxt, +fn check_legality_of_move_bindings(cx: &MatchCheckCtxt, has_guard: bool, pats: &[@Pat]) { let tcx = cx.tcx;