From 5ed289050bba7924972700181478cb22e9d69c70 Mon Sep 17 00:00:00 2001 From: alimarin Date: Mon, 25 Mar 2002 15:04:33 +0000 Subject: new implementation of generics git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1062 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/checksupport.dcl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'frontend/checksupport.dcl') 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 -- cgit v1.2.3