| class TP_CLASS < $TP |
|---|
| **** | Representation of reference, immutable, abstract, and external types. |
| $TP | $HASH | $IS_EQ | $STR | $IS_LT{_} | $CALL_TP | TP |
| attr is_atomic:BOOL; |
|---|
| attr is_builtin:BOOL; |
|---|
| attr name:IDENT; |
|---|
| **** | The name of the type. parameters in order, void if none. |
| attr params:ARRAY{$TP}; |
|---|
| **** | Specifiers for the type parameters in order, void if none. |
| attr name:IDENT; |
|---|
| **** | The name of the type. parameters in order, void if none. |
| attr params:ARRAY{$TP}; |
|---|
| **** | Specifiers for the type parameters in order, void if none. |
| as:AS_TYPE_SPEC |
|---|
| create(name:IDENT, params:ARRAY{$TP}, prog:PROG):SAME |
|---|
| **** | A class type object with the specified attributes. |
| ifc: IFC |
|---|
| impl: IMPL |
|---|
| **** | Creates the implementation of this class. Does nothing if already computed. Test for cyclic implementation contruction with include clauses. |
| is_abstract:BOOL |
|---|
| **** | True if self is abstract. |
| is_bound:BOOL |
|---|
| **** | Returns false. |
| is_reference_free:BOOL |
|---|
| **** | mbk |
| is_subtype(t:$CALL_TP):BOOL |
|---|
| **** | True if self is a subtype of `t'. |
| kind:INT |
|---|
| **** | One of TP_KIND::missing_tp, TP_KIND::val_tp, TP_KIND::ref_tp, TP_KIND::abs_tp, TP_KIND::ext_c_tp, TP_KIND::ext_fortran_tp, pSather: AS_KIND::spr_tp TP_KIND::rout_tp, TP_KIND::iter_tp. |
| str:STR |
|---|
| **** | The string version of the type represented by self. Uses no whitespace, eg: "FOO{A,B{C},D}". |
| tp_context_for:TP_CONTEXT |
|---|
| **** | The type context appropriate for the body of `self'. Void if `self' is not a known type. |
| attr is_atomic:BOOL; |
|---|
| attr is_builtin:BOOL; |
|---|
| attr kind_cache:INT; |
|---|
| **** | Cache for the kind of class this is |
| attr kind_cache:INT; |
|---|
| **** | Cache for the kind of class this is |
| attr my_impl: IMPL; |
|---|
| **** | The implementation of this type. |
| attr my_impl: IMPL; |
|---|
| **** | The implementation of this type. |
| pnames:ARRAY{IDENT} |
|---|
| **** | An array of the parameter names for the type `self'. Void if none. |
| attr sas_cache:STR; |
|---|
| **** | Cache for string representation. |
| attr sas_cache:STR; |
|---|
| **** | Cache for string representation. |