class IMPL_CREATE
****
An object used while creating an interface.


Flattened version is here



Public


Readable Attributes
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.

Writable Attributes
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.

Features
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.