class AM_ATTR_EXPR < $AM_EXPR
****
An expression referencing an attribute of an object.


Flattened version is here

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



Public


Readable Attributes
attr as_type : AS_TYPE_SPEC;
attr at:IDENT;
**** The name of the attribute. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr ob:$AM_EXPR;
**** The object. after inlining. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr secure:BOOL;
**** if true, the generated code will not break if ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr self_tp:$TP;
**** The type of self, perhaps different from ob.tp after inlining. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr tp_at:$TP;
**** The type. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.

Writable Attributes
attr as_type : AS_TYPE_SPEC;
attr at:IDENT;
**** The name of the attribute. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr ob:$AM_EXPR;
**** The object. after inlining. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr secure:BOOL;
**** if true, the generated code will not break if ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr self_tp:$TP;
**** The type of self, perhaps different from ob.tp after inlining. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.
attr tp_at:$TP;
**** The type. ob is NULL. This is used when evaluating some hoisted expressions and never if void check is used.

Features
copy:$AM_EXPR
hash:INT
is_eq(a:$OB):BOOL
**** Changed argument from $AM_EXPR
tp:$TP