diff options
| author | Graydon Hoare <[email protected]> | 2010-10-12 12:28:46 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-10-12 12:28:46 -0700 |
| commit | beb4c07e26794dde482b4de85107f1e078375036 (patch) | |
| tree | 84bff2b8cddc28b6f0020c9dffc1e6dacec873cb /src/boot/me/resolve.ml | |
| parent | Changes to make rustboot compile on OCaml 3.12 (diff) | |
| download | rust-beb4c07e26794dde482b4de85107f1e078375036.tar.xz rust-beb4c07e26794dde482b4de85107f1e078375036.zip | |
Git index wins again.
Diffstat (limited to 'src/boot/me/resolve.ml')
| -rw-r--r-- | src/boot/me/resolve.ml | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/boot/me/resolve.ml b/src/boot/me/resolve.ml index 879601fb..78d372d5 100644 --- a/src/boot/me/resolve.ml +++ b/src/boot/me/resolve.ml @@ -113,10 +113,11 @@ let stmt_collecting_visitor visit_for_block f.Ast.for_slot f.Ast.for_body.id | Ast.STMT_for_each f -> visit_for_block f.Ast.for_each_slot f.Ast.for_each_head.id - | Ast.STMT_alt_tag { Ast.alt_tag_arms = arms; _ } -> + | Ast.STMT_alt_tag { Ast.alt_tag_arms = arms; + Ast.alt_tag_lval = _ } -> let rec resolve_pat block pat = match pat with - Ast.PAT_slot ({ id = slot_id; _ }, ident) -> + Ast.PAT_slot ({ id = slot_id; node = _ }, ident) -> let slots = Hashtbl.find cx.ctxt_block_slots block.id in let key = Ast.KEY_ident ident in htab_put slots key slot_id; @@ -125,7 +126,8 @@ let stmt_collecting_visitor | Ast.PAT_lit _ | Ast.PAT_wild -> () in - Array.iter (fun { node = (p, b); _ } -> resolve_pat b p) arms + Array.iter (fun { node = (p, b); id = _ } -> + resolve_pat b p) arms | _ -> () end; inner.Walk.visit_stmt_pre stmt @@ -236,8 +238,10 @@ let lookup_type_node_by_name None -> err None "unknown name: %a" Ast.sprintf_name name | Some (_, id) -> match htab_search cx.ctxt_all_defns id with - Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_type _; _ }) - | Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_obj _; _ }) + Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_type _; + Ast.decl_params = _ }) + | Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_obj _; + Ast.decl_params = _ }) | Some (DEFN_ty_param _) -> id | _ -> err None "Found non-type binding for %a" @@ -645,8 +649,8 @@ let lval_base_resolving_visitor let reference_any_name lv = let rec lval_is_name lv = match lv with - Ast.LVAL_base {node = Ast.BASE_ident _; _} - | Ast.LVAL_base {node = Ast.BASE_app _; _} -> true + Ast.LVAL_base {node = Ast.BASE_ident _; id = _} + | Ast.LVAL_base {node = Ast.BASE_app _; id = _} -> true | Ast.LVAL_ext (lv', Ast.COMP_named (Ast.COMP_ident _)) | Ast.LVAL_ext (lv', Ast.COMP_named (Ast.COMP_app _)) -> lval_is_name lv' @@ -749,7 +753,7 @@ let pattern_resolving_visitor end in - let resolve_arm { node = arm; _ } = + let resolve_arm { node = arm; id = _ } = match fst arm with Ast.PAT_tag (lval, pats) -> let lval_nm = lval_to_name lval in |