JL_DLLEXPORT jl_lambda_info_t *jl_new_lambda_info_from_ast(jl_expr_t *ast) { jl_lambda_info_t *li=NULL; JL_GC_PUSH1(&li); li = jl_new_lambda_info_uninit(); jl_lambda_info_set_ast(li, ast); JL_GC_POP(); return li; }
static jl_lambda_info_t *jl_copy_lambda(jl_lambda_info_t *linfo) { assert(linfo->sparam_vals == jl_emptysvec); jl_lambda_info_t *new_linfo = jl_new_lambda_info_uninit(linfo->sparam_syms); new_linfo->code = linfo->code; new_linfo->slotnames = linfo->slotnames; new_linfo->slottypes = linfo->slottypes; new_linfo->slotflags = linfo->slotflags; new_linfo->ssavaluetypes = linfo->ssavaluetypes; new_linfo->sparam_vals = linfo->sparam_vals; new_linfo->pure = linfo->pure; new_linfo->inlineable = linfo->inlineable; new_linfo->nargs = linfo->nargs; new_linfo->isva = linfo->isva; new_linfo->rettype = linfo->rettype; new_linfo->def = linfo->def; return new_linfo; }