src/Tools/Code/code_haskell.ML
changeset 55681 7714287dc044
parent 55679 59244fc1a7ca
child 55683 5732a55b9232
--- a/src/Tools/Code/code_haskell.ML	Sun Feb 23 10:33:43 2014 +0100
+++ b/src/Tools/Code/code_haskell.ML	Sun Feb 23 10:33:43 2014 +0100
@@ -379,15 +379,17 @@
         val deresolve = deresolver module_name;
         val deresolve_import = SOME o str o deresolve;
         val deresolve_import_attached = SOME o str o suffix "(..)" o deresolve;
-        fun print_import (sym, Code_Thingol.Fun _) = deresolve_import sym
-          | print_import (sym, Code_Thingol.Datatype _) = deresolve_import_attached sym
-          | print_import (sym, Code_Thingol.Class _) = deresolve_import_attached sym
-          | print_import (sym, Code_Thingol.Classinst _) = NONE;
+        fun print_import (sym, (_, Code_Thingol.Fun _)) = deresolve_import sym
+          | print_import (sym, (Code_Namespace.Public, Code_Thingol.Datatype _)) = deresolve_import_attached sym
+          | print_import (sym, (Code_Namespace.Opaque, Code_Thingol.Datatype _)) = deresolve_import sym
+          | print_import (sym, (Code_Namespace.Public, Code_Thingol.Class _)) = deresolve_import_attached sym
+          | print_import (sym, (Code_Namespace.Opaque, Code_Thingol.Class _)) = deresolve_import sym
+          | print_import (sym, (_, Code_Thingol.Classinst _)) = NONE;
         val import_ps = import_common_ps @ map (print_qualified_import o fst) imports;
         fun print_stmt' sym = case Code_Symbol.Graph.get_node gr sym
          of (_, NONE) => NONE
           | (_, SOME (export, stmt)) =>
-              SOME (if export then print_import (sym, stmt) else NONE, markup_stmt sym (print_stmt deresolve (sym, stmt)));
+              SOME (if Code_Namespace.not_private export then print_import (sym, (export, stmt)) else NONE, markup_stmt sym (print_stmt deresolve (sym, stmt)));
         val (export_ps, body_ps) = (flat o rev o Code_Symbol.Graph.strong_conn) gr
           |> map_filter print_stmt'
           |> split_list