src/Pure/General/binding.ML
changeset 77960 1d82061fbb12
parent 77953 fcd85e04a948
child 80809 4a64fc4d1cde
--- a/src/Pure/General/binding.ML	Wed May 03 23:11:12 2023 +0200
+++ b/src/Pure/General/binding.ML	Thu May 04 11:42:04 2023 +0200
@@ -43,9 +43,8 @@
   val bad: binding -> string
   val check: binding -> unit
   type name_spec =
-    {restriction: bool option, concealed: bool, spec: (string * bool) list, full_name: string}
+    {restriction: bool option, concealed: bool, suppress: bool list, full_name: string}
   val name_spec: scope list -> (string * bool) list -> binding -> name_spec
-  val full_name_spec: string -> name_spec
 end;
 
 structure Binding: BINDING =
@@ -197,7 +196,7 @@
 val bad_specs = ["", "??", "__"];
 
 type name_spec =
-  {restriction: bool option, concealed: bool, spec: (string * bool) list, full_name: string};
+  {restriction: bool option, concealed: bool, suppress: bool list, full_name: string};
 
 fun name_spec scopes path binding : name_spec =
   let
@@ -218,12 +217,11 @@
       andalso error (bad binding);
 
     val spec' = if null spec2 then [] else spec;
+    val suppress = map (not o #2) spec';
     val full_name = Long_Name.implode (map #1 spec');
-  in {restriction = restriction, concealed = concealed, spec = spec', full_name = full_name} end;
-
-fun full_name_spec name : name_spec =
-  let val spec = Long_Name.explode name |> map (rpair false);
-  in {restriction = NONE, concealed = false, spec = spec, full_name = name} end;
+  in
+    {restriction = restriction, concealed = concealed, suppress = suppress, full_name = full_name}
+  end;
 
 end;