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

Next revision
Previous revision
research:jtransformer:api:java:pefs:4.0:outertypeparamst [2014/07/07 15:32]
127.0.0.1 external edit
research:jtransformer:api:java:pefs:4.0:outertypeparamst [2018/05/09 01:59] (current)
Line 1: Line 1:
 +{{page>​prologast_bodypef_index&​fullpage&​nofooter}}
  
 +----
 +
 +=== outerTypeParamsT(#​id,​ #rawType, [#param1, ...]) === 
 +++ Java 5 Syntax Element | - supported since JTransformer 3.0  ++
 +
 +This fact represents the outer type parameters of a parameterized type if it is a reference to an inner class. There can be multiple outerTypeParamsT facts for one parameterized type.
 +
 +=== Arguments ===
 +== == 
 +**#id:** [[parameterizedTypeT|parameterizedTypeT]]\\ ​
 +the ID of the surrounding parameterizedTypeT.((here it's possible that the list of type parameters is empty, see the example))
 +
 +**#​rawType:​** [[classt|classT]]\\ ​
 +the raw type of the outer type
 +
 +**[#param1, ...]:** [[classt|classT]],​ [[parameterizedTypeT|parameterizedTypeT]],​ [[wildcardT|wildcardT]],​ [[arrayTypeT|arrayTypeT]],​ [[typeparamt|typeParamT]]\\
 +type params to the outer type
 +
 +=== Sample Java Source ===
 +== ==
 +<Code lang-java>​
 +class A {
 +  ​
 +  B<​String>​.C field;
 +
 +}
 +</​Code>​
 +
 +
 +=== Its PEF Representation ===
 +==  ==
 +<Code lang-prolog>​
 +fieldT(#​field,​ #class, #type, '​field',​ '​null'​).
 +parameterizedTypeT(#​type,​ #rawTypeC, []).
 +outerTypeParamsT(#​type,​ #rawTypeB, [#​TypeRefToString]).
 +</​Code>​
 +
 +
 +
 +=== AST Specification ===
 +== ==
 +<​Code>​
 +ast_node_type_spec(outerTypeParamsT,​[
 +     ​ast_arg(id, ​         mult(1,1,no ), id,   ​[outerTypeParamsT]),​
 +     ​ast_arg(rawType, ​    ​mult(1,​1,​no ), id,   ​[classT]),​ % out raw types
 +     ​ast_arg(outerParams,​ mult(1,​*,​ord ),id,   ​[classT,​ parameterizedTypeT,​ wildcardT, arrayTypeT, typeParamT])
 +]).
 +</​Code>​
 +
 +
 + 
research/jtransformer/api/java/pefs/4.0/outertypeparamst.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019