| class AS_LOCK_IF_WHEN < $AS_NODE |
|---|
| **** | A "if - when" clause of a "lock" statement. The parser should make one of these for each object listed, eg. "if x when a,b,c then". |
| $AS_NODE | $PROG_ERR | AS_NODE |
| attr e_list: $AS_EXPR; |
|---|
| **** | the expressions to be locked. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr then_part:AS_STMT_LIST; |
|---|
| **** | The statements to execute. |
| attr val:$AS_EXPR; |
|---|
| **** | the guard. |
| attr e_list: $AS_EXPR; |
|---|
| **** | the expressions to be locked. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr then_part:AS_STMT_LIST; |
|---|
| **** | The statements to execute. |
| attr val:$AS_EXPR; |
|---|
| **** | the guard. |
| 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. |
| elts_size:INT |
|---|
| 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. |