diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1996-11-29 18:36:42 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1996-11-29 18:36:42 +0000 |
commit | 3b92524aa90a61796e8822eb961452ca8368acdc (patch) | |
tree | 7b226c556ab1a9d7c542788dba6dc68ef0cbb978 /bytecomp/lambda.ml | |
parent | 9f2a2427f8187c093657887dc1dde1fcfc70963e (diff) |
Ajout du support pour le debugger
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp/lambda.ml')
-rw-r--r-- | bytecomp/lambda.ml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bytecomp/lambda.ml b/bytecomp/lambda.ml index 863a4439c..825389866 100644 --- a/bytecomp/lambda.ml +++ b/bytecomp/lambda.ml @@ -92,6 +92,7 @@ type lambda = | Lfor of Ident.t * lambda * lambda * direction_flag * lambda | Lassign of Ident.t * lambda | Lsend of lambda * lambda * lambda list + | Levent of lambda * lambda_event and lambda_switch = { sw_numconsts: int; @@ -100,6 +101,15 @@ and lambda_switch = sw_blocks: (int * lambda) list; sw_checked: bool } +and lambda_event = + { lev_loc: int; + lev_kind: lambda_event_kind; + lev_env: Env.summary } + +and lambda_event_kind = + Lev_before + | Lev_after of Types.type_expr + let const_unit = Const_pointer 0 let lambda_unit = Lconst const_unit @@ -165,6 +175,8 @@ let free_variables l = fv := IdentSet.add id !fv; freevars e | Lsend (met, obj, args) -> List.iter freevars (met::obj::args) + | Levent (lam, evt) -> + freevars lam in freevars l; !fv (* Check if an action has a "when" guard *) |