summaryrefslogtreecommitdiffstats
path: root/otherlibs/labltk/browser
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/browser')
-rw-r--r--otherlibs/labltk/browser/.depend334
-rw-r--r--otherlibs/labltk/browser/Makefile.shared2
-rw-r--r--otherlibs/labltk/browser/editor.ml2
-rw-r--r--otherlibs/labltk/browser/mytypes.mli2
-rw-r--r--otherlibs/labltk/browser/searchid.ml79
-rw-r--r--otherlibs/labltk/browser/searchpos.ml187
-rw-r--r--otherlibs/labltk/browser/typecheck.ml7
-rw-r--r--otherlibs/labltk/browser/viewer.ml32
8 files changed, 412 insertions, 233 deletions
diff --git a/otherlibs/labltk/browser/.depend b/otherlibs/labltk/browser/.depend
index 4a0040b3b..9903879db 100644
--- a/otherlibs/labltk/browser/.depend
+++ b/otherlibs/labltk/browser/.depend
@@ -1,101 +1,265 @@
-editor.cmo : viewer.cmi typecheck.cmi shell.cmi setpath.cmi searchpos.cmi \
- searchid.cmi mytypes.cmi lexical.cmi jg_toplevel.cmo jg_tk.cmo \
- jg_text.cmi jg_message.cmi jg_menu.cmo jg_button.cmo jg_bind.cmi \
- fileselect.cmi editor.cmi
-editor.cmx : viewer.cmx typecheck.cmx shell.cmx setpath.cmx searchpos.cmx \
- searchid.cmx mytypes.cmi lexical.cmx jg_toplevel.cmx jg_tk.cmx \
- jg_text.cmx jg_message.cmx jg_menu.cmx jg_button.cmx jg_bind.cmx \
- fileselect.cmx editor.cmi
-fileselect.cmo : useunix.cmi setpath.cmi list2.cmo jg_toplevel.cmo \
- jg_memo.cmi jg_entry.cmo jg_box.cmo fileselect.cmi
-fileselect.cmx : useunix.cmx setpath.cmx list2.cmx jg_toplevel.cmx \
- jg_memo.cmx jg_entry.cmx jg_box.cmx fileselect.cmi
+editor.cmo : ../labltk/wm.cmi ../labltk/winfo.cmi ../support/widget.cmi \
+ viewer.cmi ../../../typing/types.cmi typecheck.cmi ../labltk/toplevel.cmi \
+ ../labltk/tk.cmo ../support/timer.cmi ../support/textvariable.cmi \
+ ../labltk/text.cmi shell.cmi setpath.cmi ../labltk/selection.cmi \
+ searchpos.cmi searchid.cmi ../support/protocol.cmi \
+ ../../../parsing/parsetree.cmi ../../../parsing/parser.cmi \
+ ../labltk/pack.cmi mytypes.cmi ../labltk/menu.cmi \
+ ../../../parsing/longident.cmi ../../../parsing/location.cmi \
+ ../labltk/listbox.cmi lexical.cmi ../../../parsing/lexer.cmi \
+ ../labltk/label.cmi jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_message.cmi \
+ jg_menu.cmo jg_button.cmo jg_bind.cmi ../../../typing/ident.cmi \
+ ../labltk/frame.cmi ../labltk/focus.cmi fileselect.cmi \
+ ../../../typing/env.cmi ../labltk/entry.cmi ../labltk/clipboard.cmi \
+ ../../../utils/clflags.cmi ../labltk/checkbutton.cmi ../labltk/button.cmi \
+ editor.cmi
+editor.cmx : ../labltk/wm.cmx ../labltk/winfo.cmx ../support/widget.cmx \
+ viewer.cmx ../../../typing/types.cmx typecheck.cmx ../labltk/toplevel.cmx \
+ ../labltk/tk.cmx ../support/timer.cmx ../support/textvariable.cmx \
+ ../labltk/text.cmx shell.cmx setpath.cmx ../labltk/selection.cmx \
+ searchpos.cmx searchid.cmx ../support/protocol.cmx \
+ ../../../parsing/parsetree.cmi ../../../parsing/parser.cmx \
+ ../labltk/pack.cmx mytypes.cmi ../labltk/menu.cmx \
+ ../../../parsing/longident.cmx ../../../parsing/location.cmx \
+ ../labltk/listbox.cmx lexical.cmx ../../../parsing/lexer.cmx \
+ ../labltk/label.cmx jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_message.cmx \
+ jg_menu.cmx jg_button.cmx jg_bind.cmx ../../../typing/ident.cmx \
+ ../labltk/frame.cmx ../labltk/focus.cmx fileselect.cmx \
+ ../../../typing/env.cmx ../labltk/entry.cmx ../labltk/clipboard.cmx \
+ ../../../utils/clflags.cmx ../labltk/checkbutton.cmx ../labltk/button.cmx \
+ editor.cmi
+fileselect.cmo : useunix.cmi ../labltk/tkwait.cmi ../labltk/tk.cmo \
+ ../support/textvariable.cmi setpath.cmi ../labltk/pack.cmi \
+ ../../../utils/misc.cmi ../labltk/listbox.cmi list2.cmo \
+ ../labltk/label.cmi jg_toplevel.cmo jg_memo.cmi jg_entry.cmo jg_box.cmo \
+ ../labltk/grab.cmi ../labltk/frame.cmi ../labltk/focus.cmi \
+ ../../../utils/config.cmi ../labltk/checkbutton.cmi ../labltk/button.cmi \
+ fileselect.cmi
+fileselect.cmx : useunix.cmx ../labltk/tkwait.cmx ../labltk/tk.cmx \
+ ../support/textvariable.cmx setpath.cmx ../labltk/pack.cmx \
+ ../../../utils/misc.cmx ../labltk/listbox.cmx list2.cmx \
+ ../labltk/label.cmx jg_toplevel.cmx jg_memo.cmx jg_entry.cmx jg_box.cmx \
+ ../labltk/grab.cmx ../labltk/frame.cmx ../labltk/focus.cmx \
+ ../../../utils/config.cmx ../labltk/checkbutton.cmx ../labltk/button.cmx \
+ fileselect.cmi
help.cmo :
help.cmx :
-jg_bind.cmo : jg_bind.cmi
-jg_bind.cmx : jg_bind.cmi
-jg_box.cmo : jg_completion.cmi jg_bind.cmi
-jg_box.cmx : jg_completion.cmx jg_bind.cmx
-jg_button.cmo :
-jg_button.cmx :
-jg_completion.cmo : jg_completion.cmi
-jg_completion.cmx : jg_completion.cmi
-jg_config.cmo : jg_tk.cmo jg_config.cmi
-jg_config.cmx : jg_tk.cmx jg_config.cmi
-jg_entry.cmo : jg_bind.cmi
-jg_entry.cmx : jg_bind.cmx
+jg_bind.cmo : ../labltk/tk.cmo ../labltk/focus.cmi ../labltk/button.cmi \
+ jg_bind.cmi
+jg_bind.cmx : ../labltk/tk.cmx ../labltk/focus.cmx ../labltk/button.cmx \
+ jg_bind.cmi
+jg_box.cmo : ../labltk/winfo.cmi ../labltk/tk.cmo ../labltk/scrollbar.cmi \
+ ../labltk/listbox.cmi jg_completion.cmi jg_bind.cmi ../labltk/frame.cmi
+jg_box.cmx : ../labltk/winfo.cmx ../labltk/tk.cmx ../labltk/scrollbar.cmx \
+ ../labltk/listbox.cmx jg_completion.cmx jg_bind.cmx ../labltk/frame.cmx
+jg_button.cmo : ../labltk/tk.cmo ../labltk/button.cmi
+jg_button.cmx : ../labltk/tk.cmx ../labltk/button.cmx
+jg_completion.cmo : ../support/timer.cmi jg_completion.cmi
+jg_completion.cmx : ../support/timer.cmx jg_completion.cmi
+jg_config.cmo : ../support/widget.cmi ../labltk/option.cmi jg_tk.cmo \
+ jg_config.cmi
+jg_config.cmx : ../support/widget.cmx ../labltk/option.cmx jg_tk.cmx \
+ jg_config.cmi
+jg_entry.cmo : ../labltk/tk.cmo jg_bind.cmi ../labltk/entry.cmi
+jg_entry.cmx : ../labltk/tk.cmx jg_bind.cmx ../labltk/entry.cmx
jg_memo.cmo : jg_memo.cmi
jg_memo.cmx : jg_memo.cmi
-jg_menu.cmo :
-jg_menu.cmx :
-jg_message.cmo : jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_bind.cmi \
- jg_message.cmi
-jg_message.cmx : jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_bind.cmx \
- jg_message.cmi
-jg_multibox.cmo : jg_completion.cmi jg_bind.cmi jg_multibox.cmi
-jg_multibox.cmx : jg_completion.cmx jg_bind.cmx jg_multibox.cmi
-jg_text.cmo : jg_toplevel.cmo jg_tk.cmo jg_button.cmo jg_bind.cmi \
- jg_text.cmi
-jg_text.cmx : jg_toplevel.cmx jg_tk.cmx jg_button.cmx jg_bind.cmx \
- jg_text.cmi
-jg_tk.cmo :
-jg_tk.cmx :
-jg_toplevel.cmo :
-jg_toplevel.cmx :
-lexical.cmo : jg_tk.cmo lexical.cmi
-lexical.cmx : jg_tk.cmx lexical.cmi
+jg_menu.cmo : ../labltk/toplevel.cmi ../labltk/tk.cmo ../labltk/menu.cmi
+jg_menu.cmx : ../labltk/toplevel.cmx ../labltk/tk.cmx ../labltk/menu.cmx
+jg_message.cmo : ../labltk/wm.cmi ../labltk/tkwait.cmi ../labltk/tk.cmo \
+ ../support/textvariable.cmi ../labltk/text.cmi ../labltk/message.cmi \
+ jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_bind.cmi ../labltk/grab.cmi \
+ ../labltk/frame.cmi ../labltk/button.cmi jg_message.cmi
+jg_message.cmx : ../labltk/wm.cmx ../labltk/tkwait.cmx ../labltk/tk.cmx \
+ ../support/textvariable.cmx ../labltk/text.cmx ../labltk/message.cmx \
+ jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_bind.cmx ../labltk/grab.cmx \
+ ../labltk/frame.cmx ../labltk/button.cmx jg_message.cmi
+jg_multibox.cmo : ../labltk/tk.cmo ../labltk/scrollbar.cmi \
+ ../labltk/listbox.cmi jg_completion.cmi jg_bind.cmi ../labltk/focus.cmi \
+ jg_multibox.cmi
+jg_multibox.cmx : ../labltk/tk.cmx ../labltk/scrollbar.cmx \
+ ../labltk/listbox.cmx jg_completion.cmx jg_bind.cmx ../labltk/focus.cmx \
+ jg_multibox.cmi
+jg_text.cmo : ../labltk/wm.cmi ../labltk/winfo.cmi ../labltk/tk.cmo \
+ ../support/textvariable.cmi ../labltk/text.cmi ../labltk/scrollbar.cmi \
+ ../labltk/radiobutton.cmi ../support/protocol.cmi ../labltk/label.cmi \
+ jg_toplevel.cmo jg_tk.cmo jg_button.cmo jg_bind.cmi ../labltk/frame.cmi \
+ ../labltk/focus.cmi ../labltk/entry.cmi ../labltk/button.cmi jg_text.cmi
+jg_text.cmx : ../labltk/wm.cmx ../labltk/winfo.cmx ../labltk/tk.cmx \
+ ../support/textvariable.cmx ../labltk/text.cmx ../labltk/scrollbar.cmx \
+ ../labltk/radiobutton.cmx ../support/protocol.cmx ../labltk/label.cmx \
+ jg_toplevel.cmx jg_tk.cmx jg_button.cmx jg_bind.cmx ../labltk/frame.cmx \
+ ../labltk/focus.cmx ../labltk/entry.cmx ../labltk/button.cmx jg_text.cmi
+jg_tk.cmo : ../labltk/tk.cmo
+jg_tk.cmx : ../labltk/tk.cmx
+jg_toplevel.cmo : ../labltk/wm.cmi ../support/widget.cmi \
+ ../labltk/toplevel.cmi ../labltk/tk.cmo
+jg_toplevel.cmx : ../labltk/wm.cmx ../support/widget.cmx \
+ ../labltk/toplevel.cmx ../labltk/tk.cmx
+lexical.cmo : ../labltk/tk.cmo ../labltk/text.cmi \
+ ../../../parsing/parser.cmi ../../../parsing/location.cmi \
+ ../../../parsing/lexer.cmi jg_tk.cmo lexical.cmi
+lexical.cmx : ../labltk/tk.cmx ../labltk/text.cmx \
+ ../../../parsing/parser.cmx ../../../parsing/location.cmx \
+ ../../../parsing/lexer.cmx jg_tk.cmx lexical.cmi
list2.cmo :
list2.cmx :
-main.cmo : viewer.cmi shell.cmi searchpos.cmi searchid.cmi jg_config.cmi \
- editor.cmi
-main.cmx : viewer.cmx shell.cmx searchpos.cmx searchid.cmx jg_config.cmx \
- editor.cmx
-searchid.cmo : list2.cmo searchid.cmi
-searchid.cmx : list2.cmx searchid.cmi
-searchpos.cmo : searchid.cmi lexical.cmi jg_tk.cmo jg_text.cmi \
- jg_message.cmi jg_memo.cmi jg_bind.cmi searchpos.cmi
-searchpos.cmx : searchid.cmx lexical.cmx jg_tk.cmx jg_text.cmx \
- jg_message.cmx jg_memo.cmx jg_bind.cmx searchpos.cmi
-setpath.cmo : useunix.cmi list2.cmo jg_toplevel.cmo jg_button.cmo jg_box.cmo \
- jg_bind.cmi setpath.cmi
-setpath.cmx : useunix.cmx list2.cmx jg_toplevel.cmx jg_button.cmx jg_box.cmx \
- jg_bind.cmx setpath.cmi
-shell.cmo : list2.cmo lexical.cmi jg_toplevel.cmo jg_tk.cmo jg_text.cmi \
- jg_message.cmi jg_menu.cmo jg_memo.cmi fileselect.cmi dummy.cmi shell.cmi
-shell.cmx : list2.cmx lexical.cmx jg_toplevel.cmx jg_tk.cmx jg_text.cmx \
- jg_message.cmx jg_menu.cmx jg_memo.cmx fileselect.cmx dummy.cmi shell.cmi
-typecheck.cmo : mytypes.cmi jg_tk.cmo jg_text.cmi jg_message.cmi \
- typecheck.cmi
-typecheck.cmx : mytypes.cmi jg_tk.cmx jg_text.cmx jg_message.cmx \
- typecheck.cmi
+main.cmo : ../../../utils/warnings.cmi viewer.cmi ../labltk/tk.cmo shell.cmi \
+ searchpos.cmi searchid.cmi ../support/protocol.cmi \
+ ../../../utils/misc.cmi ../labltk/message.cmi jg_config.cmi \
+ ../../../typing/env.cmi editor.cmi ../../../utils/config.cmi \
+ ../../../utils/clflags.cmi ../labltk/button.cmi
+main.cmx : ../../../utils/warnings.cmx viewer.cmx ../labltk/tk.cmx shell.cmx \
+ searchpos.cmx searchid.cmx ../support/protocol.cmx \
+ ../../../utils/misc.cmx ../labltk/message.cmx jg_config.cmx \
+ ../../../typing/env.cmx editor.cmx ../../../utils/config.cmx \
+ ../../../utils/clflags.cmx ../labltk/button.cmx
+searchid.cmo : ../../../typing/typetexp.cmi ../../../typing/types.cmi \
+ ../../../typing/typemod.cmi ../../../typing/typedtree.cmi \
+ ../../../parsing/syntaxerr.cmi ../../../typing/path.cmi \
+ ../../../parsing/parsetree.cmi ../../../parsing/parse.cmi \
+ ../../../parsing/longident.cmi ../../../parsing/location.cmi list2.cmo \
+ ../../../parsing/lexer.cmi ../../../typing/ident.cmi \
+ ../../../typing/env.cmi ../../../typing/ctype.cmi \
+ ../../../typing/btype.cmi ../../../parsing/asttypes.cmi searchid.cmi
+searchid.cmx : ../../../typing/typetexp.cmx ../../../typing/types.cmx \
+ ../../../typing/typemod.cmx ../../../typing/typedtree.cmx \
+ ../../../parsing/syntaxerr.cmx ../../../typing/path.cmx \
+ ../../../parsing/parsetree.cmi ../../../parsing/parse.cmx \
+ ../../../parsing/longident.cmx ../../../parsing/location.cmx list2.cmx \
+ ../../../parsing/lexer.cmx ../../../typing/ident.cmx \
+ ../../../typing/env.cmx ../../../typing/ctype.cmx \
+ ../../../typing/btype.cmx ../../../parsing/asttypes.cmi searchid.cmi
+searchpos.cmo : ../labltk/wm.cmi ../labltk/winfo.cmi ../support/widget.cmi \
+ ../../../typing/typetexp.cmi ../../../typing/types.cmi \
+ ../../../typing/typemod.cmi ../../../typing/typedtree.cmi \
+ ../../../typing/typedecl.cmi ../../../typing/typeclass.cmi \
+ ../labltk/tk.cmo ../labltk/text.cmi ../../../parsing/syntaxerr.cmi \
+ ../support/support.cmi ../../../typing/stypes.cmi searchid.cmi \
+ ../../../typing/printtyp.cmi ../../../typing/path.cmi \
+ ../../../parsing/parsetree.cmi ../../../parsing/parse.cmi \
+ ../labltk/pack.cmi ../labltk/option.cmi ../../../utils/misc.cmi \
+ ../labltk/menu.cmi ../../../parsing/longident.cmi \
+ ../../../parsing/location.cmi lexical.cmi ../../../parsing/lexer.cmi \
+ ../labltk/label.cmi jg_tk.cmo jg_text.cmi jg_message.cmi jg_memo.cmi \
+ jg_bind.cmi ../../../typing/ident.cmi ../../../typing/env.cmi \
+ ../../../typing/ctype.cmi ../../../utils/config.cmi ../labltk/button.cmi \
+ ../../../parsing/asttypes.cmi searchpos.cmi
+searchpos.cmx : ../labltk/wm.cmx ../labltk/winfo.cmx ../support/widget.cmx \
+ ../../../typing/typetexp.cmx ../../../typing/types.cmx \
+ ../../../typing/typemod.cmx ../../../typing/typedtree.cmx \
+ ../../../typing/typedecl.cmx ../../../typing/typeclass.cmx \
+ ../labltk/tk.cmx ../labltk/text.cmx ../../../parsing/syntaxerr.cmx \
+ ../support/support.cmx ../../../typing/stypes.cmx searchid.cmx \
+ ../../../typing/printtyp.cmx ../../../typing/path.cmx \
+ ../../../parsing/parsetree.cmi ../../../parsing/parse.cmx \
+ ../labltk/pack.cmx ../labltk/option.cmx ../../../utils/misc.cmx \
+ ../labltk/menu.cmx ../../../parsing/longident.cmx \
+ ../../../parsing/location.cmx lexical.cmx ../../../parsing/lexer.cmx \
+ ../labltk/label.cmx jg_tk.cmx jg_text.cmx jg_message.cmx jg_memo.cmx \
+ jg_bind.cmx ../../../typing/ident.cmx ../../../typing/env.cmx \
+ ../../../typing/ctype.cmx ../../../utils/config.cmx ../labltk/button.cmx \
+ ../../../parsing/asttypes.cmi searchpos.cmi
+setpath.cmo : useunix.cmi ../labltk/tk.cmo ../support/textvariable.cmi \
+ ../support/protocol.cmi ../labltk/listbox.cmi list2.cmo \
+ ../labltk/label.cmi jg_toplevel.cmo jg_button.cmo jg_box.cmo jg_bind.cmi \
+ ../labltk/frame.cmi ../labltk/entry.cmi ../../../utils/config.cmi \
+ ../labltk/button.cmi setpath.cmi
+setpath.cmx : useunix.cmx ../labltk/tk.cmx ../support/textvariable.cmx \
+ ../support/protocol.cmx ../labltk/listbox.cmx list2.cmx \
+ ../labltk/label.cmx jg_toplevel.cmx jg_button.cmx jg_box.cmx jg_bind.cmx \
+ ../labltk/frame.cmx ../labltk/entry.cmx ../../../utils/config.cmx \
+ ../labltk/button.cmx setpath.cmi
+shell.cmo : ../labltk/winfo.cmi ../../../utils/warnings.cmi \
+ ../labltk/toplevel.cmi ../labltk/tk.cmo ../support/timer.cmi \
+ ../labltk/text.cmi ../labltk/menu.cmi list2.cmo lexical.cmi \
+ jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_message.cmi jg_menu.cmo \
+ jg_memo.cmi fileselect.cmi ../support/fileevent.cmi dummy.cmi \
+ ../../../utils/config.cmi ../../../utils/clflags.cmi shell.cmi
+shell.cmx : ../labltk/winfo.cmx ../../../utils/warnings.cmx \
+ ../labltk/toplevel.cmx ../labltk/tk.cmx ../support/timer.cmx \
+ ../labltk/text.cmx ../labltk/menu.cmx list2.cmx lexical.cmx \
+ jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_message.cmx jg_menu.cmx \
+ jg_memo.cmx fileselect.cmx ../support/fileevent.cmx dummy.cmi \
+ ../../../utils/config.cmx ../../../utils/clflags.cmx shell.cmi
+typecheck.cmo : ../../../typing/typetexp.cmi ../../../typing/typemod.cmi \
+ ../../../typing/typedtree.cmi ../../../typing/typedecl.cmi \
+ ../../../typing/typecore.cmi ../../../typing/typeclass.cmi \
+ ../labltk/tk.cmo ../labltk/text.cmi ../../../parsing/syntaxerr.cmi \
+ ../../../typing/stypes.cmi ../../../parsing/parsetree.cmi \
+ ../../../parsing/parse.cmi mytypes.cmi ../../../utils/misc.cmi \
+ ../../../parsing/location.cmi ../../../parsing/lexer.cmi jg_tk.cmo \
+ jg_text.cmi jg_message.cmi ../../../typing/includemod.cmi \
+ ../../../typing/env.cmi ../../../typing/ctype.cmi \
+ ../../../utils/config.cmi ../../../typing/cmi_format.cmi \
+ ../../../utils/clflags.cmi ../../../utils/ccomp.cmi typecheck.cmi
+typecheck.cmx : ../../../typing/typetexp.cmx ../../../typing/typemod.cmx \
+ ../../../typing/typedtree.cmx ../../../typing/typedecl.cmx \
+ ../../../typing/typecore.cmx ../../../typing/typeclass.cmx \
+ ../labltk/tk.cmx ../labltk/text.cmx ../../../parsing/syntaxerr.cmx \
+ ../../../typing/stypes.cmx ../../../parsing/parsetree.cmi \
+ ../../../parsing/parse.cmx mytypes.cmi ../../../utils/misc.cmx \
+ ../../../parsing/location.cmx ../../../parsing/lexer.cmx jg_tk.cmx \
+ jg_text.cmx jg_message.cmx ../../../typing/includemod.cmx \
+ ../../../typing/env.cmx ../../../typing/ctype.cmx \
+ ../../../utils/config.cmx ../../../typing/cmi_format.cmx \
+ ../../../utils/clflags.cmx ../../../utils/ccomp.cmx typecheck.cmi
useunix.cmo : useunix.cmi
useunix.cmx : useunix.cmi
-viewer.cmo : useunix.cmi shell.cmi setpath.cmi searchpos.cmi searchid.cmi \
- mytypes.cmi jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_multibox.cmi \
- jg_message.cmi jg_menu.cmo jg_entry.cmo jg_completion.cmi jg_button.cmo \
- jg_box.cmo jg_bind.cmi help.cmo viewer.cmi
-viewer.cmx : useunix.cmx shell.cmx setpath.cmx searchpos.cmx searchid.cmx \
- mytypes.cmi jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_multibox.cmx \
- jg_message.cmx jg_menu.cmx jg_entry.cmx jg_completion.cmx jg_button.cmx \
- jg_box.cmx jg_bind.cmx help.cmx viewer.cmi
+viewer.cmo : ../labltk/wm.cmi useunix.cmi ../../../typing/types.cmi \
+ ../../../typing/typedtree.cmi ../labltk/toplevel.cmi ../labltk/tk.cmo \
+ ../support/textvariable.cmi ../labltk/text.cmi shell.cmi setpath.cmi \
+ searchpos.cmi searchid.cmi ../labltk/radiobutton.cmi \
+ ../support/protocol.cmi ../../../typing/predef.cmi \
+ ../../../typing/path.cmi ../labltk/pack.cmi mytypes.cmi \
+ ../labltk/menu.cmi ../../../parsing/longident.cmi \
+ ../../../parsing/location.cmi ../labltk/listbox.cmi ../labltk/label.cmi \
+ jg_toplevel.cmo jg_tk.cmo jg_text.cmi jg_multibox.cmi jg_message.cmi \
+ jg_menu.cmo jg_entry.cmo jg_completion.cmi jg_button.cmo jg_box.cmo \
+ jg_bind.cmi ../../../typing/ident.cmi help.cmo ../labltk/frame.cmi \
+ ../labltk/focus.cmi ../../../typing/env.cmi ../labltk/entry.cmi \
+ ../../../utils/config.cmi ../../../typing/cmi_format.cmi \
+ ../labltk/button.cmi viewer.cmi
+viewer.cmx : ../labltk/wm.cmx useunix.cmx ../../../typing/types.cmx \
+ ../../../typing/typedtree.cmx ../labltk/toplevel.cmx ../labltk/tk.cmx \
+ ../support/textvariable.cmx ../labltk/text.cmx shell.cmx setpath.cmx \
+ searchpos.cmx searchid.cmx ../labltk/radiobutton.cmx \
+ ../support/protocol.cmx ../../../typing/predef.cmx \
+ ../../../typing/path.cmx ../labltk/pack.cmx mytypes.cmi \
+ ../labltk/menu.cmx ../../../parsing/longident.cmx \
+ ../../../parsing/location.cmx ../labltk/listbox.cmx ../labltk/label.cmx \
+ jg_toplevel.cmx jg_tk.cmx jg_text.cmx jg_multibox.cmx jg_message.cmx \
+ jg_menu.cmx jg_entry.cmx jg_completion.cmx jg_button.cmx jg_box.cmx \
+ jg_bind.cmx ../../../typing/ident.cmx help.cmx ../labltk/frame.cmx \
+ ../labltk/focus.cmx ../../../typing/env.cmx ../labltk/entry.cmx \
+ ../../../utils/config.cmx ../../../typing/cmi_format.cmx \
+ ../labltk/button.cmx viewer.cmi
dummy.cmi :
dummyUnix.cmi :
dummyWin.cmi :
-editor.cmi :
+editor.cmi : ../support/widget.cmi
fileselect.cmi :
-jg_bind.cmi :
+jg_bind.cmi : ../support/widget.cmi
jg_completion.cmi :
jg_config.cmi :
jg_memo.cmi :
-jg_message.cmi :
-jg_multibox.cmi :
-jg_text.cmi :
-lexical.cmi :
-mytypes.cmi : shell.cmi
-searchid.cmi :
-searchpos.cmi :
-setpath.cmi :
-shell.cmi :
-typecheck.cmi : mytypes.cmi
+jg_message.cmi : ../support/widget.cmi
+jg_multibox.cmi : ../support/widget.cmi ../labltk/tk.cmo
+jg_text.cmi : ../support/widget.cmi ../labltk/tk.cmo
+lexical.cmi : ../support/widget.cmi ../labltk/tk.cmo
+mytypes.cmi : ../support/widget.cmi ../../../typing/types.cmi \
+ ../../../typing/typedtree.cmi ../support/textvariable.cmi \
+ ../../../typing/stypes.cmi shell.cmi ../../../parsing/parsetree.cmi
+searchid.cmi : ../../../typing/path.cmi ../../../parsing/parsetree.cmi \
+ ../../../parsing/longident.cmi ../../../typing/env.cmi
+searchpos.cmi : ../support/widget.cmi ../../../typing/types.cmi \
+ ../../../typing/typedtree.cmi ../../../typing/stypes.cmi \
+ ../../../typing/path.cmi ../../../parsing/parsetree.cmi \
+ ../../../parsing/longident.cmi ../../../parsing/location.cmi \
+ ../../../typing/env.cmi
+setpath.cmi : ../support/widget.cmi
+shell.cmi : ../support/widget.cmi
+typecheck.cmi : ../support/widget.cmi mytypes.cmi
useunix.cmi :
-viewer.cmi :
+viewer.cmi : ../support/widget.cmi ../../../parsing/longident.cmi \
+ ../../../typing/env.cmi
diff --git a/otherlibs/labltk/browser/Makefile.shared b/otherlibs/labltk/browser/Makefile.shared
index 6199e012f..53a4f0bb0 100644
--- a/otherlibs/labltk/browser/Makefile.shared
+++ b/otherlibs/labltk/browser/Makefile.shared
@@ -69,7 +69,7 @@ clean:
rm -f *.cm? ocamlbrowser$(EXE) dummy.mli *~ *.orig *.$(O) help.ml
depend: help.ml
- $(CAMLDEP) *.ml *.mli > .depend
+ $(CAMLDEP) $(LABLTKLIB) $(OCAMLTOPLIB) *.ml *.mli > .depend
shell.cmo: dummy.cmi
setpath.cmo fileselect.cmo lexical.cmi searchid.cmi typecheck.cmi: $(TOPDIR)/compilerlibs/ocamlcommon.cma
diff --git a/otherlibs/labltk/browser/editor.ml b/otherlibs/labltk/browser/editor.ml
index a9f7e6eac..90241c6b1 100644
--- a/otherlibs/labltk/browser/editor.ml
+++ b/otherlibs/labltk/browser/editor.ml
@@ -618,7 +618,7 @@ class editor ~top ~menus = object (self)
(try Filename.chop_extension basename with _ -> basename) in
let env =
Env.add_module (Ident.create modname)
- (Types.Tmty_signature txt.signature)
+ (Types.Mty_signature txt.signature)
Env.initial
in Viewer.view_defined (Longident.Lident modname) ~env ~show_all:true
end;
diff --git a/otherlibs/labltk/browser/mytypes.mli b/otherlibs/labltk/browser/mytypes.mli
index b4deead23..217fc111c 100644
--- a/otherlibs/labltk/browser/mytypes.mli
+++ b/otherlibs/labltk/browser/mytypes.mli
@@ -22,7 +22,7 @@ type edit_window =
frame: frame widget;
modified: Textvariable.textVariable;
mutable shell: (string * Shell.shell) option;
- mutable structure: Typedtree.structure;
+ mutable structure: Typedtree.structure_item list;
mutable type_info: Stypes.annotation list;
mutable signature: Types.signature;
mutable psignature: Parsetree.signature;
diff --git a/otherlibs/labltk/browser/searchid.ml b/otherlibs/labltk/browser/searchid.ml
index e624eca98..ab66f0f03 100644
--- a/otherlibs/labltk/browser/searchid.ml
+++ b/otherlibs/labltk/browser/searchid.ml
@@ -14,6 +14,7 @@
(* $Id$ *)
+open Asttypes
open StdLabels
open Location
open Longident
@@ -218,9 +219,9 @@ let rec search_type_in_signature t ~sign ~prefix ~mode =
and lid_of_id id = mklid (prefix @ [Ident.name id]) in
List2.flat_map sign ~f:
begin fun item -> match item with
- Tsig_value (id, vd) ->
+ Sig_value (id, vd) ->
if matches vd.val_type then [lid_of_id id, Pvalue] else []
- | Tsig_type (id, td, _) ->
+ | Sig_type (id, td, _) ->
if
matches (newconstr (Pident id) td.type_params) ||
begin match td.type_manifest with
@@ -239,23 +240,23 @@ let rec search_type_in_signature t ~sign ~prefix ~mode =
List.exists l ~f:(fun (_, _, t) -> matches t)
end
then [lid_of_id id, Ptype] else []
- | Tsig_exception (id, l) ->
+ | Sig_exception (id, l) ->
if List.exists l.exn_args ~f:matches
then [lid_of_id id, Pconstructor]
else []
- | Tsig_module (id, Tmty_signature sign, _) ->
+ | Sig_module (id, Mty_signature sign, _) ->
search_type_in_signature t ~sign ~mode
~prefix:(prefix @ [Ident.name id])
- | Tsig_module _ -> []
- | Tsig_modtype _ -> []
- | Tsig_class (id, cl, _) ->
+ | Sig_module _ -> []
+ | Sig_modtype _ -> []
+ | Sig_class (id, cl, _) ->
let self = self_type cl.cty_type in
if matches self
|| (match cl.cty_new with None -> false | Some ty -> matches ty)
(* || List.exists (get_fields ~prefix ~sign self)
~f:(fun (_,_,ty_field) -> matches ty_field) *)
then [lid_of_id id, Pclass] else []
- | Tsig_cltype (id, cl, _) ->
+ | Sig_class_type (id, cl, _) ->
let self = self_type cl.clty_type in
if matches self
(* || List.exists (get_fields ~prefix ~sign self)
@@ -273,7 +274,7 @@ let search_all_types t ~mode =
begin fun modname ->
let mlid = Lident modname in
try match lookup_module mlid initial with
- _, Tmty_signature sign ->
+ _, Mty_signature sign ->
List2.flat_map tl
~f:(search_type_in_signature ~sign ~prefix:[modname] ~mode)
| _ -> []
@@ -286,12 +287,12 @@ let search_string_type text ~mode =
try
let sexp = Parse.interface (Lexing.from_string ("val z : " ^ text)) in
let sign =
- try Typemod.transl_signature !start_env sexp with _ ->
+ try (Typemod.transl_signature !start_env sexp).sig_type with _ ->
let env = List.fold_left !module_list ~init:initial ~f:
begin fun acc m ->
try open_pers_signature m acc with Env.Error _ -> acc
end in
- try Typemod.transl_signature env sexp
+ try (Typemod.transl_signature env sexp).sig_type
with Env.Error err -> []
| Typemod.Error (l,_) ->
let start_c = l.loc_start.Lexing.pos_cnum in
@@ -302,7 +303,7 @@ let search_string_type text ~mode =
let end_c = l.loc_end.Lexing.pos_cnum in
raise (Error (start_c - 8, end_c - 8))
in match sign with
- [Tsig_value (_, vd)] ->
+ [ Sig_value (_, vd) ] ->
search_all_types vd.val_type ~mode
| _ -> []
with
@@ -355,20 +356,20 @@ let search_pattern_symbol text =
let l = List.map !module_list ~f:
begin fun modname -> Lident modname,
try match lookup_module (Lident modname) initial with
- _, Tmty_signature sign ->
+ _, Mty_signature sign ->
List2.flat_map sign ~f:
begin function
- Tsig_value (i, _) when check i -> [i, Pvalue]
- | Tsig_type (i, _, _) when check i -> [i, Ptype]
- | Tsig_exception (i, _) when check i -> [i, Pconstructor]
- | Tsig_module (i, _, _) when check i -> [i, Pmodule]
- | Tsig_modtype (i, _) when check i -> [i, Pmodtype]
- | Tsig_class (i, cl, _) when check i
+ Sig_value (i, _) when check i -> [i, Pvalue]
+ | Sig_type (i, _, _) when check i -> [i, Ptype]
+ | Sig_exception (i, _) when check i -> [i, Pconstructor]
+ | Sig_module (i, _, _) when check i -> [i, Pmodule]
+ | Sig_modtype (i, _) when check i -> [i, Pmodtype]
+ | Sig_class (i, cl, _) when check i
|| List.exists
(get_fields ~prefix:[modname] ~sign (self_type cl.cty_type))
~f:(fun (name,_,_) -> check_match ~pattern (explode name))
-> [i, Pclass]
- | Tsig_cltype (i, cl, _) when check i
+ | Sig_class_type (i, cl, _) when check i
|| List.exists
(get_fields ~prefix:[modname] ~sign (self_type cl.clty_type))
~f:(fun (name,_,_) -> check_match ~pattern (explode name))
@@ -412,8 +413,8 @@ open Parsetree
let rec bound_variables pat =
match pat.ppat_desc with
Ppat_any | Ppat_constant _ | Ppat_type _ | Ppat_unpack _ -> []
- | Ppat_var s -> [s]
- | Ppat_alias (pat,s) -> s :: bound_variables pat
+ | Ppat_var s -> [s.txt]
+ | Ppat_alias (pat,s) -> s.txt :: bound_variables pat
| Ppat_tuple l -> List2.flat_map l ~f:bound_variables
| Ppat_construct (_,None,_) -> []
| Ppat_construct (_,Some pat,_) -> bound_variables pat
@@ -437,7 +438,7 @@ let search_structure str ~name ~kind ~prefix =
List.fold_left ~init:[] str ~f:
begin fun acc item ->
match item.pstr_desc with
- Pstr_module (s, mexp) when s = modu ->
+ Pstr_module (s, mexp) when s.txt = modu ->
loc := mexp.pmod_loc.loc_start.Lexing.pos_cnum;
begin match mexp.pmod_desc with
Pmod_structure str -> str
@@ -457,27 +458,27 @@ let search_structure str ~name ~kind ~prefix =
then loc := pat.ppat_loc.loc_start.Lexing.pos_cnum
end;
false
- | Pstr_primitive (s, _) when kind = Pvalue -> name = s
+ | Pstr_primitive (s, _) when kind = Pvalue -> name = s.txt
| Pstr_type l when kind = Ptype ->
List.iter l ~f:
begin fun (s, td) ->
- if s = name then loc := td.ptype_loc.loc_start.Lexing.pos_cnum
+ if s.txt = name then loc := td.ptype_loc.loc_start.Lexing.pos_cnum
end;
false
- | Pstr_exception (s, _) when kind = Pconstructor -> name = s
- | Pstr_module (s, _) when kind = Pmodule -> name = s
- | Pstr_modtype (s, _) when kind = Pmodtype -> name = s
+ | Pstr_exception (s, _) when kind = Pconstructor -> name = s.txt
+ | Pstr_module (s, _) when kind = Pmodule -> name = s.txt
+ | Pstr_modtype (s, _) when kind = Pmodtype -> name = s.txt
| Pstr_class l when kind = Pclass || kind = Ptype || kind = Pcltype ->
List.iter l ~f:
begin fun c ->
- if c.pci_name = name
+ if c.pci_name.txt = name
then loc := c.pci_loc.loc_start.Lexing.pos_cnum
end;
false
| Pstr_class_type l when kind = Pcltype || kind = Ptype ->
List.iter l ~f:
begin fun c ->
- if c.pci_name = name
+ if c.pci_name.txt = name
then loc := c.pci_loc.loc_start.Lexing.pos_cnum
end;
false
@@ -487,6 +488,8 @@ let search_structure str ~name ~kind ~prefix =
!loc
let search_signature sign ~name ~kind ~prefix =
+ ignore (name = "");
+ ignore (prefix = [""]);
let loc = ref 0 in
let rec search_module_type sign ~prefix =
match prefix with [] -> sign
@@ -495,7 +498,7 @@ let search_signature sign ~name ~kind ~prefix =
List.fold_left ~init:[] sign ~f:
begin fun acc item ->
match item.psig_desc with
- Psig_module (s, mtyp) when s = modu ->
+ Psig_module (s, mtyp) when s.txt = modu ->
loc := mtyp.pmty_loc.loc_start.Lexing.pos_cnum;
begin match mtyp.pmty_desc with
Pmty_signature sign -> sign
@@ -508,27 +511,27 @@ let search_signature sign ~name ~kind ~prefix =
List.iter (search_module_type sign ~prefix) ~f:
begin fun item ->
if match item.psig_desc with
- Psig_value (s, _) when kind = Pvalue -> name = s
+ Psig_value (s, _) when kind = Pvalue -> name = s.txt
| Psig_type l when kind = Ptype ->
List.iter l ~f:
begin fun (s, td) ->
- if s = name then loc := td.ptype_loc.loc_start.Lexing.pos_cnum
+ if s.txt = name then loc := td.ptype_loc.loc_start.Lexing.pos_cnum
end;
false
- | Psig_exception (s, _) when kind = Pconstructor -> name = s
- | Psig_module (s, _) when kind = Pmodule -> name = s
- | Psig_modtype (s, _) when kind = Pmodtype -> name = s
+ | Psig_exception (s, _) when kind = Pconstructor -> name = s.txt
+ | Psig_module (s, _) when kind = Pmodule -> name = s.txt
+ | Psig_modtype (s, _) when kind = Pmodtype -> name = s.txt
| Psig_class l when kind = Pclass || kind = Ptype || kind = Pcltype ->
List.iter l ~f:
begin fun c ->
- if c.pci_name = name
+ if c.pci_name.txt = name
then loc := c.pci_loc.loc_start.Lexing.pos_cnum
end;
false
| Psig_class_type l when kind = Ptype || kind = Pcltype ->
List.iter l ~f:
begin fun c ->
- if c.pci_name = name
+ if c.pci_name.txt = name
then loc := c.pci_loc.loc_start.Lexing.pos_cnum
end;
false
diff --git a/otherlibs/labltk/browser/searchpos.ml b/otherlibs/labltk/browser/searchpos.ml
index 2d4b68947..2ae702adc 100644
--- a/otherlibs/labltk/browser/searchpos.ml
+++ b/otherlibs/labltk/browser/searchpos.ml
@@ -14,6 +14,7 @@
(* $Id$ *)
+open Asttypes
open StdLabels
open Support
open Tk
@@ -118,7 +119,7 @@ let rec search_pos_type t ~pos ~env =
List.iter tl ~f:(search_pos_type ~pos ~env)
| Ptyp_constr (lid, tl) ->
List.iter tl ~f:(search_pos_type ~pos ~env);
- add_found_sig (`Type, lid) ~env ~loc:t.ptyp_loc
+ add_found_sig (`Type, lid.txt) ~env ~loc:t.ptyp_loc
| Ptyp_object fl ->
List.iter fl ~f:
begin function
@@ -127,7 +128,7 @@ let rec search_pos_type t ~pos ~env =
end
| Ptyp_class (lid, tl, _) ->
List.iter tl ~f:(search_pos_type ~pos ~env);
- add_found_sig (`Type, lid) ~env ~loc:t.ptyp_loc
+ add_found_sig (`Type, lid.txt) ~env ~loc:t.ptyp_loc
| Ptyp_alias (t, _)
| Ptyp_poly (_, t) -> search_pos_type ~pos ~env t
| Ptyp_package (_, stl) ->
@@ -138,23 +139,23 @@ let rec search_pos_class_type cl ~pos ~env =
if in_loc cl.pcty_loc ~pos then
begin match cl.pcty_desc with
Pcty_constr (lid, _) ->
- add_found_sig (`Class, lid) ~env ~loc:cl.pcty_loc
- | Pcty_signature (_, cfl) ->
- List.iter cfl ~f:
- begin function
+ add_found_sig (`Class, lid.txt) ~env ~loc:cl.pcty_loc
+ | Pcty_signature cl ->
+ List.iter cl.pcsig_fields ~f: (fun fl ->
+ begin match fl.pctf_desc with
Pctf_inher cty -> search_pos_class_type cty ~pos ~env
- | Pctf_val (_, _, _, ty, loc) ->
- if in_loc loc ~pos then search_pos_type ty ~pos ~env
- | Pctf_virt (_, _, ty, loc) ->
- if in_loc loc ~pos then search_pos_type ty ~pos ~env
- | Pctf_meth (_, _, ty, loc) ->
- if in_loc loc ~pos then search_pos_type ty ~pos ~env
- | Pctf_cstr (ty1, ty2, loc) ->
- if in_loc loc ~pos then begin
+ | Pctf_val (_, _, _, ty) ->
+ if in_loc fl.pctf_loc ~pos then search_pos_type ty ~pos ~env
+ | Pctf_virt (_, _, ty) ->
+ if in_loc fl.pctf_loc ~pos then search_pos_type ty ~pos ~env
+ | Pctf_meth (_, _, ty) ->
+ if in_loc fl.pctf_loc ~pos then search_pos_type ty ~pos ~env
+ | Pctf_cstr (ty1, ty2) ->
+ if in_loc fl.pctf_loc ~pos then begin
search_pos_type ty1 ~pos ~env;
search_pos_type ty2 ~pos ~env
end
- end
+ end)
| Pcty_fun (_, ty, cty) ->
search_pos_type ty ~pos ~env;
search_pos_class_type cty ~pos ~env
@@ -187,13 +188,13 @@ let rec search_pos_signature l ~pos ~env =
begin fun env pt ->
let env = match pt.psig_desc with
Psig_open id ->
- let path, mt = lookup_module id env in
+ let path, mt = lookup_module id.txt env in
begin match mt with
- Tmty_signature sign -> open_signature path sign env
+ Mty_signature sign -> open_signature path sign env
| _ -> env
end
| sign_item ->
- try add_signature (Typemod.transl_signature env [pt]) env
+ try add_signature (Typemod.transl_signature env [pt]).sig_type env
with Typemod.Error _ | Typeclass.Error _
| Typetexp.Error _ | Typedecl.Error _ -> env
in
@@ -219,7 +220,7 @@ let rec search_pos_signature l ~pos ~env =
List.iter l
~f:(fun ci -> search_pos_class_type ci.pci_expr ~pos ~env)
(* The last cases should not happen in generated interfaces *)
- | Psig_open lid -> add_found_sig (`Module, lid) ~env ~loc:pt.psig_loc
+ | Psig_open lid -> add_found_sig (`Module, lid.txt) ~env ~loc:pt.psig_loc
| Psig_include t -> search_pos_module t ~pos ~env
end;
env
@@ -228,7 +229,7 @@ let rec search_pos_signature l ~pos ~env =
and search_pos_module m ~pos ~env =
if in_loc m.pmty_loc ~pos then begin
begin match m.pmty_desc with
- Pmty_ident lid -> add_found_sig (`Modtype, lid) ~env ~loc:m.pmty_loc
+ Pmty_ident lid -> add_found_sig (`Modtype, lid.txt) ~env ~loc:m.pmty_loc
| Pmty_signature sg -> search_pos_signature sg ~pos ~env
| Pmty_functor (_ , m1, m2) ->
search_pos_module m1 ~pos ~env;
@@ -240,7 +241,7 @@ and search_pos_module m ~pos ~env =
_, Pwith_type t -> search_pos_type_decl t ~pos ~env
| _ -> ()
end
- | Pmty_typeof md ->
+ | Pmty_typeof md ->
() (* TODO? *)
end
end
@@ -292,13 +293,13 @@ let edit_source ~file ~path ~sign =
[item] ->
let id, kind =
match item with
- Tsig_value (id, _) -> id, Pvalue
- | Tsig_type (id, _, _) -> id, Ptype
- | Tsig_exception (id, _) -> id, Pconstructor
- | Tsig_module (id, _, _) -> id, Pmodule
- | Tsig_modtype (id, _) -> id, Pmodtype
- | Tsig_class (id, _, _) -> id, Pclass
- | Tsig_cltype (id, _, _) -> id, Pcltype
+ Sig_value (id, _) -> id, Pvalue
+ | Sig_type (id, _, _) -> id, Ptype
+ | Sig_exception (id, _) -> id, Pconstructor
+ | Sig_module (id, _, _) -> id, Pmodule
+ | Sig_modtype (id, _) -> id, Pmodtype
+ | Sig_class (id, _, _) -> id, Pclass
+ | Sig_class_type (id, _, _) -> id, Pcltype
in
let prefix = List.tl (list_of_path path) and name = Ident.name id in
let pos =
@@ -319,7 +320,7 @@ let edit_source ~file ~path ~sign =
(* List of windows to destroy by Close All *)
let top_widgets = ref []
-let dummy_item = Tsig_modtype (Ident.create "dummy", Tmodtype_abstract)
+let dummy_item = Sig_modtype (Ident.create "dummy", Modtype_abstract)
let rec view_signature ?title ?path ?(env = !start_env) ?(detach=false) sign =
let env =
@@ -441,11 +442,11 @@ and view_signature_item sign ~path ~env =
and view_module path ~env =
match find_module path env with
- Tmty_signature sign ->
+ Mty_signature sign ->
!view_defined_ref (Searchid.longident_of_path path) ~env
| modtype ->
let id = ident_of_path path ~default:"M" in
- view_signature_item [Tsig_module (id, modtype, Trec_not)] ~path ~env
+ view_signature_item [Sig_module (id, modtype, Trec_not)] ~path ~env
and view_module_id id ~env =
let path, _ = lookup_module id env in
@@ -458,12 +459,12 @@ and view_type_decl path ~env =
{desc = Tobject _} ->
let clt = find_cltype path env in
view_signature_item ~path ~env
- [Tsig_cltype(ident_of_path path ~default:"ct", clt, Trec_first);
+ [Sig_class_type(ident_of_path path ~default:"ct", clt, Trec_first);
dummy_item; dummy_item]
| _ -> raise Not_found
with Not_found ->
view_signature_item ~path ~env
- [Tsig_type(ident_of_path path ~default:"t", td, Trec_first)]
+ [Sig_type(ident_of_path path ~default:"t", td, Trec_first)]
and view_type_id li ~env =
let path, decl = lookup_type li env in
@@ -472,19 +473,19 @@ and view_type_id li ~env =
and view_class_id li ~env =
let path, cl = lookup_class li env in
view_signature_item ~path ~env
- [Tsig_class(ident_of_path path ~default:"c", cl, Trec_first);
+ [Sig_class(ident_of_path path ~default:"c", cl, Trec_first);
dummy_item; dummy_item; dummy_item]
and view_cltype_id li ~env =
let path, clt = lookup_cltype li env in
view_signature_item ~path ~env
- [Tsig_cltype(ident_of_path path ~default:"ct", clt, Trec_first);
+ [Sig_class_type(ident_of_path path ~default:"ct", clt, Trec_first);
dummy_item; dummy_item]
and view_modtype_id li ~env =
let path, td = lookup_modtype li env in
view_signature_item ~path ~env
- [Tsig_modtype(ident_of_path path ~default:"S", td)]
+ [Sig_modtype(ident_of_path path ~default:"S", td)]
and view_expr_type ?title ?path ?env ?(name="noname") t =
let title =
@@ -496,8 +497,8 @@ and view_expr_type ?title ?path ?env ?(name="noname") t =
| Some path -> parent_path path, ident_of_path path ~default:name
in
view_signature ~title ?path ?env
- [Tsig_value (id, {val_type = t; val_kind = Val_reg;
- val_loc = Location.none})]
+ [Sig_value (id, {val_type = t; val_kind = Val_reg;
+ Types.val_loc = Location.none})]
and view_decl lid ~kind ~env =
match kind with
@@ -577,7 +578,7 @@ let view_type kind ~env =
begin try
let vd = find_value path env in
view_signature_item ~path ~env
- [Tsig_value(ident_of_path path ~default:"v", vd)]
+ [Sig_value(ident_of_path path ~default:"v", vd)]
with Not_found ->
view_expr_type ty ~path ~env
end
@@ -587,19 +588,19 @@ let view_type kind ~env =
| `New path ->
let cl = find_class path env in
view_signature_item ~path ~env
- [Tsig_class(ident_of_path path ~default:"c", cl, Trec_first)]
+ [Sig_class(ident_of_path path ~default:"c", cl, Trec_first)]
end
| `Class (path, cty) ->
let cld = { cty_params = []; cty_variance = []; cty_type = cty;
cty_path = path; cty_new = None } in
view_signature_item ~path ~env
- [Tsig_class(ident_of_path path ~default:"c", cld, Trec_first)]
+ [Sig_class(ident_of_path path ~default:"c", cld, Trec_first)]
| `Module (path, mty) ->
match mty with
- Tmty_signature sign -> view_signature sign ~path ~env
+ Mty_signature sign -> view_signature sign ~path ~env
| modtype ->
view_signature_item ~path ~env
- [Tsig_module(ident_of_path path ~default:"M", mty, Trec_not)]
+ [Sig_module(ident_of_path path ~default:"M", mty, Trec_not)]
let view_type_menu kind ~env ~parent =
let title =
@@ -661,7 +662,7 @@ let add_found_str = add_found ~found:found_str
let rec search_pos_structure ~pos str =
List.iter str ~f:
- begin function
+ begin function str -> match str.str_desc with
Tstr_eval exp -> search_pos_expr exp ~pos
| Tstr_value (rec_flag, l) ->
List.iter l ~f:
@@ -671,56 +672,59 @@ let rec search_pos_structure ~pos str =
search_pos_pat pat ~pos ~env;
search_pos_expr exp ~pos
end
- | Tstr_primitive (_, vd) ->()
+ | Tstr_primitive (_, _, vd) ->()
| Tstr_type _ -> ()
| Tstr_exception _ -> ()
- | Tstr_exn_rebind(_, _) -> ()
- | Tstr_module (_, m) -> search_pos_module_expr m ~pos
+ | Tstr_exn_rebind(_, _, _, _) -> ()
+ | Tstr_module (_, _, m) -> search_pos_module_expr m ~pos
| Tstr_recmodule bindings ->
- List.iter bindings ~f:(fun (_, m) -> search_pos_module_expr m ~pos)
+ List.iter bindings ~f:(fun (_, _, _, m) -> search_pos_module_expr m ~pos)
| Tstr_modtype _ -> ()
| Tstr_open _ -> ()
| Tstr_class l ->
- List.iter l ~f:(fun (id, _, _, cl, _) -> search_pos_class_expr cl ~pos)
- | Tstr_cltype _ -> ()
+ List.iter l ~f:(fun (cl, _, _) -> search_pos_class_expr cl.ci_expr ~pos)
+ | Tstr_class_type _ -> ()
| Tstr_include (m, _) -> search_pos_module_expr m ~pos
end
and search_pos_class_structure ~pos cls =
- List.iter cls.cl_field ~f:
- begin function
- Cf_inher (cl, _, _) ->
+ List.iter cls.cstr_fields ~f:
+ begin function cf -> match cf.cf_desc with
+ Tcf_inher (_, cl, _, _, _) ->
search_pos_class_expr cl ~pos
- | Cf_val (_, _, Some exp, _) -> search_pos_expr exp ~pos
- | Cf_val _ -> ()
- | Cf_meth (_, exp) -> search_pos_expr exp ~pos
- | Cf_init exp -> search_pos_expr exp ~pos
+ | Tcf_val (_, _, _, _, Tcfk_concrete exp, _) -> search_pos_expr exp ~pos
+ | Tcf_val _ -> ()
+ | Tcf_meth (_, _, _, Tcfk_concrete exp, _) -> search_pos_expr exp ~pos
+ | Tcf_init exp -> search_pos_expr exp ~pos
+ | Tcf_constr _
+ | Tcf_meth _
+ -> assert false (* TODO !!!!!!!!!!!!!!!!! *)
end
and search_pos_class_expr ~pos cl =
if in_loc cl.cl_loc ~pos then begin
begin match cl.cl_desc with
- Tclass_ident path ->
+ Tcl_ident (path, _, _) ->
add_found_str (`Class (path, cl.cl_type))
~env:!start_env ~loc:cl.cl_loc
- | Tclass_structure cls ->
+ | Tcl_structure cls ->
search_pos_class_structure ~pos cls
- | Tclass_fun (pat, iel, cl, _) ->
+ | Tcl_fun (_, pat, iel, cl, _) ->
search_pos_pat pat ~pos ~env:pat.pat_env;
- List.iter iel ~f:(fun (_,exp) -> search_pos_expr exp ~pos);
+ List.iter iel ~f:(fun (_,_, exp) -> search_pos_expr exp ~pos);
search_pos_class_expr cl ~pos
- | Tclass_apply (cl, el) ->
+ | Tcl_apply (cl, el) ->
search_pos_class_expr cl ~pos;
- List.iter el ~f:(fun (x,_) -> Misc.may (search_pos_expr ~pos) x)
- | Tclass_let (_, pel, iel, cl) ->
+ List.iter el ~f:(fun (_, x,_) -> Misc.may (search_pos_expr ~pos) x)
+ | Tcl_let (_, pel, iel, cl) ->
List.iter pel ~f:
begin fun (pat, exp) ->
search_pos_pat pat ~pos ~env:exp.exp_env;
search_pos_expr exp ~pos
end;
- List.iter iel ~f:(fun (_,exp) -> search_pos_expr exp ~pos);
+ List.iter iel ~f:(fun (_,_, exp) -> search_pos_expr exp ~pos);
search_pos_class_expr cl ~pos
- | Tclass_constraint (cl, _, _, _) ->
+ | Tcl_constraint (cl, _, _, _, _) ->
search_pos_class_expr cl ~pos
end;
add_found_str (`Class (Pident (Ident.create "c"), cl.cl_type))
@@ -730,7 +734,7 @@ and search_pos_class_expr ~pos cl =
and search_pos_expr ~pos exp =
if in_loc exp.exp_loc ~pos then begin
begin match exp.exp_desc with
- Texp_ident (path, _) ->
+ Texp_ident (path, _, _) ->
add_found_str (`Exp(`Val path, exp.exp_type))
~env:exp.exp_env ~loc:exp.exp_loc
| Texp_constant v ->
@@ -743,14 +747,14 @@ and search_pos_expr ~pos exp =
search_pos_expr exp' ~pos
end;
search_pos_expr exp ~pos
- | Texp_function (l, _) ->
+ | Texp_function (_, l, _) ->
List.iter l ~f:
begin fun (pat, exp) ->
search_pos_pat pat ~pos ~env:exp.exp_env;
search_pos_expr exp ~pos
end
| Texp_apply (exp, l) ->
- List.iter l ~f:(fun (x,_) -> Misc.may (search_pos_expr ~pos) x);
+ List.iter l ~f:(fun (_, x,_) -> Misc.may (search_pos_expr ~pos) x);
search_pos_expr exp ~pos
| Texp_match (exp, l, _) ->
search_pos_expr exp ~pos;
@@ -767,14 +771,14 @@ and search_pos_expr ~pos exp =
search_pos_expr exp ~pos
end
| Texp_tuple l -> List.iter l ~f:(search_pos_expr ~pos)
- | Texp_construct (_, l) -> List.iter l ~f:(search_pos_expr ~pos)
+ | Texp_construct (_, _, _, l,_) -> List.iter l ~f:(search_pos_expr ~pos)
| Texp_variant (_, None) -> ()
| Texp_variant (_, Some exp) -> search_pos_expr exp ~pos
| Texp_record (l, opt) ->
- List.iter l ~f:(fun (_, exp) -> search_pos_expr exp ~pos);
+ List.iter l ~f:(fun (_, _, _, exp) -> search_pos_expr exp ~pos);
(match opt with None -> () | Some exp -> search_pos_expr exp ~pos)
- | Texp_field (exp, _) -> search_pos_expr exp ~pos
- | Texp_setfield (a, _, b) ->
+ | Texp_field (exp, _, _, _) -> search_pos_expr exp ~pos
+ | Texp_setfield (a, _, _, _, b) ->
search_pos_expr a ~pos; search_pos_expr b ~pos
| Texp_array l -> List.iter l ~f:(search_pos_expr ~pos)
| Texp_ifthenelse (a, b, c) ->
@@ -786,24 +790,24 @@ and search_pos_expr ~pos exp =
search_pos_expr a ~pos; search_pos_expr b ~pos
| Texp_while (a,b) ->
search_pos_expr a ~pos; search_pos_expr b ~pos
- | Texp_for (_, a, b, _, c) ->
+ | Texp_for (_, _, a, b, _, c) ->
List.iter [a;b;c] ~f:(search_pos_expr ~pos)
| Texp_when (a, b) ->
search_pos_expr a ~pos; search_pos_expr b ~pos
- | Texp_send (exp, _) -> search_pos_expr exp ~pos
- | Texp_new (path, _) ->
+ | Texp_send (exp, _, _) -> search_pos_expr exp ~pos
+ | Texp_new (path, _, _) ->
add_found_str (`Exp(`New path, exp.exp_type))
~env:exp.exp_env ~loc:exp.exp_loc
- | Texp_instvar (_,path) ->
+ | Texp_instvar (_, path, _) ->
add_found_str (`Exp(`Var path, exp.exp_type))
~env:exp.exp_env ~loc:exp.exp_loc
- | Texp_setinstvar (_, path, exp) ->
+ | Texp_setinstvar (_, path, _, exp) ->
search_pos_expr exp ~pos;
add_found_str (`Exp(`Var path, exp.exp_type))
~env:exp.exp_env ~loc:exp.exp_loc
| Texp_override (_, l) ->
- List.iter l ~f:(fun (_, exp) -> search_pos_expr exp ~pos)
- | Texp_letmodule (id, modexp, exp) ->
+ List.iter l ~f:(fun (_, _, exp) -> search_pos_expr exp ~pos)
+ | Texp_letmodule (id, _, modexp, exp) ->
search_pos_module_expr modexp ~pos;
search_pos_expr exp ~pos
| Texp_assertfalse -> ()
@@ -811,10 +815,11 @@ and search_pos_expr ~pos exp =
search_pos_expr exp ~pos
| Texp_lazy exp ->
search_pos_expr exp ~pos
- | Texp_object (cls, _, _) ->
+ | Texp_object (cls, _) ->
search_pos_class_structure ~pos cls
| Texp_pack modexp ->
search_pos_module_expr modexp ~pos
+ | _ -> assert false (* TODO ................................... *)
end;
add_found_str (`Exp(`Expr, exp.exp_type)) ~env:exp.exp_env ~loc:exp.exp_loc
end
@@ -823,21 +828,21 @@ and search_pos_pat ~pos ~env pat =
if in_loc pat.pat_loc ~pos then begin
begin match pat.pat_desc with
Tpat_any -> ()
- | Tpat_var id ->
+ | Tpat_var (id, _) ->
add_found_str (`Exp(`Val (Pident id), pat.pat_type))
~env ~loc:pat.pat_loc
- | Tpat_alias (pat, _) -> search_pos_pat pat ~pos ~env
+ | Tpat_alias (pat, _, _) -> search_pos_pat pat ~pos ~env
| Tpat_lazy pat -> search_pos_pat pat ~pos ~env
| Tpat_constant _ ->
add_found_str (`Exp(`Const, pat.pat_type)) ~env ~loc:pat.pat_loc
| Tpat_tuple l ->
List.iter l ~f:(search_pos_pat ~pos ~env)
- | Tpat_construct (_, l) ->
+ | Tpat_construct (_, _, _, l, _) ->
List.iter l ~f:(search_pos_pat ~pos ~env)
| Tpat_variant (_, None, _) -> ()
| Tpat_variant (_, Some pat, _) -> search_pos_pat pat ~pos ~env
- | Tpat_record l ->
- List.iter l ~f:(fun (_, pat) -> search_pos_pat pat ~pos ~env)
+ | Tpat_record (l, _) ->
+ List.iter l ~f:(fun (_, _, _, pat) -> search_pos_pat pat ~pos ~env)
| Tpat_array l ->
List.iter l ~f:(search_pos_pat ~pos ~env)
| Tpat_or (a, b, None) ->
@@ -848,17 +853,17 @@ and search_pos_pat ~pos ~env pat =
add_found_str (`Exp(`Pat, pat.pat_type)) ~env ~loc:pat.pat_loc
end
-and search_pos_module_expr ~pos m =
+and search_pos_module_expr ~pos (m :module_expr) =
if in_loc m.mod_loc ~pos then begin
begin match m.mod_desc with
- Tmod_ident path ->
+ Tmod_ident (path, _) ->
add_found_str (`Module (path, m.mod_type))
~env:m.mod_env ~loc:m.mod_loc
- | Tmod_structure str -> search_pos_structure str ~pos
- | Tmod_functor (_, _, m) -> search_pos_module_expr m ~pos
+ | Tmod_structure str -> search_pos_structure str.str_items ~pos
+ | Tmod_functor (_, _, _, m) -> search_pos_module_expr m ~pos
| Tmod_apply (a, b, _) ->
search_pos_module_expr a ~pos; search_pos_module_expr b ~pos
- | Tmod_constraint (m, _, _) -> search_pos_module_expr m ~pos
+ | Tmod_constraint (m, _, _, _) -> search_pos_module_expr m ~pos
| Tmod_unpack (e, _) -> search_pos_expr e ~pos
end;
add_found_str (`Module (Pident (Ident.create "M"), m.mod_type))
diff --git a/otherlibs/labltk/browser/typecheck.ml b/otherlibs/labltk/browser/typecheck.ml
index ac861a6f2..f557105f1 100644
--- a/otherlibs/labltk/browser/typecheck.ml
+++ b/otherlibs/labltk/browser/typecheck.ml
@@ -17,6 +17,7 @@
open StdLabels
open Tk
open Parsetree
+open Typedtree
open Location
open Jg_tk
open Mytypes
@@ -105,7 +106,7 @@ let f txt =
let psign = parse_pp text ~ext:".mli"
~parse:Parse.interface ~wrap:(fun x -> x) in
txt.psignature <- psign;
- txt.signature <- Typemod.transl_signature !env psign
+ txt.signature <- (Typemod.transl_signature !env psign).sig_type;
else (* others are interpreted as .ml *)
@@ -115,7 +116,7 @@ let f txt =
begin function
Ptop_def pstr ->
let str, sign, env' = Typemod.type_structure !env pstr Location.none in
- txt.structure <- txt.structure @ str;
+ txt.structure <- txt.structure @ str.str_items;
txt.signature <- txt.signature @ sign;
env := env'
| Ptop_dir _ -> ()
@@ -156,6 +157,8 @@ let f txt =
Includemod.report_error Format.std_formatter errl; Location.none
| Env.Error err ->
Env.report_error Format.std_formatter err; Location.none
+ | Cmi_format.Error err ->
+ Cmi_format.report_error Format.std_formatter err; Location.none
| Ctype.Tags(l, l') ->
Format.printf "In this program,@ variant constructors@ `%s and `%s@ have same hash value.@." l l';
Location.none
diff --git a/otherlibs/labltk/browser/viewer.ml b/otherlibs/labltk/browser/viewer.ml
index 72b9c1d66..34ccfd7a2 100644
--- a/otherlibs/labltk/browser/viewer.ml
+++ b/otherlibs/labltk/browser/viewer.ml
@@ -61,20 +61,20 @@ let view_symbol ~kind ~env ?path id =
match kind with
Pvalue ->
let path, vd = lookup_value id env in
- view_signature_item ~path ~env [Tsig_value (Ident.create name, vd)]
+ view_signature_item ~path ~env [Sig_value (Ident.create name, vd)]
| Ptype -> view_type_id id ~env
- | Plabel -> let ld = lookup_label id env in
+ | Plabel -> let _,ld = lookup_label id env in
begin match ld.lbl_res.desc with
Tconstr (path, _, _) -> view_type_decl path ~env
| _ -> ()
end
| Pconstructor ->
- let cd = lookup_constructor id env in
+ let _,cd = lookup_constructor id env in
begin match cd.cstr_res.desc with
Tconstr (cpath, _, _) ->
if Path.same cpath Predef.path_exn then
view_signature ~title:(string_of_longident id) ~env ?path
- [Tsig_exception (Ident.create name, {exn_loc = Location.none; exn_args = cd.cstr_args})]
+ [Sig_exception (Ident.create name, {Types.exn_loc = Location.none; exn_args = cd.cstr_args})]
else
view_type_decl cpath ~env
| _ -> ()
@@ -217,23 +217,23 @@ let search_symbol () =
(* Display the contents of a module *)
let ident_of_decl ~modlid = function
- Tsig_value (id, _) -> Lident (Ident.name id), Pvalue
- | Tsig_type (id, _, _) -> Lident (Ident.name id), Ptype
- | Tsig_exception (id, _) -> Ldot (modlid, Ident.name id), Pconstructor
- | Tsig_module (id, _, _) -> Lident (Ident.name id), Pmodule
- | Tsig_modtype (id, _) -> Lident (Ident.name id), Pmodtype
- | Tsig_class (id, _, _) -> Lident (Ident.name id), Pclass
- | Tsig_cltype (id, _, _) -> Lident (Ident.name id), Pcltype
+ Sig_value (id, _) -> Lident (Ident.name id), Pvalue
+ | Sig_type (id, _, _) -> Lident (Ident.name id), Ptype
+ | Sig_exception (id, _) -> Ldot (modlid, Ident.name id), Pconstructor
+ | Sig_module (id, _, _) -> Lident (Ident.name id), Pmodule
+ | Sig_modtype (id, _) -> Lident (Ident.name id), Pmodtype
+ | Sig_class (id, _, _) -> Lident (Ident.name id), Pclass
+ | Sig_class_type (id, _, _) -> Lident (Ident.name id), Pcltype
let view_defined ~env ?(show_all=false) modlid =
- try match lookup_module modlid env with path, Tmty_signature sign ->
+ try match lookup_module modlid env with path, Mty_signature sign ->
let rec iter_sign sign idents =
match sign with
[] -> List.rev idents
| decl :: rem ->
let rem = match decl, rem with
- Tsig_class _, cty :: ty1 :: ty2 :: rem -> rem
- | Tsig_cltype _, ty1 :: ty2 :: rem -> rem
+ Sig_class _, cty :: ty1 :: ty2 :: rem -> rem
+ | Sig_class_type _, ty1 :: ty2 :: rem -> rem
| _, rem -> rem
in iter_sign rem (ident_of_decl ~modlid decl :: idents)
in
@@ -248,6 +248,10 @@ let view_defined ~env ?(show_all=false) modlid =
let tl, tw, finish = Jg_message.formatted ~title:"Error!" () in
Env.report_error Format.std_formatter err;
finish ()
+ | Cmi_format.Error err ->
+ let tl, tw, finish = Jg_message.formatted ~title:"Error!" () in
+ Cmi_format.report_error Format.std_formatter err;
+ finish ()
(* Manage toplevel windows *)