SDA SE Wiki

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

User Tools

Site Tools



continueT(#id, #parent, #enclMethod, 'label', #target)

Represents the continue statement.

Attributes

#id: id
the unique ID assigned to this fact.

#parent: id
ID of the parent node.

#enclMethod: methodT, constructorT, classInitializerT
ID of the enclosing method declaration.

'label': atom
label of this continue statement, or 'null' if there is none.
If label is 'null' continue leaves the enclosing loop. Otherwise the loop marked with this label.

#target statement
ID of the statement where to jump.

Sample Java Source

void main() {
    while(true){
	   if(true){
	     continue;
	   }
    }
}

Its PEF Representation

methodT(#Method, _, 'main', [], type(basic, void, 0), [], _),
...
whileT(#While, _, #Method, _, _),                  %Target of continue
...
continueT(#Continue, #Block, #Method, 'null', #While).   %Continue

AST Specification

ast_node_def('Java',continueT,[
     ast_arg(id,      mult(1,1,no ), id,   [continueT]),
     ast_arg(parent,  mult(1,1,no ), id,   [id]),
     ast_arg(encl,    mult(1,1,no ), id,   [methodT, constructorT, classInitializerT]),
     ast_arg(label,   mult(1,1,no ), attr, [atom]),
     ast_arg(target,  mult(0,1,no ), id,   [statementType])
]).
research/jtransformer/api/java/pefs/3.0/continuet.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2018