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], _), omit_typeArgumentsT(Call).
ast_relation_type_spec(omit_typeArgumentsT,[ ast_arg(id, mult(1,1,no ), id, [callT, newT]) ]).