Module Flow_ast.Function

module RestParam : sig ... end
module Param : sig ... end
module ThisParam : sig ... end
module Params : sig ... end
module ReturnAnnot : sig ... end
type effect_ =
  1. | Hook
  2. | Arbitrary
val pp_effect_ : Format.formatter -> effect_ -> unit
val show_effect_ : effect_ -> string
type ('M, 'T) t = {
  1. id : ('M, 'T) Identifier.t option;
  2. params : ('M, 'T) Params.t;
  3. body : ('M, 'T) body;
  4. async : bool;
  5. generator : bool;
  6. effect_ : effect_;
  7. predicate : ('M, 'T) Type.Predicate.t option;
  8. return : ('M, 'T) ReturnAnnot.t;
  9. tparams : ('M, 'T) Type.TypeParams.t option;
  10. comments : ('M, unit) Syntax.t option;
  11. sig_loc : 'M;
}
and ('M, 'T) body =
  1. | BodyBlock of 'M * ('M, 'T) Statement.Block.t
  2. | BodyExpression of ('M, 'T) Expression.t
val pp : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> Format.formatter -> ('M, 'T) t -> unit
val show : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> ('M, 'T) t -> string
val pp_body : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> Format.formatter -> ('M, 'T) body -> unit
val show_body : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> ('M, 'T) body -> string