ProcnameDispatcher.ProcNameinclude Common
with type ('context, 'f, 'arg_payload) dispatcher =
'context ->
IR.Procname.t ->
'f optiontype ('context, 'f, 'arg_payload) dispatcher =
'context ->
IR.Procname.t ->
'f optionval make_dispatcher :
('context, 'f, 'arg_payload) matcher list ->
('context, 'f, 'arg_payload) dispatcherCombines matchers to create a dispatcher
val any_typ : ('f, 'f, accept_more) template_argEats a type
val capt_typ : (IR.Typ.t -> 'f, 'f, accept_more) template_argCaptures a type
val capt_int : (IStdlib.IStd.Int64.t -> 'f, 'f, accept_more) template_argCaptures an int
val capt_all : (IR.Typ.template_arg list -> 'f, 'f, end_of_list) template_argCaptures all template args
val (~-) : string -> ('context, 'f, 'f, 'arg_payload) name_matcherStarts a path with a name
val (~+) :
('context -> string -> bool) ->
('context, 'f, 'f, 'arg_payload) name_matcherStarts a path with a matching name that satisfies the given function
val (&+) :
('context, 'f_in, 'f_interm, accept_more, 'arg_payload) templ_matcher ->
('f_interm, 'f_out, 'lc) template_arg ->
('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcherSeparate template arguments
val (<) :
('context, 'f_in, 'f_interm, 'arg_payload) name_matcher ->
('f_interm, 'f_out, 'lc) template_arg ->
('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcherStarts template arguments after a name
val (>::) :
('context, 'f_in, 'f_out, _, 'arg_payload) templ_matcher ->
string ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherEnds template arguments and starts a name
val (>::+) :
('context, 'f_in, 'f_out, 'lc, 'arg_payload) templ_matcher ->
('context -> string -> bool) ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherval (&+...>::) :
('context, 'f_in, 'f_out, accept_more, 'arg_payload) templ_matcher ->
string ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherEnds template arguments with eats-ALL and starts a name
val (&::) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
string ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names (accepts ALL template arguments on the left one)
val (&::+) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
('context -> string -> bool) ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names that satisfies the given function (accepts ALL template arguments on the left one)
val (<>::) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
string ->
('context, 'f_in, 'f_out, 'arg_payload) name_matcherSeparates names (accepts NO template arguments on the left one)
val (>-->) :
('context, 'f_in, 'f_out, _, 'arg_payload) templ_matcher ->
'f_in ->
('context, 'f_out, 'arg_payload) matcherEnds template arguments with accept-NO further template arguments
val (&+...>-->) :
('context, 'f_in, 'f_out, accept_more, 'arg_payload) templ_matcher ->
'f_in ->
('context, 'f_out, 'arg_payload) matcherEnds template arguments with accept-ALL further template arguments
val (<>-->) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
'f_in ->
('context, 'f_out, 'arg_payload) matcherval (&-->) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
'f_in ->
('context, 'f_out, 'arg_payload) matcherval (&::.*-->) :
('context, 'f_in, 'f_out, 'arg_payload) name_matcher ->
'f_in ->
('context, 'f_out, 'arg_payload) matcherAfter a name, accepts ALL template arguments, accepts ALL path tails (names, templates), accepts ALL function arguments, binds the function