SDA SE WikiSoftware Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
An arrayTypeT is used as indicator fact for the dimension of the referenced type. It is a child from the referencing fact.
#id: id
the unique ID assigned to this fact.
#parent: id
the ID of the fact that represents the parent of this fact in the prolog AST.
#type: typeRefT, parameterizedTypeT
the ID of the referenced type.
'dim': number
the dimension of the array.
int[] m() {
...
}
methodT(#meth, ..., 'm', [], #arraytype, [], ...). arrayTypeT(#arraytype, #meth, #typeref, 1). typeRefT(#typeref, #arraytype, #meth, #int). basicTypeT(#int, int).
ast_node_def('Java', arrayTypeT,[
ast_arg(id, mult(1,1,no ), id, [arrayTypeT]),
ast_arg(parent, mult(1,1,no ), id, [id]),
ast_arg(type, mult(1,1,no ), id, [typeRefT,parameterizedTypeT]),
ast_arg(dim, mult(1,1,no ), attr, [number])
]).