Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents local variable declaration.
#id: id
the unique ID assigned to this fact.
#parent: id
ID of the parent node.
#encl: methodT, constructorT, classInitializerT
ID of the enclosing element.
TYPE: typeterm
type of the variable
'name': atom
variable name.
#init: expression, null
ID of the initializer of this variable declaration.
void myFunction(){ int i = 0;//corresponding code line to localT }
methodT(#enclMethod, ..., 'myFunction', [], type(basic, void, 0), [], #parent). blockT(#parent, #enclMethod, #enclMethod, [#id]). localT(#id, #parent, #enclMethod, type(basic, int, 0), 'i', #init). literalT(#init, #id, #enclMethod, type(basic, int, 0), '0').
ast_node_def('Java',localT,[ ast_arg(id, mult(1,1,no ), id, [localT]), % <-- convention!!! ast_arg(parent, mult(1,1,no ), id, [id]), ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT]), ast_arg(type, mult(1,1,no ), attr,[typeTermType]), ast_arg(name, mult(1,1,no ), attr,[atom]), ast_arg(expr, mult(0,1,no), id, [expressionType,nullType]) ]).