@@ -496,7 +496,7 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
496496 StringMap. add name (name, < :ident< $lid:name$ >>, tl, tk, False ) acc
497497 | _ -> assert False ];
498498
499- value generate_class_implem ?( virtual_flag = False ) mode c tydcl n =
499+ value generate_class_implem mode c tydcl n =
500500 let tyMap = tyMap_of_type_decls tydcl StringMap. empty in
501501 let module M = Gen (struct value size = n ; value mode = mode ; end ) in
502502 let generated = M. generate_structure tyMap in
@@ -515,13 +515,11 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
515515 < :ctyp< ! 'a . $ M. method_type_of_type < :ctyp< 'a >> < :ctyp< 'a >> [] [] $ >>
516516 in
517517 let unknown =
518- < :class_str_item< method unknown : $ gen_type$ = $ M. default_expr$ >> in
519- if not virtual_flag then
520- < :str_item< class $ lid:c$ = object (o : 'self_type ) $ generated$ ; $ failure$ ; $ unknown$ end >>
521- else
522- < :str_item< class virtual $ lid:c$ = object (o : 'self_type ) $ generated$ ; $ failure$ ; $ unknown$ end >> ;
518+ < :class_str_item< method unknown : $ gen_type$ = $ M. default_expr$ >>
519+ in
520+ < :str_item< class $ lid:c$ = object (o : 'self_type ) $ generated$ ; $ failure$ ; $ unknown$ end >> ;
523521
524- value generate_class_interf ?(virtual_flag = False ) mode c tydcl n =
522+ value generate_class_interf mode c tydcl n =
525523 let tyMap = tyMap_of_type_decls tydcl StringMap. empty in
526524 let module M = Gen (struct value size = n; value mode = mode; end ) in
527525 let generated = M. generate_signature tyMap in
@@ -540,10 +538,7 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
540538 let unknown =
541539 < :class_sig_item< method unknown : $ gen_type$ >>
542540 in
543- if not virtual_flag then
544- < :sig_item< class $ lid:c$ : object ('self_type) $ generated$ ; $ failure$ ; $ unknown$ end >>
545- else
546- < :sig_item< class virtual $ lid:c$ : object ('self_type) $ generated$ ; $ failure$ ; $ unknown$ end >> ;
541+ < :sig_item< class $ lid:c$ : object ('self_type) $ generated$ ; $ failure$ ; $ unknown$ end >> ;
547542
548543 value processor =
549544 let last = ref < :ctyp<>> in
@@ -570,19 +565,12 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
570565 (* backward compatibility *)
571566 | < :str_item @ _loc < class $ lid :c $ = Camlp4Filters.GenerateFold. generated >> ->
572567 generate_class_implem Fold c last.val 1
573- | < :str_item @ _loc < class virtual $ lid :c $ = Camlp4Filters.GenerateFold. generated >> ->
574- generate_class_implem ~virtual_flag: True Fold c last.val 1
575-
576568 | < :str_item @ _loc < class $ lid :c $ = Camlp4Filters.GenerateMap. generated >> ->
577569 generate_class_implem Map c last.val 1
578- | < :str_item @ _loc < class virtual $ lid :c $ = Camlp4Filters.GenerateMap. generated >> ->
579- generate_class_implem ~virtual_flag: True Map c last.val 1
580570
581571 (* Handle Camlp4(Fold|Map|FoldMap)\d*Generator *)
582572 | < :str_item @ _loc < class $ lid :c $ = $ uid :m $. generated >> ->
583- generate_class_from_module_name (generate_class_implem ~virtual_flag: False ) c st m
584- | < :str_item @ _loc < class virtual $ lid :c $ = $ uid :m $. generated >> ->
585- generate_class_from_module_name (generate_class_implem ~virtual_flag: True ) c st m
573+ generate_class_from_module_name generate_class_implem c st m
586574
587575 (* It's a hack to force to recurse on the left to right order *)
588576 | < :str_item < $ st1 $ ; $ st2 $ >> ->
@@ -598,19 +586,12 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
598586 (* backward compatibility *)
599587 | < :sig_item @ _loc < class $ lid :c $ : Camlp4Filters.GenerateFold. generated >> ->
600588 generate_class_interf Fold c last.val 1
601- | < :sig_item @ _loc < class virtual $ lid :c $ : Camlp4Filters.GenerateFold. generated >> ->
602- generate_class_interf ~virtual_flag: True Fold c last.val 1
603-
604589 | < :sig_item @ _loc < class $ lid :c $ : Camlp4Filters.GenerateMap. generated >> ->
605590 generate_class_interf Map c last.val 1
606- | < :sig_item @ _loc < class virtual $ lid :c $ : Camlp4Filters.GenerateMap. generated >> ->
607- generate_class_interf ~virtual_flag: True Map c last.val 1
608591
609592 (* Handle Camlp4(Fold|Map|FoldMap)\d*Generator *)
610593 | < :sig_item @ _loc < class $ lid :c $ : $ uid :m $. generated >> ->
611- generate_class_from_module_name (generate_class_interf ~virtual_flag: False ) c sg m
612- | < :sig_item @ _loc < class virtual $ lid :c $ : $ uid :m $. generated >> ->
613- generate_class_from_module_name (generate_class_interf ~virtual_flag: True ) c sg m
594+ generate_class_from_module_name generate_class_interf c sg m
614595
615596 (* It's a hack to force to recurse on the left to right order *)
616597 | < :sig_item < $ sg1 $ ; $ sg2 $ >> ->
0 commit comments