Packages, Compilation Units and Imports | Annotations | Declarations | Expressions | Statements | Body Level Attributes |
|---|
fieldT(#id, #class, TYPE, 'name', #init)
Represents the field declaration.
Arguments
#id: id
the unique ID assigned to this fact.
#class: classT
ID of the enclosing/declaring class.
TYPE: type term
the type of the field.
'name': atom
the name of the field.
#init: expression, null
ID of the initializer of this variable declaration.
Sample Java Source
class HelloWorld extends HelloUniverse { //classT static String message; //corresponding code line to fieldT }
Its PEF Representation
classT(#class, #compilationUnit, 'HelloWorld', [..., #field]). fieldT(#field, #class, type(class, ..., 0), 'message', 'null').
AST Specification
ast_node_def('Java',fieldT,[
ast_arg(id, mult(1,1,no ), id, [fieldT]), % <-- convention!!!
ast_arg(parent, mult(1,1,no ), id, [classT]),
ast_arg(type, mult(1,1,no ), attr,[typeTermType]),
ast_arg(name, mult(1,1,no ), attr,[atom]),
ast_arg(expr, mult(0,1,no ), id, [expressionType,nullType])
]).


