aboutsummaryrefslogtreecommitdiff
path: root/frontend/checksupport.dcl
diff options
context:
space:
mode:
authoralimarin2002-03-25 15:04:33 +0000
committeralimarin2002-03-25 15:04:33 +0000
commit5ed289050bba7924972700181478cb22e9d69c70 (patch)
tree43d0c8ebe33e14ad0d4f637ddae3de94acd7bf07 /frontend/checksupport.dcl
parentfix version number (diff)
new implementation of generics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1062 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checksupport.dcl')
-rw-r--r--frontend/checksupport.dcl16
1 files changed, 11 insertions, 5 deletions
diff --git a/frontend/checksupport.dcl b/frontend/checksupport.dcl
index c96b9f7..cefb3ee 100644
--- a/frontend/checksupport.dcl
+++ b/frontend/checksupport.dcl
@@ -22,6 +22,7 @@ cNeedStdStrictLists :== 16
{ hp_var_heap ::!.VarHeap
, hp_expression_heap ::!.ExpressionHeap
, hp_type_heaps ::!.TypeHeaps
+ , hp_generic_heap ::!.GenericHeap
}
:: ErrorAdmin = { ea_file :: !.File, ea_loc :: ![IdentPos], ea_ok :: !Bool }
@@ -42,11 +43,12 @@ cSelectorDefs :== 2
cClassDefs :== 3
cMemberDefs :== 4
cGenericDefs :== 5
-cInstanceDefs :== 6
-cFunctionDefs :== 7
-cMacroDefs :== 8
+cGenericCaseDefs :== 6
+cInstanceDefs :== 7
+cFunctionDefs :== 8
+cMacroDefs :== 9
-cConversionTableSize :== 9
+cConversionTableSize :== 10
:: CommonDefs =
{ com_type_defs :: !.{# CheckedTypeDef}
@@ -55,7 +57,8 @@ cConversionTableSize :== 9
, com_class_defs :: !.{# ClassDef}
, com_member_defs :: !.{# MemberDef}
, com_instance_defs :: !.{# ClassInstance}
- , com_generic_defs :: !.{# GenericDef}
+ , com_generic_defs :: !.{# GenericDef} // AA
+ , com_gencase_defs :: !.{# GenericCaseDef} // AA
}
:: Declarations = {
@@ -81,6 +84,7 @@ cConversionTableSize :== 9
:: CopiedDefinitions =
{ copied_type_defs :: {#Bool}
, copied_class_defs :: {#Bool}
+ , copied_generic_defs :: {#Bool}
}
:: IclModule =
@@ -89,6 +93,7 @@ cConversionTableSize :== 9
, icl_global_functions :: ![IndexRange]
, icl_instances :: ![IndexRange]
, icl_specials :: !IndexRange
+ , icl_gencases :: ![IndexRange]
, icl_common :: !.CommonDefs
, icl_import :: !{!Declaration}
, icl_imported_objects :: ![ImportedObject]
@@ -105,6 +110,7 @@ cConversionTableSize :== 9
, dcl_instances :: !IndexRange
, dcl_macros :: !IndexRange
, dcl_specials :: !IndexRange
+ , dcl_gencases :: !IndexRange
, dcl_common :: !CommonDefs
, dcl_sizes :: !{# Int}
, dcl_dictionary_info :: !DictionaryInfo