SDA SE Wiki

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

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

research:jtransformer:api:java:pefs:4.2:parameterizedtypet [2018/05/09 01:59] (current)
Line 1: Line 1:
 +{{page>​prologast_bodypef_index&​fullpage&​nofooter}}
  
 +=== 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|classT]]\\ ​
 +the ID of the raw type.
 +
 +**[#​typeParam_1,​ ...]:** [[classt|classT]],​ [[parameterizedtypet|parameterizedTypeT]],​ [[wildcardt|wildCardT]],​ [[arraytypet|arrayTypeT]],​ [[outertypeparamst|outerTypeParamsT]],​ [[typeparamt|typeParamT]]\\
 +list of IDs of the type parameters.
 +
 +
 +=== Sample Java Source ===
 +
 +==  ==
 +<Code lang-java>​
 +HashMap<​String,​ Object> m() {                                                             
 +    ...
 +}
 +</​Code>​
 +
 +
 +=== Its PEF Representation ===
 +
 +==  ==
 +<​Code>​
 +methodT(#​meth,​ ..., '​m',​ [], #​parameterizedtype,​ [], ...).
 +parameterizedTypeT(#​parameterizedtype,​ #rawtype, [#string, #object]).
 +
 +classT(#​rawtype,​ ..., '​HashMap',​ ...).
 +
 +classT(#​string,​ ..., '​String',​ ...).
 +
 +classT(#​object,​ ..., '​Object',​ ...).
 +</​Code>​
 +
 +=== AST Specification ===
 +== ==
 +<​Code>​
 +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]) ​
 +]).
 +
 +</​Code>​
research/jtransformer/api/java/pefs/4.2/parameterizedtypet.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019