SDA SE WikiSoftware Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents the assignment expression.
#id: id
the unique ID assigned to this fact.
#parent: id
the ID of the parent node.
#encl: methodT, constructorT, classInitializerT, fieldT
the ID of the fact that represents the enclosing element.
#lhs: getFieldT, identT, indexedT
ID of the left hand side of this assignment expression.
#exprt: expression
ID of the right hand side expression.
void assign(){
int i = 5;
int j = 9;
i = i + j; //corresponding code line to assignT
}
assignT(#id, #parent, #encl, #lhs, #expr). execT(#parent, ..., #encl, #id). methodT(#encl, ..., 'assign', [], type(basic, void, 0), [], ...). identT(#lhs, #id, #encl, 'i', ...). operationT(#expr, #id, #encl, [..., ...], '+', 0).
ast_node_def('Java',assignT,[
ast_arg(id, mult(1,1,no ), id, [assignT]), % <-- convention!!!
ast_arg(parent, mult(1,1,no ), id, [id]), % <-- convention!!!
ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT, fieldT]),
ast_arg(lhs, mult(1,1,no ), id, [getFieldT, identT, indexedT]),
ast_arg(expr, mult(1,1,no ), id, [expressionType])
]).