aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2011-03-17 15:50:27 +0000
committerjohnvg2011-03-17 15:50:27 +0000
commitd9b7ea361dce153cbe189c5854a06a833c9c9ddb (patch)
tree380abfa8dc677e537d0c8260bf918a126ca4d53a /frontend/syntax.dcl
parentremove shorthand and iso functions from generic ranges, (diff)
pass generic info only to instances for OBJECT, CONS and FIELD,
call instance functions for OBJECT, CONS and FIELD directly, with generic info git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1881 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl10
1 files changed, 9 insertions, 1 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index 39af652..22aedd1 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -392,7 +392,15 @@ cNameLocationDependent :== True
:: GenericInfo =
{ gen_classes :: !GenericClassInfos
, gen_var_kinds :: ![TypeKind] // kinds of all st_vars of the gen_type
+ , gen_OBJECT_CONS_FIELD_indices :: !{#OBJECT_CONS_FIELD_index}
}
+
+:: OBJECT_CONS_FIELD_index =
+ { ocf_module :: !Int
+ , ocf_index :: !Int
+ , ocf_ident :: !Ident
+ }
+
:: GenericInfoPtr :== Ptr GenericInfo
:: GenericHeap :== Heap GenericInfo
@@ -550,7 +558,7 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
| GTSAppBimap TypeKind [GenTypeStruct] // for optimizing bimaps
| GTSPair !GenTypeStruct !GenTypeStruct // for optimizing bimaps
| GTSEither !GenTypeStruct !GenTypeStruct // for optimizing bimaps
-
+
:: GenericTypeRep =
{ gtr_type :: GenTypeStruct // generic structure type
, gtr_iso :: !DefinedSymbol // the conversion isomorphism