diff options
author | alimarin | 2002-03-25 15:04:33 +0000 |
---|---|---|
committer | alimarin | 2002-03-25 15:04:33 +0000 |
commit | 5ed289050bba7924972700181478cb22e9d69c70 (patch) | |
tree | 43d0c8ebe33e14ad0d4f637ddae3de94acd7bf07 /frontend/genericsupport.dcl | |
parent | fix 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/genericsupport.dcl')
-rw-r--r-- | frontend/genericsupport.dcl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/frontend/genericsupport.dcl b/frontend/genericsupport.dcl new file mode 100644 index 0000000..670979c --- /dev/null +++ b/frontend/genericsupport.dcl @@ -0,0 +1,32 @@ +definition module genericsupport + +import syntax, checksupport + +lookupGenericClassInfo :: + !TypeKind + !GenericClassInfos + -> !(Optional GenericClassInfo) + +addGenericClassInfo :: + !GenericClassInfo + !GenericClassInfos + -> !GenericClassInfos + +getGenericMember :: + !(Global Index) // generic + !TypeKind // kind argument + !{#CommonDefs} // modules + !*GenericHeap + -> + ( Optional (Global Index) + , !*GenericHeap + ) + +//**************************************************************************************** +// Ident Helpers +//**************************************************************************************** +makeIdent :: !String -> !Ident +postfixIdent :: !Ident !String -> !Ident +genericIdentToClassIdent :: !Ident !TypeKind -> !Ident +genericIdentToMemberIdent :: !Ident !TypeKind -> !Ident +genericIdentToFunIdent :: !Ident !TypeCons -> !Ident |