@Override public void caseAPlainCallStmIR(APlainCallStmIR node) throws AnalysisException { String initName = getInitName(node); if (initName == null) { // No 'initName' exists for non-constructor calls return; } APlainCallStmIR callStm = new APlainCallStmIR(); callStm.setType(new AVoidTypeIR()); callStm.setClassType(null); callStm.setName(initName); for (SExpIR a : node.getArgs()) { callStm.getArgs().add(a.clone()); } assist.replaceNodeWith(node, callStm); }
public APlainCallStmIR consCallStm(AFieldDeclIR field) { APlainCallStmIR call = new APlainCallStmIR(); AExternalTypeIR classType = new AExternalTypeIR(); classType.setName(JavaFormat.UTILS_FILE); AIdentifierVarExpIR argument = new AIdentifierVarExpIR(); argument.setType(field.getType().clone()); argument.setIsLocal(false); argument.setName(field.getName()); call.setType(classType.clone()); call.setName("hashcode"); call.setClassType(classType.clone()); call.getArgs().add(argument); return call; }
private SStmIR buildTestExecutionStms(AIdentifierVarExpIR nodeVar, String traceEnclosingClassName) { AExternalTypeIR utilsType = new AExternalTypeIR(); utilsType.setName(tracePrefixes.traceNodeNodeClassName()); APlainCallStmIR executeTestsCall = new APlainCallStmIR(); executeTestsCall.setClassType(utilsType); executeTestsCall.setName(tracePrefixes.executeTestsMethodName()); executeTestsCall.setType(new AVoidTypeIR()); ATypeArgExpIR typeArg = new ATypeArgExpIR(); typeArg.setType(transAssistant.consClassType(traceEnclosingClassName)); executeTestsCall.getArgs().add(nodeVar.clone()); if (Settings.dialect != Dialect.VDM_SL) { executeTestsCall.getArgs().add(typeArg); } executeTestsCall.getArgs().add(transAssistant.getInfo().getExpAssistant().consIdVar(tracePrefixes.traceMethodParamName(), transAssistant.consClassType(tracePrefixes.testAccumulatorClassName()))); executeTestsCall.getArgs().add(transAssistant.getInfo().getExpAssistant().consIdVar(tracePrefixes.storeVarName(), transAssistant.consClassType(tracePrefixes.storeClassName()))); return executeTestsCall; }
call.setSourceNode(m.getBody().getSourceNode()); call.setTag(m.getBody().getTag()); call.setType(m.getMethodType().getResult().clone());
initCall.setType(objInitializer.getMethodType().getResult().clone()); initCall.setClassType(null); initCall.setName(initName);
plainCall.setType(new ABoolBasicTypeIR());
callStm.setType(typeCg); callStm.setIsStatic(isStaticOrSl); callStm.setName(name);
call.setSourceNode(node.getSourceNode()); call.setTag(node.getTag()); call.setType(node.getType().clone()); for(SExpIR a : node.getArgs())
initCall.setType(new AVoidTypeIR());