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".


Ancestors
$AS_NODE $PROG_ERR AS_NODE



Public


Readable Attributes
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.

Writable Attributes
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.

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.
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.