class ABSTRACT_LAYOUT < $LAYOUT |
---|
**** | A layout corresponding to a Sather abstract type. Note that the layout of the abstract iter dispatch tables depends on the iter yield value layout (if any)
For all abstract iters in it is also necessary to generate typedefs for iter dispatch table entries as they are different from the function dispatch table |
$LAYOUT | $STR | TP_LAYOUT |
attr dependencies:FLIST{$LAYOUT}; |
---|
attr prog:PROG; |
---|
attr str:STR; |
---|
attr dependencies:FLIST{$LAYOUT}; |
---|
attr prog:PROG; |
---|
shared layouts:FSET{SAME}; |
---|
**** | Registry of all layouts of this type |
shared layouts:FSET{SAME}; |
---|
**** | Registry of all layouts of this type |
create(tp:$TP):SAME |
---|
create(tp:$TP,p:PROG):SAME |
---|
makestr:STR |
---|
sorted_fields(map:FMAP{IDENT,$TP}):LAYOUT_ARR |
---|
typedef(c:CGEN):STR |
---|
make_dependencies |
---|
attr str:STR; |
---|
attr tp:$TP; |
---|
**** | The type this layout is for |
attr tp:$TP; |
---|
**** | The type this layout is for |