SDA SE Wiki

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

User Tools

Site Tools


This is an old revision of the document!



outerTypeParamsT(#id, #rawType, [#param1, ...])

Java 5 Syntax Element

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
the ID of the surrounding parameterizedTypeT.1)

#rawType: classT
the raw type of the outer type

[#param1, …]: classT, parameterizedTypeT, wildcardT, arrayTypeT, typeParamT
type params to the outer type

Sample Java Source

class A {
  
  B<String>.C field;

}

Its PEF Representation

fieldT(#field, #class, #type, 'field', 'null').
parameterizedTypeT(#type, #rawTypeC, []).
outerTypeParamsT(#type, #rawTypeB, [#TypeRefToString]).

AST Specification

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])
]).
1)
here it's possible that the list of type parameters is empty, see the example
research/jtransformer/api/java/pefs/4.1/outertypeparamst.1525831169.txt · Last modified: 2018/05/09 01:59 by 127.0.0.1

SEWiki, © 2019