| class AS_CALL_EXPR < $AS_EXPR |
|---|
| **** | Expressions which directly make a call. The parser should convert sugar expressions into these as well (except for /= which should be converted into an "=" expression and a call on "not"). |
| $AS_EXPR | $NEXT{_} | $AS_NODE | $PROG_ERR | AS_EXPR | AS_NODE |
| attr args:$AS_EXPR; |
|---|
| **** | The arguments, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr flip:BOOL; |
|---|
| **** | True if need to flip order of evaluation of arguments because orginated in a ">" or "<=" sugar expr. |
| attr is_array:BOOL; |
|---|
| **** | True if this is a call with square brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr modes: AS_ARG_MODE; |
|---|
| **** | Modes of these arguments (if present) brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr name:IDENT; |
|---|
| **** | The name of the call. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr ob:$AS_EXPR; |
|---|
| **** | The expr the call is made on, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr tp:AS_TYPE_SPEC; |
|---|
| **** | The class the call is made on, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr args:$AS_EXPR; |
|---|
| **** | The arguments, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr flip:BOOL; |
|---|
| **** | True if need to flip order of evaluation of arguments because orginated in a ">" or "<=" sugar expr. |
| attr is_array:BOOL; |
|---|
| **** | True if this is a call with square brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr modes: AS_ARG_MODE; |
|---|
| **** | Modes of these arguments (if present) brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr name:IDENT; |
|---|
| **** | The name of the call. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr next:T; |
|---|
| **** | Pointer to next element in list, if any. |
| attr ob:$AS_EXPR; |
|---|
| **** | The expr the call is made on, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| attr source:SFILE_ID; |
|---|
| **** | The origin of a node in a Sather source file. |
| attr tp:AS_TYPE_SPEC; |
|---|
| **** | The class the call is made on, if any. brackets. "a(1,2)[3,4]" gets turned into 2 AS_CALL_EXPR objects, one for a(1,2), and one for [3,4]. of arguments because orginated in a ">" or "<=" sugar expr. |
| append(l:T) |
|---|
| **** | Append the list `l' to the end of the list self. self may not be void but `l' may be. |
| args_size:INT |
|---|
| 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. |