JL_DLLEXPORT void jl_method_init_properties(jl_method_t *m) { jl_lambda_info_t *li = m->lambda_template; jl_value_t *body1 = skip_meta((jl_array_t*)li->code); if (jl_is_linenode(body1)) { m->line = jl_linenode_line(body1); } else if (jl_is_expr(body1) && ((jl_expr_t*)body1)->head == line_sym) { m->file = (jl_sym_t*)jl_exprarg(body1, 1); m->line = jl_unbox_long(jl_exprarg(body1, 0)); } int i; uint8_t called=0; for(i=1; i < li->nargs && i <= 8; i++) { jl_value_t *ai = jl_array_ptr_ref(li->slotnames,i); if (ai == (jl_value_t*)unused_sym) continue; if (jl_array_uint8_ref(li->slotflags,i)&64) called |= (1<<(i-1)); } m->called = called; }
JL_DLLEXPORT void jl_method_init_properties(jl_method_t *m) { jl_lambda_info_t *li = m->lambda_template; size_t j, n = jl_array_len((jl_array_t*)li->code); jl_value_t **body = (jl_value_t**)jl_array_data((jl_array_t*)li->code); for(j=0; j < n; j++) { jl_value_t *st = body[j]; if (jl_is_expr(st) && ((jl_expr_t*)st)->head == line_sym) { m->line = jl_unbox_long(jl_exprarg(st, 0)); m->file = (jl_sym_t*)jl_exprarg(st, 1); body[j] = jl_nothing; break; } } int i; uint8_t called=0; for(i=1; i < li->nargs && i <= 8; i++) { jl_value_t *ai = jl_array_ptr_ref(li->slotnames,i); if (ai == (jl_value_t*)unused_sym) continue; if (jl_array_uint8_ref(li->slotflags,i)&64) called |= (1<<(i-1)); } m->called = called; }