SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



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

...
    String s = new String();
    synchronized (s) {
         ...
    }

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])
]).
research/jtransformer/api/java/pefs/2.9/synchronizedt.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2025