Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
parameterizedTypeT is used to represent references to generic types with the bounds of type parameters and extendsT arguments
#id: id
the unique ID assigned to this fact.
#rawType: classT
the ID of the raw type.
[#typeParam_1, …]: classT, parameterizedTypeT, wildCardT, arrayTypeT, outerTypeParamsT, typeParamT
list of IDs of the type parameters.
HashMap<String, Object> m() { ... }
methodT(#meth, ..., 'm', [], #parameterizedtype, [], ...). parameterizedTypeT(#parameterizedtype, #rawtype, [#string, #object]). classT(#rawtype, ..., 'HashMap', ...). classT(#string, ..., 'String', ...). classT(#object, ..., 'Object', ...).
ast_node_type_spec(parameterizedTypeT,[ ast_arg(id, mult(1,1,no ), id, [parameterizedTypeT]), ast_arg(rawType, mult(1,1,no ), id, [classT]), ast_arg(typeParams,mult(0,*,ord), id, [classT, parameterizedTypeT, wildcardT, arrayTypeT, outerTypeParamsT, typeParamT]) ]).