use of abs.frontend.ast.SyncCall in project abstools by abstools.
the class AbsASTBuilderUtil method getCall.
public static final Call getCall(PureExp who, String method, boolean sync, PureExp... exps) {
Call call;
if (sync) {
call = new SyncCall();
} else {
call = new AsyncCall();
}
call.setCallee(who);
call.setMethod(method);
for (int i = 0; i < exps.length; i++) {
call.setParam(exps[i], i);
}
return call;
}
use of abs.frontend.ast.SyncCall in project abstools by abstools.
the class ASTBasedABSTestRunnerGenerator method generateDataPointsAST.
private TypeUse generateDataPointsAST(InterfaceDecl key, ClassDecl clazz, Set<TypeUse> use, MainBlock block) {
MethodSig dataPoint = findDataPoints(key);
if (dataPoint == null) {
return null;
}
Access rt = dataPoint.getReturnType();
if (!(rt instanceof ParametricDataTypeUse)) {
return null;
}
ParametricDataTypeUse prt = (ParametricDataTypeUse) rt;
if (!prt.getName().equals("Set")) {
return null;
}
// Set has only one type parameter
TypeUse u = (TypeUse) prt.getParam(0).copy();
use.add(u);
String objName = uncap(clazz.getName()) + "dataPoint";
String dataSet = dataPointSetName(clazz);
block.addStmtNoTransform(newObj(key, clazz, objName, true));
block.addStmtNoTransform(getVarDecl(dataSet, prt.copy(), new SyncCall(new VarUse(objName), dataPoint.getName(), new List<>())));
return u;
}
Aggregations