aboutsummaryrefslogtreecommitdiff
path: root/frontend/analtypes.dcl
diff options
context:
space:
mode:
authorsjakie2001-09-24 12:08:09 +0000
committersjakie2001-09-24 12:08:09 +0000
commitce6a6debd9e141c0bc8d3ac0ae25b81a73560692 (patch)
treea0e76559aeb5672c6204cac1ad23323c7db5f915 /frontend/analtypes.dcl
parentcall to frontend adjusted (diff)
removed kind correctness checking module
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@803 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/analtypes.dcl')
-rw-r--r--frontend/analtypes.dcl12
1 files changed, 11 insertions, 1 deletions
diff --git a/frontend/analtypes.dcl b/frontend/analtypes.dcl
index 22b25d3..96f8d2d 100644
--- a/frontend/analtypes.dcl
+++ b/frontend/analtypes.dcl
@@ -7,4 +7,14 @@ partionateAndExpandTypes :: !NumberSet !Index !*CommonDefs !*{#DclModule} !*Type
:: TypeGroups :== [[GlobalIndex]]
-analyseTypeDefs :: !{#CommonDefs} !TypeGroups !*TypeDefInfos !*TypeHeaps !*ErrorAdmin -> (!*TypeDefInfos, !*TypeHeaps, !*ErrorAdmin)
+analyseTypeDefs :: !{#CommonDefs} !TypeGroups !*TypeDefInfos !*TypeVarHeap !*ErrorAdmin -> (!*TypeDefInfos, !*TypeVarHeap, !*ErrorAdmin)
+
+determineKindsOfClasses :: !NumberSet !{#CommonDefs} !*TypeDefInfos !*TypeVarHeap !*ErrorAdmin
+ -> (!*ClassDefInfos, !*TypeDefInfos, !*TypeVarHeap, !*ErrorAdmin)
+
+checkKindsOfCommonDefsAndFunctions :: !Index !Index !NumberSet !IndexRange !{#CommonDefs} !u:{# FunDef} !v:{#DclModule} !*TypeDefInfos !*ClassDefInfos
+ !*TypeVarHeap !*ErrorAdmin -> (!u:{# FunDef}, !v:{#DclModule}, !*TypeDefInfos, !*TypeVarHeap, !*ErrorAdmin)
+
+isATopConsVar cv :== cv < 0
+encodeTopConsVar cv :== dec (~cv)
+decodeTopConsVar cv :== ~(inc cv)