Interproc.CommonSourceCommon transfer functions for handling function calls
Option to limit recursion depth
=====================
type Mopsa.token += | T_return of Mopsa.rangeT_return(l) represents flows reaching a return statement at location l
===================
Return variable of a function call
Constructor of return variables
===================================
module ReturnKey : sig ... end===============================
====================
val check_recursion :
string ->
string ->
Utils_core.Location.range ->
Mopsa.callsite list ->
boolCheck that no recursion is happening
=====================
val init_fun_params :
Lang.Ast.fundec ->
Ast.Expr.expr list ->
Mopsa_utils.Location.range ->
('a, 'b) Mopsa.man ->
'a Mopsa.Flow.flow ->
Mopsa.var list * Mopsa.var list * Mopsa.stmt * 'a Mopsa.Post.postInitialize function parameters
val exec_fun_body :
'a ->
Ast.Var.var list ->
Ast.Var.var list ->
Ast.Stmt.stmt ->
Mopsa.expr option ->
Mopsa_utils.Location.range ->
('b, 'c) Mopsa.man ->
'b Mopsa.Flow.flow ->
('b, Ast.Expr.expr) Core.Cases.casesExecute function body and save the return value
val inline :
Lang.Ast.fundec ->
Ast.Var.var list ->
Ast.Var.var list ->
Ast.Stmt.stmt ->
Mopsa.expr option ->
Utils_core.Location.range ->
('a, 'b) Mopsa.man ->
'a Mopsa.Flow.flow ->
('a, Ast.Expr.expr) Core.Cases.casesInline a function call