Packages, Compilation Units and Imports | Annotations | Declarations | Expressions | Statements | Body Level Attributes |
|---|
typeParamT(#id, #parent, 'name', 'kind', [#bound1, ...])
Represents a type parameter of a generic class.
Type parameters are referenced from the rest of the code
via type(typevar, #id, arrayDim) terms, where
#id is the ID of the referenced typeParamT element.
Arguments
#id: id
the unique ID assigned to this fact.
#parent: classT
the declaring generic class or interface.
'name': atom
the name of the type variable.
'kind': atom
'super' or 'extends'. See Java Language Specification.
[#bound1, …]: classT, typeParamT
AST Specification
ast_node_def('Java', typeParamT,[
ast_arg(id, mult(1,1,no ), id, [typeParamT]),
ast_arg(parent, mult(1,1,no ), id, [classDefT]),
ast_arg(name, mult(1,1,no ), attr, [atom]), % identifier | '?'
ast_arg(kind, mult(1,1,no ), attr, [atom]), % super | extends
ast_arg(bounds, mult(0,*,ord ),id, [classT, typeParamT])
]).


