aboutsummaryrefslogtreecommitdiff
path: root/frontend/overloading.icl
diff options
context:
space:
mode:
authorsjakie2001-06-11 09:30:52 +0000
committersjakie2001-06-11 09:30:52 +0000
commit8335b6700d6ddd40d94682b8f5da73343149516e (patch)
tree30c81b18e23a6263b4e6f74a0ebb5f1a80a32abf /frontend/overloading.icl
parentbug fix, assign last nodedefs in CollectSharedNodeIdsInRootNode (diff)
Bug fix with array updates. Removed redundant code. Adjusted unification algorithm.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@478 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r--frontend/overloading.icl9
1 files changed, 8 insertions, 1 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl
index 9359529..868d40d 100644
--- a/frontend/overloading.icl
+++ b/frontend/overloading.icl
@@ -506,9 +506,13 @@ where
match defs (TA cons_id1 cons_args1) (TA cons_id2 cons_args2) type_heaps
| cons_id1 == cons_id2
= match defs cons_args1 cons_args2 type_heaps
-// # (succ1, type1, type_heaps) = tryToExpandTypeSyn defs cons_id1 cons_args1 type_heaps
+ # (succ1, type1, type_heaps) = tryToExpandTypeSyn defs cons_id1 cons_args1 type_heaps
# (succ2, type2, type_heaps) = tryToExpandTypeSyn defs cons_id2 cons_args2 type_heaps
+ | succ1 || succ2
+ = match defs type1 type2 type_heaps
+/*
| succ2
+
= case type2 of
TA cons_id2 cons_args2
| cons_id1 == cons_id2
@@ -516,6 +520,8 @@ where
-> (False, type_heaps)
_
-> (False, type_heaps)
+
+*/
= (False, type_heaps)
match defs (arg_type1 --> res_type1) (arg_type2 --> res_type2) type_heaps
= match defs (arg_type1,res_type1) (arg_type2,res_type2) type_heaps
@@ -928,6 +934,7 @@ where
{fun_body = TransformedBody {tb_args,tb_rhs},fun_info,fun_arity,fun_symb,fun_pos} = fun_def
(rev_variables, var_heap) = foldSt determine_class_argument st_context ([], var_heap)
+// ---> ("determine_class_argument", st_context)
error = setErrorAdmin (newPosition fun_symb fun_pos) error
(type_code_info, symbol_heap, type_pattern_vars, var_heap, error)
= convertDynamicTypes fun_info.fi_dynamics (type_code_info, symbol_heap, type_pattern_vars, var_heap, error) /* MV */ rev_variables