Packages, Compilation Units and Imports | Annotations | Declarations | Type Elements & Relations | Expressions | Statements | Body Level Attributes |
|---|
typeRefT(#id, #parent, #encl, #referencedType)
a typeRefT refers to a class, a basic type or a type parameter
Arguments
#id: id
the unique ID assigned to this fact.
#parent: id
the ID of the fact that represents the parent of this fact in the prolog AST.
#encl: methodT, constructorT, classInitializerT, fieldT, classT, annotationMemberT, annotationT
the ID of the fact that represents the enclosing element.
#referencedType: classT, basicTypeT, typeParamT
the ID of the referenced type.
Sample Java Source
String m() { ... }
Its PEF Representation
methodT(#meth, ..., 'm', [], #typeref, [], ...). typeRefT(#typeref, #meth, #meth, #string). classT(#string, ..., 'String', ...).
AST Specification
ast_node_def('Java',typeRefT,[
ast_arg(id, mult(1,1,no ), id, [typeRefT]),
ast_arg(parent, mult(1,1,no ), id, [id]),
ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT,fieldT,classT,annotationMemberT,annotationT]),
ast_arg(typeRef, mult(1,1,no ), id, [classT,basicTypeT,typeParamT])
]).


