diff options
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 136363e..e6baf30 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -292,7 +292,6 @@ cNameLocationDependent :== True , gen_type :: !SymbolType // Generic type (st_vars include generic type vars) , gen_vars :: ![TypeVar] // Generic type variables , gen_info_ptr :: !GenericInfoPtr - , gen_bimap :: !DefinedSymbol // fun def index of the bimap for the generic type } :: GenericClassInfo = @@ -457,8 +456,17 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex} } // AA.. +// type structure is used to specialize a generic to a type +:: GenTypeStruct + = GTSAppCons TypeKind [GenTypeStruct] + | GTSAppVar TypeVar [GenTypeStruct] + | GTSVar TypeVar + | GTSCons DefinedSymbol GenTypeStruct + | GTSField DefinedSymbol GenTypeStruct + | GTSE + :: GenericTypeRep = - { gtr_type :: AType // generic structure type + { gtr_type :: GenTypeStruct // generic structure type , gtr_iso :: DefinedSymbol // the conversion isomorphism } // ..AA |