Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents the class instance creation expression.
#id: id
the unique ID assigned to this fact.
#parent: id
ID of the parent node.
#encl: methodT, constructorT, classInitializerT, fieldT
ID of the fact that represents the enclosing element.
#receiver: expression, null
Receiver of the constructor invocation
[#arg_1,…]: expression
list of argument expressions in this class instance creation expression.
#constructor: constructorT, null
ID of the constructor invoked by this expression.
If the referenced constructor is a anonymous class constructor #constructor is 'null'.
[#typeparam_1,…]: Type reference, wildcardT
list of type parameters.
#type: parameterizedTypeT, classT
ID of the fact referencing the class instantiated by this constructor call. ← Changed in JTransformer 2.6.0 was ID of an identt or selectt[1] fact, representing a simple type name or a full qualified type name respectively.
#anonClDef: classT, null
the anonymous class declaration introduced by this class instance creation expression, if it has one.
void myFunction(){ String myString = new String(); }
methodT(Method, ..., 'myFunction', ...), localT(Local, _, Method, RefToString, 'myString', New), newT(New, Local, Method, null, [], RefToConstructor, [], RefToString, null).
ast_node_type_spec(newT,[ ast_arg(id, mult(1,1,no ), id, [newT]), ast_arg(parent, mult(1,1,no ), id, [id]), ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT,fieldT]), ast_arg(receiver, mult(0,1,no), id, [expressionType,nullType]), ast_arg(args, mult(0,*,ord), id, [expressionType]), ast_arg(constr, mult(0,1,no), id, [constructorT,nullType]), ast_arg(typeParams, mult(0,*,ord), id, [type_inst, wildcardT]), ast_arg(type, mult(0,1,no), id, [parameterizedTypeT,classT]), ast_arg(anonClDef, mult(0,1,no), id, [classT,nullType]) ]).