SDA SE Wiki

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

User Tools

Site Tools



localT(#id, #parent, #encl, #type, 'name', #init)

Represents local variable declaration.

History
  • JTransformer 2.8: Added, up to 2.8.0 it was part of localDefT.

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 element.

#type: typeinst
the id of the type of the variable

'name': atom
variable name.

#init: expression, null
ID of the initializer of this variable declaration.

Sample Java Code

void myFunction(){
	int i = 0;//corresponding code line to localT
}

Its PEF Representation

methodT(#enclMethod, ..., 'myFunction', [], #returntype, [], #parent).
blockT(#parent, #enclMethod, #enclMethod, [#id]).
localT(#id, #parent, #enclMethod, #localtype, 'i', #init).
literalT(#init, #id, #enclMethod, #literaltype, '0').

AST Specification

ast_node_type_spec(localT,[
     ast_arg(id,      mult(1,1,no ), id,  [localT]),
     ast_arg(parent,  mult(1,1,no ), id,  [id]),
     ast_arg(encl,    mult(1,1,no ), id,  [methodT, constructorT, classInitializerT]),
     ast_arg(type,    mult(1,1,no ), id,  [type_inst]), 
     ast_arg(name,    mult(1,1,no ), attr,[atomic]),
     ast_arg(init,    mult(0,1,no),  id,  [expressionType,nullType])
]).
research/jtransformer/api/java/pefs/4.2/localt.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024