Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents a field access expression (read access and write access).
#id: id
the unique ID of this field access.
#parent: id
ID of the parent node.
#encl: methodT, constructorT, classInitializerT, classT, fieldT, annotationMemberT, packageT
ID of the fact that represents the enclosing element.
#receiver: expression, staticTypeRefT, 'null'
ID of the expression on which the field is accessed or 'null' for the implicit field access.
In case of an access to a static field #receiver is a staticTypeRefT.
#field: fieldT
ID of the accessed field.
#type: Types, wildcardT, 'null'
Type of the field access (for paramterized types this may differ from the type of the field)
int field = 1; public void fieldAccess() { int j = field; }
fieldT(Field, ..., _, 'field', ...), methodT(Method, ..., 'fieldAccess', ...), localT(Local, ..., 'j', FieldAccess), fieldAccessT(FieldAccess, Local, Method, 'null', Field, RefToInt).
ast_node_type_spec(fieldAccessT,[ ast_arg(id, mult(1,1,no ), id, [fieldAccessT]), ast_arg(parent, mult(1,1,no ), id, [id]), ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT, classT, fieldT, annotationMemberT, packageT]), ast_arg(receiver, mult(0,1,no), id, [nullType, expressionType, staticTypeRefT]), ast_arg(ref, mult(1,1,no ), id, [fieldT]), ast_arg(type, mult(1,1,no ), id, [type_inst, wildcardT, nullType]) ]).