feat(kernel/expr): improve get_app_args interface
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
28e8299f6d
commit
5c7d3c79c4
2 changed files with 8 additions and 3 deletions
|
@ -323,10 +323,13 @@ expr mk_app_vars(expr const & f, unsigned n) {
|
|||
return r;
|
||||
}
|
||||
|
||||
void get_app_args(expr const & e, buffer<expr> & args) {
|
||||
expr get_app_args(expr const & e, buffer<expr> & args) {
|
||||
if (is_app(e)) {
|
||||
get_app_args(app_fn(e), args);
|
||||
expr r = get_app_args(app_fn(e), args);
|
||||
args.push_back(app_arg(e));
|
||||
return r;
|
||||
} else {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -593,8 +593,10 @@ inline bool has_free_var_ge(expr const & e, unsigned low) { return get_free_var_
|
|||
/**
|
||||
\brief Given \c e of the form <tt>(...(f a1) ... an)</tt>, store a1 ... an in args.
|
||||
If \c e is not an application, then nothing is stored in args.
|
||||
|
||||
It returns the f.
|
||||
*/
|
||||
void get_app_args(expr const & e, buffer<expr> & args);
|
||||
expr get_app_args(expr const & e, buffer<expr> & args);
|
||||
// =======================================
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue