aboutsummaryrefslogtreecommitdiff
path: root/frontend/checkgenerics.dcl
diff options
context:
space:
mode:
authorjohnvg2010-07-06 10:22:14 +0000
committerjohnvg2010-07-06 10:22:14 +0000
commit8362a2da8f1baa6643e0aa4f80b209b0a513d23f (patch)
tree1e447d7e81f5b3f548a89e5c522b7ea4effdf11a /frontend/checkgenerics.dcl
parentdont pass icl functions array to/from checkDclMacros, (diff)
move some functions from module check to new module checkgenerics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1793 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checkgenerics.dcl')
-rw-r--r--frontend/checkgenerics.dcl16
1 files changed, 16 insertions, 0 deletions
diff --git a/frontend/checkgenerics.dcl b/frontend/checkgenerics.dcl
new file mode 100644
index 0000000..18c0281
--- /dev/null
+++ b/frontend/checkgenerics.dcl
@@ -0,0 +1,16 @@
+definition module checkgenerics
+
+import syntax
+from checksupport import ::Heaps,::CheckState
+
+checkGenericDefs :: !Index !(Optional (CopiedDefinitions, Int))
+ !*{#GenericDef} !*{#CheckedTypeDef} !*{#ClassDef} !*{#DclModule} !*Heaps !*CheckState
+ -> (!*{#GenericDef},!*{#CheckedTypeDef},!*{#ClassDef},!*{#DclModule},!*Heaps,!*CheckState)
+
+checkGenericCaseDefs :: !Index !*{#GenericCaseDef} !*{#GenericDef} !u:{#CheckedTypeDef} !*{#DclModule} !*Heaps !*CheckState
+ -> (!*{#GenericCaseDef},!*{#GenericDef},!u:{#CheckedTypeDef},!*{#DclModule},!.Heaps,!.CheckState)
+
+convert_generic_instances :: !.[GenericCaseDef] !Int -> (!.[FunDef], !.[GenericCaseDef])
+
+create_gencase_funtypes :: !Index !*{#GenericCaseDef} !*Heaps
+ -> (!Index, ![FunType], !*{#GenericCaseDef},!*Heaps)