| class XFORM_CODE |
|---|
| attr after_yield:$AM_STMT; |
|---|
| attr calls:FLIST{$AM_EXPR}; |
|---|
| **** | Calls made out of the body. |
| attr if_encl_yield:AM_IF_STMT; |
|---|
| **** | True if the yield is in the then branch. |
| attr loop_stmt:AM_LOOP_STMT; |
|---|
| **** | The loop we stopped inside. |
| attr new_loop_stmt:AM_LOOP_STMT; |
|---|
| **** | When transforming stuff inside a loop. |
| attr record_calls:BOOL; |
|---|
| **** |
| attr return_val:$AM_EXPR; |
|---|
| **** | Value returned in the code. |
| attr true_br_yield:BOOL; |
|---|
| **** | The statements following the yield. |
| attr yield_val:$AM_EXPR; |
|---|
| **** | Ditto for iterators. |
| attr new_loop_stmt:AM_LOOP_STMT; |
|---|
| **** | When transforming stuff inside a loop. |
| attr record_calls:BOOL; |
|---|
| **** |
| create (subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}):SAME |
|---|
| xform_expr (expr:$AM_EXPR):$AM_EXPR |
|---|
| xform_stmt (stmt:$AM_STMT):$AM_STMT |
|---|
| xform_stmt_list (code:$AM_STMT):$AM_STMT |
|---|
| attr after_yield:$AM_STMT; |
|---|
| attr calls:FLIST{$AM_EXPR}; |
|---|
| **** | Calls made out of the body. |
| attr enclosing_if:AM_IF_STMT; |
|---|
| attr enclosing_if:AM_IF_STMT; |
|---|
| attr if_encl_yield:AM_IF_STMT; |
|---|
| **** | True if the yield is in the then branch. |
| attr loop_stmt:AM_LOOP_STMT; |
|---|
| **** | The loop we stopped inside. |
| attr return_val:$AM_EXPR; |
|---|
| **** | Value returned in the code. |
| attr subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| attr subst:FMAP{AM_LOCAL_EXPR,AM_LOCAL_EXPR}; |
|---|
| attr true_br_yield:BOOL; |
|---|
| **** | The statements following the yield. |
| attr true_branch:BOOL; |
|---|
| **** | The if statement containing the yield, if any. |
| attr true_branch:BOOL; |
|---|
| **** | The if statement containing the yield, if any. |
| attr yield_val:$AM_EXPR; |
|---|
| **** | Ditto for iterators. |