package libsail

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a visit_action =
  1. | SkipChildren
    (*

    Do not visit the children. Return the node as it is.

    *)
  2. | DoChildren
    (*

    Continue with the children of this node. Rebuild the node on return if any of the children changes (use == test)

    *)
  3. | ChangeTo of 'a
    (*

    Replace the expression with the given one

    *)
  4. | ChangeDoChildrenPost of 'a * 'a -> 'a
    (*

    First consider that the entire exp is replaced by the first parameter. Then continue with the children. On return rebuild the node if any of the children has changed and then apply the function on the node

    *)
val do_visit : 'v -> 'a visit_action -> ('v -> 'a -> 'a) -> 'a -> 'a
val change_do_children : 'a -> 'a visit_action
val map_no_copy : ('a -> 'a) -> 'a list -> 'a list
val map_no_copy_opt : ('a -> 'a) -> 'a option -> 'a option
class type common_visitor = object ... end
class type jib_visitor = object ... end
val visit_name : common_visitor -> Jib.name -> Jib.name
val visit_ctyp : common_visitor -> Jib.ctyp -> Jib.ctyp
val visit_cval : jib_visitor -> Jib.cval -> Jib.cval
val visit_clexp : jib_visitor -> Jib.clexp -> Jib.clexp
val visit_instr : jib_visitor -> Jib.instr -> Jib.instr
val visit_instrs : jib_visitor -> Jib.instr list -> Jib.instr list
val visit_cdef : jib_visitor -> Jib.cdef -> Jib.cdef
val visit_cdefs : jib_visitor -> Jib.cdef list -> Jib.cdef list
OCaml

Innovation. Community. Security.