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])
]).
Last modified: 2013/05/14 15:56
*