aboutsummaryrefslogtreecommitdiff
path: root/frontend/refmark.icl
diff options
context:
space:
mode:
authorjohnvg2012-08-02 11:08:38 +0000
committerjohnvg2012-08-02 11:08:38 +0000
commit6fefdc2bdbf518c1c22f6a130bb803abe9f174d7 (patch)
tree2d495b0532246eab6870886d84f03907531f8bae /frontend/refmark.icl
parentoptimize is constructor functions (diff)
add pattern match test using =: in expressions,
add constructors PE_Matches and IsConstructor in module syntax git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2130 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/refmark.icl')
-rw-r--r--frontend/refmark.icl4
1 files changed, 2 insertions, 2 deletions
diff --git a/frontend/refmark.icl b/frontend/refmark.icl
index ba4f0b4..0680d7c 100644
--- a/frontend/refmark.icl
+++ b/frontend/refmark.icl
@@ -341,6 +341,8 @@ where
= refMark free_vars arg_nr No expr rms
refMark free_vars sel _ (MatchExpr _ expr) rms
= refMark free_vars sel No expr rms
+ refMark free_vars sel _ (IsConstructor expr _ _ _ _ _) rms
+ = refMark free_vars sel No expr rms
refMark free_vars sel _ EE rms
= rms
refMark _ _ _ _ rms
@@ -700,7 +702,6 @@ seqCombineRefCount (RC_Used sec_ref) (RC_Used prim_ref)
make_primary_selections_non_unique []
= []
-
emptyOccurrence type_info =
{ occ_ref_count = RC_Unused
, occ_previous = []
@@ -729,7 +730,6 @@ where
= make_shared_vars_non_unique variables fun_body coercion_env rms_var_heap expr_heap (setErrorAdmin position error)
var_heap = empty_occurrences variables var_heap
= (coercion_env, subst, type_def_infos, var_heap, expr_heap, error)
-
where
clear_occurrences vars subst type_def_infos var_heap expr_heap
= foldSt initial_occurrence vars (subst, type_def_infos, var_heap, expr_heap)