Packages, Compilation Units and Imports | Annotations | Declarations | Expressions | Statements | Body Level Attributes |
|---|
synchronizedT (#id, #parent, #encl, #lock, #body)
Represents the synchronized statement.
Arguments
#id: id
the unique ID assigned to this fact.
#parent: id
ID of the parent node.
#encl: methodT, constructorT, classInitializerT
ID of the enclosing method declaration.
#lock: expression
ID of the expression of this synchronized statement.
#body: blockT
ID of the body of this synchronized statement.
Sample Java Source
Its PEF Representation
synchronizedT(#id, #parent, #enclMethod, #lock, #body). identT(#lock, #id, #enclMethod, 's', ...). blockT(#body, #id, #enclMethod, ...).
AST Specification
ast_node_def('Java',synchronizedT,[
ast_arg(id, mult(1,1,no ), id, [synchronizedT]), % <-- convention!!!
ast_arg(parent, mult(1,1,no ), id, [id]), % <-- convention!!!
ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT]),
ast_arg(lock, mult(1,1,no ), id, [expressionType]),
ast_arg(block, mult(1,1,no ), id, [blockT])
]).


