SDA SE WikiSoftware Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
This fact is created for explicitly instantiated type parameters.
Supported since JTransformer 3.0.
#id: callT, newClassT
the ID of the method call or constructor invocation.
[#paramRef_1, …]: typeRefT, parameterizedTypeT
list of IDs of the explicitly instantiated type parameters.
<T> void m(){
...
}
this.<String>m();
% method invocation callT(#call, ..., ..., ..., m, [], #meth). typeParamInsts(#call, [#typeref1]). typeRefT(#typeref1, #call, #call, #string). classT(#string, ..., 'String', ...). % method declaration methodT(#meth, ..., 'm', [], ..., [], ...). typeParamT(#typeparam, #meth, 'T', [#typeref]). typeRefT(#typeref, #typeparam, #meth, #object). classT(#object, ..., 'Object', ...). typeParamsT(#meth, [#typeparam]).
ast_relation('Java',typeParamInstsT,[
ast_arg(id, mult(1,1,no ), id, [callT, newClassT]),
ast_arg(paramRef, mult(1,*,ord ),id, [typeRefT,parameterizedTypeT])