aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/walk.ml
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-29 12:00:15 -0700
committerGraydon Hoare <[email protected]>2010-06-29 12:00:15 -0700
commit1f9fd2710ec9122ddddcedaab51650a92ad7c8cf (patch)
tree5e8505579d43bb5ad4c95187f6207820a950b37c /src/boot/me/walk.ml
parentFix underlying failure to signal errors when dep'ing. (diff)
downloadrust-1f9fd2710ec9122ddddcedaab51650a92ad7c8cf.tar.xz
rust-1f9fd2710ec9122ddddcedaab51650a92ad7c8cf.zip
Initial stab at lowering mutable and exterior into the type system.
Diffstat (limited to 'src/boot/me/walk.ml')
-rw-r--r--src/boot/me/walk.ml18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/boot/me/walk.ml b/src/boot/me/walk.ml
index 203acfce..64c08724 100644
--- a/src/boot/me/walk.ml
+++ b/src/boot/me/walk.ml
@@ -262,7 +262,7 @@ and walk_mod_item
item
-and walk_ty_tup v ttup = Array.iter (walk_slot v) ttup
+and walk_ty_tup v ttup = Array.iter (walk_ty v) ttup
and walk_ty_tag v ttag = Hashtbl.iter (fun _ t -> walk_ty_tup v t) ttag
@@ -273,8 +273,8 @@ and walk_ty
let children _ =
match ty with
Ast.TY_tup ttup -> walk_ty_tup v ttup
- | Ast.TY_vec s -> walk_slot v s
- | Ast.TY_rec trec -> Array.iter (fun (_, s) -> walk_slot v s) trec
+ | Ast.TY_vec s -> walk_ty v s
+ | Ast.TY_rec trec -> Array.iter (fun (_, s) -> walk_ty v s) trec
| Ast.TY_tag ttag -> walk_ty_tag v ttag
| Ast.TY_iso tiso -> Array.iter (walk_ty_tag v) tiso.Ast.iso_group
| Ast.TY_fn tfn -> walk_ty_fn v tfn
@@ -301,6 +301,8 @@ and walk_ty
| Ast.TY_nil -> ()
| Ast.TY_task -> ()
| Ast.TY_any -> ()
+ | Ast.TY_exterior m -> walk_ty v m
+ | Ast.TY_mutable m -> walk_ty v m
in
walk_bracketed
v.visit_ty_pre
@@ -448,16 +450,16 @@ and walk_stmt
| Ast.STMT_init_rec (lv, atab, base) ->
walk_lval v lv;
- Array.iter (fun (_, _, _, a) -> walk_atom v a) atab;
+ Array.iter (fun (_, a) -> walk_atom v a) atab;
walk_option (walk_lval v) base;
- | Ast.STMT_init_vec (lv, _, atoms) ->
+ | Ast.STMT_init_vec (lv, atoms) ->
walk_lval v lv;
Array.iter (walk_atom v) atoms
| Ast.STMT_init_tup (lv, mut_atoms) ->
walk_lval v lv;
- Array.iter (fun (_, _, a) -> walk_atom v a) mut_atoms
+ Array.iter (walk_atom v) mut_atoms
| Ast.STMT_init_str (lv, _) ->
walk_lval v lv
@@ -469,6 +471,10 @@ and walk_stmt
walk_option (walk_lval v) port;
walk_lval v chan;
+ | Ast.STMT_init_exterior (dst, src) ->
+ walk_lval v dst;
+ walk_atom v src
+
| Ast.STMT_for f ->
walk_stmt_for f