| class AS_TYPECASE_STMT < $AS_STMT |
|---|
| **** | A "typecase" statement. Parser should put any declaration or assignment in a separate object before this. |
| $AS_STMT | $NEXT{_} | $AS_NODE | $PROG_ERR | AS_STMT | AS_NODE |
| attr else_part:AS_STMT_LIST; |
|---|
| **** | The "else" part. |
| attr name:IDENT; |
|---|
| **** | The local to switch on. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr no_else:BOOL; |
|---|
| **** | True if there is no "else" part. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr surr_stmt_list : AS_STMT_LIST; |
|---|
| attr transformed : BOOL; |
|---|
| attr when_part:AS_TYPECASE_WHEN; |
|---|
| **** | The list of "when" clauses. |
| attr else_part:AS_STMT_LIST; |
|---|
| **** | The "else" part. |
| attr name:IDENT; |
|---|
| **** | The local to switch on. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr no_else:BOOL; |
|---|
| **** | True if there is no "else" part. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr surr_stmt_list : AS_STMT_LIST; |
|---|
| attr transformed : BOOL; |
|---|
| attr when_part:AS_TYPECASE_WHEN; |
|---|
| **** | The list of "when" clauses. |
| 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. |