summaryrefslogtreecommitdiff
path: root/toplevel/topdirs.ml
diff options
context:
space:
mode:
authorFlorian Angeletti <florian.angeletti@inria.fr>2022-01-27 17:58:43 +0100
committeroctachron <octa@polychoron.fr>2022-01-27 18:00:14 +0100
commitf22a84b4fdaafa92ed2a6a783ec8f8d249baf780 (patch)
treea52b05773d45696e9d971b8d2b46a60440aeae16 /toplevel/topdirs.ml
parentbd015d0b47096e8059ec5e2aa0674828cb6d3d46 (diff)
downloadocaml-f22a84b4fdaafa92ed2a6a783ec8f8d249baf780.tar.gz
Merge pull request #10839 from Et7f3/fix_show_regression
fix #show regression in 4.14 (cherry picked from commit ae1a31b01922642389758e313777feaab9de93a0)
Diffstat (limited to 'toplevel/topdirs.ml')
-rw-r--r--toplevel/topdirs.ml22
1 files changed, 18 insertions, 4 deletions
diff --git a/toplevel/topdirs.ml b/toplevel/topdirs.ml
index 7c219df3a4..97c1f1ae9c 100644
--- a/toplevel/topdirs.ml
+++ b/toplevel/topdirs.ml
@@ -571,16 +571,30 @@ let () =
let () =
reg_show_prim "show_class"
(fun env loc id lid ->
- let _path, desc = Env.lookup_class ~loc lid env in
- [ Sig_class (id, desc, Trec_not, Exported) ]
+ let path, desc_class = Env.lookup_class ~loc lid env in
+ let _path, desc_cltype = Env.lookup_cltype ~loc lid env in
+ let _path, typedcl = Env.lookup_type ~loc lid env in
+ let hash_typedcl = Env.find_hash_type path env in
+ [
+ Sig_class (id, desc_class, Trec_not, Exported);
+ Sig_class_type (id, desc_cltype, Trec_not, Exported);
+ Sig_type (id, typedcl, Trec_not, Exported);
+ Sig_type (id, hash_typedcl, Trec_not, Exported);
+ ]
)
"Print the signature of the corresponding class."
let () =
reg_show_prim "show_class_type"
(fun env loc id lid ->
- let _path, desc = Env.lookup_cltype ~loc lid env in
- [ Sig_class_type (id, desc, Trec_not, Exported) ]
+ let path, desc = Env.lookup_cltype ~loc lid env in
+ let _path, typedcl = Env.lookup_type ~loc lid env in
+ let hash_typedcl = Env.find_hash_type path env in
+ [
+ Sig_class_type (id, desc, Trec_not, Exported);
+ Sig_type (id, typedcl, Trec_not, Exported);
+ Sig_type (id, hash_typedcl, Trec_not, Exported);
+ ]
)
"Print the signature of the corresponding class type."