Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
This fact is used for preserving the original appearance of the source code after transformations. It declares, that no explicit bound for a type parameter is given (therefore extends Object is used as an implicit bound).
class A<T> { ...
instead of
class A<T extends Object> { ...
#id: typeParamT
ID of the typeParamT element.
class A<T> { ... }
classT(Class, _, 'A', [TypeParam], _), typeParamT(TypeParam, Class, 'T', [RefToObject]), preserve_noParameterBoundT(TypeParam).
ast_relation_type_spec( preserve_noParameterBoundT,[ ast_arg(id, mult(1,1,no ), id, [id]), ast_arg(element, mult(1,1,no ), id, [typeParamT, wildcardT, nullType]) ]).