aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorjohnvg2008-01-03 11:00:40 +0000
committerjohnvg2008-01-03 11:00:40 +0000
commit00a4a91911442512e4b752c9b6c28962974162c7 (patch)
tree0bf706f9de40b49748f2c271111f41d44f80cbc8 /backend
parentmake function has_observing_type faster (diff)
move function remove_first_n from backendinterface to containers
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1696 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backend')
-rw-r--r--backend/backendinterface.icl20
1 files changed, 1 insertions, 19 deletions
diff --git a/backend/backendinterface.icl b/backend/backendinterface.icl
index 9b08d0f..aa7bc00 100644
--- a/backend/backendinterface.icl
+++ b/backend/backendinterface.icl
@@ -328,25 +328,7 @@ dictionariesToClasses info type=:{st_args, st_args_strictness, st_arity, st_cont
# (reversedTypes, reversedContexts)
= dictionaryArgsToClasses info st_args ([], [])
# n_contexts = length reversedContexts
- # new_st_args_strictness = remove_first_n_strictness_values n_contexts st_args_strictness
- with
- remove_first_n_strictness_values 0 s
- = s
- remove_first_n_strictness_values _ NotStrict
- = NotStrict
- remove_first_n_strictness_values n (Strict s)
- | n<32
- = Strict (((s>>1) bitand 0x7fffffff)>>(n-1))
- = NotStrict
- remove_first_n_strictness_values n (StrictList s l)
- | n<32
- # s2=case l of
- Strict s -> s
- StrictList s _ -> s
- NotStrict -> 0
- # s=(((s>>1) bitand 0x7fffffff)>>(n-1)) bitor (s2<<(32-n))
- = StrictList s (remove_first_n_strictness_values n l)
- = remove_first_n_strictness_values (n-32) l
+ # new_st_args_strictness = remove_first_n n_contexts st_args_strictness
= {type & st_args = reverse reversedTypes, st_context = reverse reversedContexts,
st_arity = st_arity - n_contexts, st_args_strictness=new_st_args_strictness}