| class IMPL_CREATE |
|---|
| **** | An object used while creating an interface. |
| attr as:AS_CLASS_DEF; |
|---|
| **** | The definition tree for tp. defined by this class. computed from each include clause. |
| attr class_elts:ELT_TBL; |
|---|
| **** | Table of the elements explicitly defined by this class. computed from each include clause. |
| attr con:TP_CONTEXT; |
|---|
| **** | The type context for tp. defined by this class. computed from each include clause. |
| attr incs:FLIST{IMPL_INCLUDE}; |
|---|
| **** | A list of information computed from each include clause. |
| attr is_external:BOOL; |
|---|
| **** | True if an external class. defined by this class. computed from each include clause. |
| attr tp:TP_CLASS; |
|---|
| **** | The type it is for. defined by this class. computed from each include clause. |
| attr as:AS_CLASS_DEF; |
|---|
| **** | The definition tree for tp. defined by this class. computed from each include clause. |
| attr class_elts:ELT_TBL; |
|---|
| **** | Table of the elements explicitly defined by this class. computed from each include clause. |
| attr con:TP_CONTEXT; |
|---|
| **** | The type context for tp. defined by this class. computed from each include clause. |
| attr incs:FLIST{IMPL_INCLUDE}; |
|---|
| **** | A list of information computed from each include clause. |
| attr is_external:BOOL; |
|---|
| **** | True if an external class. defined by this class. computed from each include clause. |
| attr tp:TP_CLASS; |
|---|
| **** | The type it is for. defined by this class. computed from each include clause. |
| array_conflict_err(inc:IMPL_INCLUDE, a1,a2:TP_CLASS) |
|---|
| attr_conflict_err(e,f:ELT, inc:IMPL_INCLUDE) |
|---|
| create_for_tp_class(t:TP_CLASS): IMPL |
|---|
| **** | Computes the implementation of type 't'. |
| do_incs |
|---|
| **** | Compute and fill in `incs' with information computed from each include statement in `tp'. |
| elt_tbl:ELT_TBL |
|---|
| **** | Compute the final element table for the class. Print an error if there is a conflict. |
| explicit_class_elts:ELT_TBL |
|---|
| **** | A table of class elements explicit defined in the class (i.e. ignoring "include" clauses). Prints an error if features with conflicting signatures are defined. |
| ext_conflict_err(er,f:ELT) |
|---|
| get_arr:TP_CLASS |
|---|
| **** | If we include AREF{T} or AVAL{T} or any class which includes one of these return it. If we include more than one and they are different, then print an error. |
| impl_of(t:TP_CLASS,context:TP_CONTEXT):IMPL |
|---|
| **** | Compute the implementation of the type `t'. |
| include_conflict_err(inc,inc2:IMPL_INCLUDE, e,g:ELT) |
|---|
| prog:PROG |
|---|
| **** | The program this belongs to. |
| reader_conflict_err(er,f:ELT) |
|---|
| reader_elt_for(t:$AS_CLASS_ELT):ELT |
|---|
| **** | The "reader" elt corresponding to `t' if there is one, void if not. |
| undef_stub_err(e:ELT, inc:IMPL_INCLUDE) |
|---|
| writer_conflict_err(ew,f:ELT) |
|---|
| writer_elt_for(t:$AS_CLASS_ELT):ELT |
|---|
| **** | The "writer" elt corresponding to `t' if there is one, void if not. |