SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



getFieldT(#id, #parent, #encl, #receiver, #field)

Represents a field access expression (read access and write access).

History
  • Removed “name” argument in JTransformer 4.0

Arguments

#id: id
the unique ID of this field access.

#parent: id
ID of the parent node.

#encl: methodT, constructorT, classInitializerT, fieldT, annotationMemberT, annotationT
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 #expr is a staticTypeRefT.

#field: fieldT, null
ID of the accessed field.
The value null is only valid if the accessed field is the “length” field of an array.

Sample Java Code

int field = 1;

public void getField() {
     int j = field;
}

Its PEF Representation

fieldT(#field, ..., #fieldtype, 'field', ...).

methodT(#encl, ..., 'getField', [], #returntype, [], ...).
localT(#parent, ..., #encl, #localtype, 'j', #id).
getFieldT(#id, #parent, #encl, 'null', #field).


AST Specification

ast_node_def('Java',getFieldT,[
     ast_arg(id,      mult(1,1,no ), id,   [getFieldT]),
     ast_arg(parent,  mult(1,1,no ), id,   [id]),
     ast_arg(encl,    mult(1,1,no ), id,   [methodT, constructorT, classInitializerT, fieldT, annotationMemberT, annotationT]),
     ast_arg(expr,    mult(0,1,no ), id,   [nullType,expressionType,staticTypeRefT]),
     ast_arg(ref,     mult(1,1,no ), id,   [fieldT,nullType])
]).
research/jtransformer/api/java/pefs/4.0/getfieldt.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019