src/Tools/Code/code_scala.ML
changeset 55681 7714287dc044
parent 55679 59244fc1a7ca
child 55683 5732a55b9232
--- a/src/Tools/Code/code_scala.ML	Sun Feb 23 10:33:43 2014 +0100
+++ b/src/Tools/Code/code_scala.ML	Sun Feb 23 10:33:43 2014 +0100
@@ -145,8 +145,11 @@
             |> single
             |> enclose "(" ")"
           end;
-    fun privatize false = concat o cons (str "private")
-      | privatize true = concat;
+    fun privatize Code_Namespace.Public = concat
+      | privatize _ = concat o cons (str "private");
+    fun privatize' Code_Namespace.Public = concat
+      | privatize' Code_Namespace.Opaque = concat
+      | privatize' _ = concat o cons (str "private");
     fun print_context tyvars vs sym = applify "[" "]"
       (fn (v, sort) => (Pretty.block o map str)
         (lookup_tyvar tyvars v :: maps (fn class => [" : ", deresolve_class class]) sort))
@@ -224,7 +227,7 @@
               ];
           in
             Pretty.chunks (applify "[" "]" (str o lookup_tyvar tyvars)
-              NOBR ((privatize export o map str) ["abstract", "sealed", "class", deresolve_tyco tyco]) vs
+              NOBR ((privatize' export o map str) ["abstract", "sealed", "class", deresolve_tyco tyco]) vs
                 :: map print_co cos)
           end
       | print_stmt (Type_Class class, (export, Code_Thingol.Class (v, (classrels, classparams)))) =
@@ -257,7 +260,7 @@
           in
             Pretty.chunks (
               (Pretty.block_enclose
-                (privatize export ([str "trait", (add_typarg o deresolve_class) class]
+                (privatize' export ([str "trait", (add_typarg o deresolve_class) class]
                   @ the_list (print_super_classes classrels) @ [str "{"]), str "}")
                 (map print_classparam_val classparams))
               :: map print_classparam_def classparams
@@ -349,7 +352,8 @@
 
     (* build program *)
     val { deresolver, hierarchical_program = scala_program } =
-      scala_program_of_program ctxt module_name (Name.make_context reserved_syms) identifiers program;
+      scala_program_of_program ctxt module_name (Name.make_context reserved_syms)
+        identifiers program;
 
     (* print statements *)
     fun lookup_constr tyco constr = case Code_Symbol.Graph.get_node program (Type_Constructor tyco)