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 the (implicit) type arguments in a method or constructor call should be omitted.
<U extends A> void m() {...} ... this.m();
instead of
<U extends A> void m() {...} ... this.<A>m();
<U extends A> void m() {...} ... this.<A>m();
methodT(Method, _, m, [], _, [], [TypeParam], _), typeParamT(TypeParam, Method, 'U', [ReferenceToA]), ... callT(Call, _, _, _, [], Method, [ReferenceToA], _), preserve_noTypeArgumentsT(Call).
ast_relation_type_spec(preserve_noTypeArgumentsT,[ ast_arg(id, mult(1,1,no ), id, [callT, newT]) ]).