SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


parameterizedTypeT(#id, #rawType, [#typeParam_1, ...])

parameterizedTypeT is used to represent references to generic types with the bounds of type parameters and extendsT arguments

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.

Sample Java Source

HashMap<String, Object> m() {                                                             
    ...
}

Its PEF Representation

methodT(#meth, ..., 'm', [], #parameterizedtype, [], ...).
parameterizedTypeT(#parameterizedtype, #rawtype, [#string, #object]).

classT(#rawtype, ..., 'HashMap', ...).

classT(#string, ..., 'String', ...).

classT(#object, ..., 'Object', ...).

AST Specification

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]) 
]).

research/jtransformer/api/java/pefs/4.2/parameterizedtypet.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024