aboutsummaryrefslogtreecommitdiff
path: root/frontend/typereify.dcl
blob: d2ea06cf9654905343923c8c489082365e7f9a42 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
definition module typereify

from general import ::Optional
from syntax import
	::Ident, ::FunDef, ::IndexRange, ::TypeHeaps,
	::SymbolTable, ::SymbolTableEntry, ::Heap,
	::DclModule, ::CommonDefs, ::CheckedTypeDef, ::TypeDef, ::TypeRhs, ::ClassDef, ::VarHeap, ::VarInfo
from predef import
	::PredefinedSymbols, ::PredefinedSymbol

addDclTypeFunctions :: !Int !*{#DclModule} !*PredefinedSymbols !*VarHeap !*SymbolTable
						-> (!*{#DclModule},!*PredefinedSymbols,!*VarHeap,!*SymbolTable)

addIclTypeFunctions :: !Int !Int !*{#FunDef} !*{#CheckedTypeDef} !*{#ClassDef} !*PredefinedSymbols !*VarHeap !*SymbolTable
				 -> (!IndexRange,!*{#FunDef},!*{#CheckedTypeDef},!*{#ClassDef},!*PredefinedSymbols,!*VarHeap,!*SymbolTable)

buildTypeFunctions :: !Int !*{#FunDef} !{#CommonDefs} !*PredefinedSymbols !*VarHeap !*TypeHeaps
									  -> (!*{#FunDef},!*PredefinedSymbols,!*VarHeap,!*TypeHeaps)