class AM_STMT_EXPR < $AM_EXPR
****
An expression with embedded statements.


Ancestors
$AM_EXPR $HASH $IS_EQ $AM
$PROG_ERR AM_EXPR AM



Public


Readable Attributes
attr bits:FLIST{AM_BND_ITER_CALL_EXPR};
attr calls:FLIST{$AM_EXPR};
**** The calls that occur in the statements. Append this to the enclosing loop statement's corresponding fields.
attr expr:$AM_EXPR;
**** The expression. other code, this code may still be stored here for reference (used for inlined functions)
attr firsts:FLIST{AM_LOCAL_EXPR};
attr its:FLIST{AM_ITER_CALL_EXPR};
attr locals:FLIST{AM_LOCAL_EXPR};
**** Local variables stmts need. Append this to the enclosing loop statement's corresponding fields.
attr replaced:$AM_EXPR;
**** If this stmt_expr replaced some other code, this code may still be stored here for reference (used for inlined functions)
attr source:SFILE_ID;
**** Information identifying the origin of a node in Sather source. It encodes the file and the character offset of the originating construct.
attr stmts:$AM_STMT;
**** The statements to execute. other code, this code may still be stored here for reference (used for inlined functions)

Writable Attributes
attr bits:FLIST{AM_BND_ITER_CALL_EXPR};
attr calls:FLIST{$AM_EXPR};
**** The calls that occur in the statements. Append this to the enclosing loop statement's corresponding fields.
attr expr:$AM_EXPR;
**** The expression. other code, this code may still be stored here for reference (used for inlined functions)
attr firsts:FLIST{AM_LOCAL_EXPR};
attr its:FLIST{AM_ITER_CALL_EXPR};
attr locals:FLIST{AM_LOCAL_EXPR};
**** Local variables stmts need. Append this to the enclosing loop statement's corresponding fields.
attr replaced:$AM_EXPR;
**** If this stmt_expr replaced some other code, this code may still be stored here for reference (used for inlined functions)
attr source:SFILE_ID;
**** Information identifying the origin of a node in Sather source. It encodes the file and the character offset of the originating construct.
attr stmts:$AM_STMT;
**** The statements to execute. other code, this code may still be stored here for reference (used for inlined functions)

Features
copy:$AM_EXPR
**** does not copy the stuff used for inlining !
create(source:SFILE_ID):SAME
**** A new object for the location `source' with default initialization.
hash:INT
is_eq(a:$OB):BOOL
**** Equality note: changed from "a:$AM_EXPR".
is_neq(a:$OB):BOOL
tp:$TP