Extension.Expert
This module allows to declare extensions that do not produce a value of the context type. This is typically useful for extensions point that depends on more things from the context than the path and location.
Type of declared expert extensions.
The 'context
type parameter describes where the extension is expected and the 'payload
one what its payload should contain.
val declare :
string ->
'context Context.t ->
(Astlib.Ast_500.Parsetree.payload, 'a, 'b) Ast_pattern.t ->
'a ->
('context, 'b) t
val declare_with_path_arg :
string ->
'context Context.t ->
(Astlib.Ast_500.Parsetree.payload, 'a, 'b) Ast_pattern.t ->
(arg:Longident.t Loc.t option -> 'a) ->
('context, 'b) t
val convert_res :
(_, 'a) t list ->
loc:Location.t ->
(string Astlib.Location.loc * Astlib.Ast_500.Parsetree.payload) ->
('a option, Location.Error.t Stdppx.NonEmptyList.t) result
val convert :
(_, 'a) t list ->
loc:Location.t ->
(string Astlib.Location.loc * Astlib.Ast_500.Parsetree.payload) ->
'a option