src/Tools/Code/code_scala.ML
changeset 56826 ba18bd41e510
parent 56812 baef1c110f12
child 58398 f38717f175d9
equal deleted inserted replaced
56825:8872e0776e97 56826:ba18bd41e510
   303       in (base', ((nsp_class', nsp_object), Name.declare base' nsp_common)) end;
   303       in (base', ((nsp_class', nsp_object), Name.declare base' nsp_common)) end;
   304     fun namify_object base ((nsp_class, nsp_object), nsp_common) =
   304     fun namify_object base ((nsp_class, nsp_object), nsp_common) =
   305       let
   305       let
   306         val (base', nsp_object') = Name.variant base nsp_object
   306         val (base', nsp_object') = Name.variant base nsp_object
   307       in (base', ((nsp_class, nsp_object'), Name.declare base' nsp_common)) end;
   307       in (base', ((nsp_class, nsp_object'), Name.declare base' nsp_common)) end;
   308     fun namify_common upper base ((nsp_class, nsp_object), nsp_common) =
   308     fun namify_common base ((nsp_class, nsp_object), nsp_common) =
   309       let
   309       let
   310         val (base', nsp_common') =
   310         val (base', nsp_common') = Name.variant base nsp_common
   311           Name.variant (if upper then Name.enforce_case true base else base) nsp_common
       
   312       in
   311       in
   313         (base',
   312         (base', ((Name.declare base' nsp_class, Name.declare base' nsp_object), nsp_common'))
   314           ((Name.declare base' nsp_class, Name.declare base' nsp_object), nsp_common'))
       
   315       end;
   313       end;
   316     fun namify_stmt (Code_Thingol.Fun _) = namify_object
   314     fun namify_stmt (Code_Thingol.Fun _) = namify_object
   317       | namify_stmt (Code_Thingol.Datatype _) = namify_class
   315       | namify_stmt (Code_Thingol.Datatype _) = namify_class
   318       | namify_stmt (Code_Thingol.Datatypecons _) = namify_common true
   316       | namify_stmt (Code_Thingol.Datatypecons _) = namify_common
   319       | namify_stmt (Code_Thingol.Class _) = namify_class
   317       | namify_stmt (Code_Thingol.Class _) = namify_class
   320       | namify_stmt (Code_Thingol.Classrel _) = namify_object
   318       | namify_stmt (Code_Thingol.Classrel _) = namify_object
   321       | namify_stmt (Code_Thingol.Classparam _) = namify_object
   319       | namify_stmt (Code_Thingol.Classparam _) = namify_object
   322       | namify_stmt (Code_Thingol.Classinst _) = namify_common false;
   320       | namify_stmt (Code_Thingol.Classinst _) = namify_common;
   323     fun memorize_implicits sym =
   321     fun memorize_implicits sym =
   324       let
   322       let
   325         fun is_classinst stmt = case stmt
   323         fun is_classinst stmt = case stmt
   326          of Code_Thingol.Classinst _ => true
   324          of Code_Thingol.Classinst _ => true
   327           | _ => false;
   325           | _ => false;