method class_sig_item =
fun f csg ->
let () = o#node f csg Ast.loc_of_class_sig_item
in
match csg with
| Ast.CgNil _ -> ()
| Ast.CgSem (_, csg, (Ast.CgNil _)) |
Ast.CgSem (_, (Ast.CgNil _), csg) ->
o#class_sig_item f csg
| Ast.CgSem (_, csg1, csg2) ->
(o#class_sig_item f csg1;
cut f;
o#class_sig_item f csg2)
| Ast.CgCtr (_, t1, t2) ->
pp f "@[<2>constraint@ %a =@ %a%(%)@]" o#ctyp t1
o#ctyp t2 semisep
| Ast.CgInh (_, ct) ->
pp f "@[<2>inherit@ %a%(%)@]" o#class_type ct
semisep
| Ast.CgMth (_, s, pr, t) ->
pp f "@[<2>method %a%a :@ %a%(%)@]" o#private_flag
pr o#var s o#ctyp t semisep
| Ast.CgVir (_, s, pr, t) ->
pp f "@[<2>method virtual %a%a :@ %a%(%)@]"
o#private_flag pr o#var s o#ctyp t semisep
| Ast.CgVal (_, s, mu, vi, t) ->
pp f "@[<2>%s %a%a%a :@ %a%(%)@]" o#value_val
o#mutable_flag mu o#virtual_flag vi o#var s
o#ctyp t semisep
| Ast.CgAnt (_, s) -> pp f "%a%(%)" o#anti s semisep