aboutsummaryrefslogtreecommitdiff
path: root/frontend/refmark.icl
diff options
context:
space:
mode:
authorjohnvg2013-04-02 15:26:26 +0000
committerjohnvg2013-04-02 15:26:26 +0000
commitd4e397a35be100674c23b2c863210136d5b5d35c (patch)
treee314addf40d5e1b8ea31701a80dc2435d7ac2b90 /frontend/refmark.icl
parentin function adjust_type_code, add alternative for TCE_Selector, (diff)
add type constraints in constructors and function arguments with universal quantifier (from iTask branch)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2218 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/refmark.icl')
-rw-r--r--frontend/refmark.icl7
1 files changed, 5 insertions, 2 deletions
diff --git a/frontend/refmark.icl b/frontend/refmark.icl
index 0680d7c..c509dc7 100644
--- a/frontend/refmark.icl
+++ b/frontend/refmark.icl
@@ -748,8 +748,9 @@ where
empty_occurrence {fv_info_ptr} var_heap
= var_heap <:= (fv_info_ptr, VI_Empty)
- get_type (VI_Type atype _) = atype
- get_type (VI_FAType _ atype _) = atype
+ get_type (VI_Type atype _) = atype
+ get_type (VI_FAType _ atype _) = atype
+ get_type (VI_FATypeC _ atype _ _) = atype
make_shared_vars_non_unique vars fun_body coercion_env var_heap expr_heap error
= foldl make_shared_var_non_unique (coercion_env, var_heap, expr_heap, error) vars
@@ -779,6 +780,8 @@ where
===> ("make_shared_occurrence_non_unique", free_var, var_expr_ptr, sa_attr_nr)
-> (coercion_env, expr_heap, error)
-> (coercion_env, expr_heap, uniquenessErrorVar free_var fun_body " demanded attribute cannot be offered by shared object" error)
+ EI_FPContext _ var_expr_ptr
+ -> make_shared_occurrence_non_unique free_var var_expr_ptr (coercion_env, expr_heap, error)
_
-> abort ("make_shared_occurrence_non_unique" ===> ((free_var, var_expr_ptr) )) // <<- expr_info))