summaryrefslogtreecommitdiff
path: root/debugger/eval.ml
diff options
context:
space:
mode:
authorJérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr>1997-12-01 17:48:50 +0000
committerJérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr>1997-12-01 17:48:50 +0000
commitec8fe2471341c862dcaf737944052ca7683e9f6d (patch)
tree87b1678029ffe9dd63a004180728361334217500 /debugger/eval.ml
parent263f0a5b3ba70c424e2df6fac0d6dc750ba7a1b8 (diff)
downloadocaml-ec8fe2471341c862dcaf737944052ca7683e9f6d.tar.gz
Reconnaissance des variables d'instance
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'debugger/eval.ml')
-rw-r--r--debugger/eval.ml11
1 files changed, 10 insertions, 1 deletions
diff --git a/debugger/eval.ml b/debugger/eval.ml
index c314427131..3be9a16fb7 100644
--- a/debugger/eval.ml
+++ b/debugger/eval.ml
@@ -70,7 +70,16 @@ let rec expression event env = function
E_ident lid ->
begin try
let (p, valdesc) = Env.lookup_value lid env in
- (path event p, Ctype.correct_levels valdesc.val_type)
+ (begin match valdesc.val_kind with
+ Val_ivar _ ->
+ let (p0, _) = Env.lookup_value (Longident.Lident "*self*") env in
+ let v = path event p0 in
+ let i = path event p in
+ Debugcom.Remote_value.field v (Debugcom.Remote_value.obj i)
+ | _ ->
+ path event p
+ end,
+ Ctype.correct_levels valdesc.val_type)
with Not_found ->
raise(Error(Unbound_long_identifier lid))
end