diff options
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r-- | frontend/overloading.icl | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl index ce5858e..b94f3d2 100644 --- a/frontend/overloading.icl +++ b/frontend/overloading.icl @@ -1340,7 +1340,6 @@ where # (fun_def, fun_defs) = fun_defs![fun_index] (CheckedType st=:{st_context,st_args}, fun_env) = fun_env![fun_index] {fun_body = TransformedBody {tb_args,tb_rhs},fun_info,fun_arity,fun_ident,fun_pos} = fun_def - var_heap = mark_FPC_arguments st_args tb_args var_heap error = setErrorAdmin (newPosition fun_ident fun_pos) error @@ -1357,19 +1356,12 @@ where # {ui_instance_calls, ui_local_vars, ui_symbol_heap, ui_var_heap, ui_fun_defs, ui_fun_env, ui_has_type_codes, ui_error, ui_x = {x_type_code_info = type_code_info, x_predef_symbols = predef_symbols}} = ui # (tb_args, var_heap) = foldSt retrieve_class_argument rev_variables (tb_args, ui_var_heap) - fun_info = mark_type_codes ui_has_type_codes fun_info - fun_def = { fun_def & fun_body = TransformedBody {tb_args = tb_args, tb_rhs = tb_rhs}, fun_arity = length tb_args, - fun_info = { fun_info & fi_calls = fun_info.fi_calls ++ ui_instance_calls, fi_local_vars = ui_local_vars } } + fun_def & fun_body = TransformedBody {tb_args = tb_args, tb_rhs = tb_rhs}, fun_arity = length tb_args, + fun_info = {fun_info & fi_calls = fun_info.fi_calls ++ ui_instance_calls, fi_local_vars = ui_local_vars, + fi_properties = fun_info.fi_properties bitor FI_HasTypeCodes} #! ok = ui_error.ea_ok = (ok, { ui_fun_defs & [fun_index] = fun_def }, ui_fun_env, ui_symbol_heap, type_code_info, var_heap, ui_error, predef_symbols) = (False, fun_defs, fun_env, symbol_heap, type_code_info, var_heap, error, predef_symbols) - where - // this is a ugly way to mark this function for conversion in convertDynamics - // FIXME: find a better way to mark the function - mark_type_codes True info=:{fi_dynamics=[]} - = {info & fi_dynamics = [nilPtr]} - mark_type_codes _ info - = info mark_FPC_arguments :: ![AType] ![FreeVar] !*VarHeap -> *VarHeap mark_FPC_arguments st_args tb_args var_heap |