class AS_CLASS_DEF < $AS_NODE
****
The definition of a class.


Ancestors
$AS_NODE $PROG_ERR AS_NODE



Public


Readable Attributes
attr body:$AS_CLASS_ELT;
**** The body of the class.
attr kind:INT;
**** One of imm, ref, abs, ext. if any.
attr name:IDENT;
**** Name of the class. if any.
attr next:T;
**** Pointer to next element in list, if any.
attr over:AS_TYPE_SPEC;
**** List of over children in the type graph.
attr params:AS_PARAM_DEC;
**** List of parameter declarations, if any.
attr source:SFILE_ID;
**** The origin of a node in a Sather source file.
attr under:AS_TYPE_SPEC;
**** List of parents in the type graph.

Writable Attributes
attr body:$AS_CLASS_ELT;
**** The body of the class.
attr kind:INT;
**** One of imm, ref, abs, ext. if any.
attr name:IDENT;
**** Name of the class. if any.
attr next:T;
**** Pointer to next element in list, if any.
attr over:AS_TYPE_SPEC;
**** List of over children in the type graph.
attr params:AS_PARAM_DEC;
**** List of parameter declarations, if any.
attr source:SFILE_ID;
**** The origin of a node in a Sather source file.
attr under:AS_TYPE_SPEC;
**** List of parents in the type graph.

Constants
const abs:INT:=3;
**** Abstract class.
const c_ext:INT:=5;
**** External C class.
const fortran_ext:INT:=6;
**** External Fortran class
const imm:INT:=1;
**** Value class.
const part:INT:=4;
**** Partial class.
const ref:INT:=2;
**** Reference class.
const spr:INT:=7;
**** Spread class (pSather).
const unused:INT:=0;
****

Features
append(l:T)
**** Append the list `l' to the end of the list self. self may not be void but `l' may be.
create: SAME
**** A new object with default initialization.
insert(e:T)
**** Insert the single element `e' after self. Neither may be void, `e.next' must be void.
size:INT
**** The number of elements in the list starting with self. Self may be void.