class IFC_ABS_CREATE
****
Create an interface for an abstract type. in the class.


Flattened version is here



Public


Readable Attributes
attr class_sigs:SIG_TBL;
**** Table of signature explicitly in the class.
attr con:TP_CONTEXT;
**** The type context for tp. in the class.
attr supers:FLIST{IFC};
**** Interfaces of supertypes.
attr tp:TP_CLASS;
**** The abstract type it is for. in the class.
attr tr:AS_CLASS_DEF;
**** The definition tree for tp. in the class.

Writable Attributes
attr class_sigs:SIG_TBL;
**** Table of signature explicitly in the class.
attr con:TP_CONTEXT;
**** The type context for tp. in the class.
attr supers:FLIST{IFC};
**** Interfaces of supertypes.
attr tp:TP_CLASS;
**** The abstract type it is for. in the class.
attr tr:AS_CLASS_DEF;
**** The definition tree for tp. in the class.

Features
do_explicit_class_sigs
**** Compute `class_sigs'.
do_sigs:SIG_TBL
**** The final sig table assuming everything else has been computed.
do_supers
**** Compute `supers'.
ifc_of(t:TP_CLASS):IFC
**** Compute the interface of the abstract type `t'.
prog:PROG
**** The program this belongs to.