Packages, Compilation Units and Imports | Annotations | Declarations | Type Elements & Relations | Expressions | Statements | Body Level Attributes |
|---|
typeParamsT(#id, [#paramRef_1, ...])
This fact contains the information, what type parameters a class, method or constructor has. Facts for classes, methods and constructors do not contain information about their type parameters.
Arguments
#id: classT, methodT, constructorT
the ID of the class, method or constructor.
[#paramRef_1, …]: typeParamT
list of IDs of type parameters that belong to the class, method or constructor.
Sample Java Source
<T> void m(){ ... }
Its PEF Representation
methodT(#meth, ..., 'm', [], ..., [], ...). typeParamT(#typeparam, #meth, 'T', [#typeref]). typeRefT(#typeref, #typeparam, #meth, #object). classT(#object, ..., 'Object', ...). typeParamsT(#meth, [#typeparam]).
AST Specification
ast_relation('Java', typeParamsT,[
ast_arg(id, mult(1,1,no ), id, [classT,methodT,constructorT]),
ast_arg(paramRef, mult(1,*,ord ),id, [typeParamT])
]).


