class TP_ROUT < $TP
****
Representation of bound routine types.


Ancestors
$TP $HASH $IS_EQ $STR
$IS_LT{_} $CALL_TP TP



Public


Readable Attributes
attr args:ARRAY{ARG};
**** Specifiers for the arguments in order, void if none. proc. calls
attr is_remote:BOOL;
**** used by pSather for remote proc. calls
attr prog:PROG;
**** This type's program object.
attr ret:$TP;
**** The return type, void if none. proc. calls

Writable Attributes
attr args:ARRAY{ARG};
**** Specifiers for the arguments in order, void if none. proc. calls
attr is_remote:BOOL;
**** used by pSather for remote proc. calls
attr prog:PROG;
**** This type's program object.
attr ret:$TP;
**** The return type, void if none. proc. calls

Features
as:AS_TYPE_SPEC
create(args:ARRAY{ARG}, ret:$TP, prog:PROG):SAME
**** A bound routine type object with the specified attributes.
has_ret:BOOL
**** True if self has a return value.
hash:INT
ifc: IFC
impl:IMPL
is_abstract:BOOL
is_atomic:BOOL
**** Conservative answer
is_bound:BOOL
is_builtin:BOOL
**** Conservative answer
is_eq(t:$OB):BOOL
**** Equality note: changed from $CALL_TP True if self equals `t'.
is_external:BOOL
**** True if one of external types
is_immutable:BOOL
**** True if an immutable type.
is_lt(t:$CALL_TP):BOOL
**** True if self is less than `t' in a canonical (arbitrary) ordering.
is_neq(t:$OB):BOOL
**** Equality note: changed from $CALL_TP True if self is not equal to `t'.
is_partial:BOOL
**** True if partial class
is_reference_free:BOOL
**** Conservative answer
is_subtype(t:$CALL_TP):BOOL
**** True if self is a subtype of `t'.
kind:INT
**** The kind of this type.
str:STR
**** The string version of the type represented by self. Uses no whitespace, eg: "ROUT{A,B{C},outD}:E".


Private

attr my_ifc: IFC;
attr my_ifc: IFC;
attr sas_cache:STR;
**** Cache for string representation.
attr sas_cache:STR;
**** Cache for string representation.