From 8acb2cf47d4b4c55186d17e15560a8835ad21813 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Thu, 1 Jul 2010 10:14:38 -0700 Subject: Add STMT_init_box to typestate pass. --- src/boot/me/typestate.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/boot') diff --git a/src/boot/me/typestate.ml b/src/boot/me/typestate.ml index 79e47845..e0ebe4ee 100644 --- a/src/boot/me/typestate.ml +++ b/src/boot/me/typestate.ml @@ -439,6 +439,12 @@ let condition_assigning_visitor raise_precondition s.id precond; raise_postcondition s.id postcond + | Ast.STMT_init_box (dst, src) -> + let precond = slot_inits (atom_slots cx src) in + let postcond = slot_inits (lval_slots cx dst) in + raise_precondition s.id precond; + raise_postcondition s.id postcond + | Ast.STMT_copy (dst, src) -> let precond = slot_inits (expr_slots cx src) in let postcond = slot_inits (lval_slots cx dst) in @@ -995,7 +1001,8 @@ let lifecycle_visitor | Ast.STMT_init_vec (lv_dst, _) | Ast.STMT_init_str (lv_dst, _) | Ast.STMT_init_port lv_dst - | Ast.STMT_init_chan (lv_dst, _) -> + | Ast.STMT_init_chan (lv_dst, _) + | Ast.STMT_init_box (lv_dst, _) -> init_lval lv_dst | Ast.STMT_for f -> -- cgit v1.2.3