diff options
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 1282891..4efb005 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -362,7 +362,7 @@ cNameLocationDependent :== True :: ClassDefInfos :== {# .{! [TypeKind]}} :: MemberDef = - { me_ident :: !Ident + { me_ident :: !Ident , me_class :: !Global Index , me_offset :: !Index , me_type :: !SymbolType @@ -373,7 +373,7 @@ cNameLocationDependent :== True } :: GenericDef = - { gen_ident :: !Ident // the generics name in IC_Generic + { gen_ident :: !Ident // the generics name in IC_Generic , gen_member_ident :: !Ident // the generics name in IC_Expression , gen_pos :: !Position , gen_type :: !SymbolType // Generic type (st_vars include generic type vars) @@ -872,7 +872,6 @@ cNonRecursiveAppl :== False /* OverloadedCall contains (type) information about functions that are overloaded. This structure is built during type checking and used after (standard) unification to insert the proper instances of the corresponding functions. - */ :: OverloadedCall = @@ -887,7 +886,7 @@ cNonRecursiveAppl :== False ct_result_type : the type of the result (of each pattern) ct_cons_types : the types of the arguments of each pattern constructor */ - + :: CaseType = { ct_pattern_type :: !AType , ct_result_type :: !AType @@ -938,18 +937,16 @@ cNonRecursiveAppl :== False , tc_var :: !VarInfoPtr } -//AA: class in a type context is either normal class or a generic class :: TCClass = TCClass !(Global DefinedSymbol) // Normal class | TCGeneric !GenericTypeContext // Generic class | TCQualifiedIdent !Ident !String -:: GenericTypeContext = - { gtc_generic :: !(Global DefinedSymbol) +:: GenericTypeContext = + { gtc_generic :: !Global DefinedSymbol , gtc_kind :: !TypeKind - , gtc_class :: !(Global DefinedSymbol) // generated class - , gtc_dictionary:: !(Global DefinedSymbol) // HACK: dictionary different from the one contained in the class + , gtc_class :: !Global DefinedSymbol // generated class + , gtc_generic_dict :: !GlobalIndex // HACK: dictionary different from the one contained in the class } -//..AA :: AType = { at_attribute :: !TypeAttribute @@ -973,7 +970,6 @@ cNonRecursiveAppl :== False | GTV !TypeVar | TV !TypeVar | TempV !TempVarId /* Auxiliary, used during type checking */ - | TQV TypeVar | TempQV !TempVarId /* Auxiliary, used during type checking */ @@ -981,6 +977,8 @@ cNonRecursiveAppl :== False | TLifted !TypeVar /* Auxiliary, used during type checking of lifted arguments */ | TQualifiedIdent !Ident !String ![AType] + | TGenericFunctionInDictionary !(Global DefinedSymbol) !TypeKind !GlobalIndex /*GenericDict*/ + | TE :: ConsVariable = CV !TypeVar |