public ExpAssistantIR getExpAssistant() { return assistantManager.getExpAssistant(); }
public void setDefaultValue(AVarDeclIR localDecl, STypeIR typeCg) { ExpAssistantIR expAssistant = assistantManager.getExpAssistant(); if (typeCg instanceof AStringTypeIR) { localDecl.setExp(expAssistant.getDefaultStringlValue()); } else if (typeCg instanceof ACharBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultCharlValue()); } else if (typeCg instanceof AIntNumericBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultIntValue()); } else if (typeCg instanceof ANat1NumericBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultNat1Value()); } else if (typeCg instanceof ANatNumericBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultNatValue()); } else if (typeCg instanceof ARealNumericBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultRealValue()); } else if (typeCg instanceof ABoolBasicTypeIR) { localDecl.setExp(expAssistant.getDefaultBoolValue()); } else { localDecl.setExp(assistantManager.getExpAssistant().consUndefinedExp()); } }
ifStm.setIfExp(negated); returnTypeComp.setExp(javaFormat.getIrInfo().getAssistantManager().getExpAssistant().consBoolLiteral(false)); ifStm.setThenStm(returnTypeComp);
protected AIfStmIR consAndExpCheck(AAndBoolBinaryExpIR node, String andResultVarName) { SExpIR left = node.getLeft().clone(); SExpIR right = node.getRight().clone(); AIfStmIR leftCheck = new AIfStmIR(); leftCheck.setIfExp(left); AIfStmIR rightCheck = new AIfStmIR(); rightCheck.setIfExp(right); AAssignToExpStmIR assignAndVar = new AAssignToExpStmIR(); assignAndVar.setTarget(transAssistant.consBoolCheck(andResultVarName, false)); assignAndVar.setExp(transAssistant.getInfo().getAssistantManager().getExpAssistant().consBoolLiteral(true)); rightCheck.setThenStm(assignAndVar); leftCheck.setThenStm(rightCheck); return leftCheck; }
protected SStmIR consOrExpCheck(AOrBoolBinaryExpIR node, String orResultVarName) { SExpIR left = node.getLeft().clone(); SExpIR right = node.getRight().clone(); AIfStmIR leftCheck = new AIfStmIR(); leftCheck.setIfExp(left); AAssignToExpStmIR setOrResultVarTrue = new AAssignToExpStmIR(); setOrResultVarTrue.setTarget(transAssistant.consBoolCheck(orResultVarName, false)); setOrResultVarTrue.setExp(transAssistant.getInfo().getAssistantManager().getExpAssistant().consBoolLiteral(true)); leftCheck.setThenStm(setOrResultVarTrue); AAssignToExpStmIR setOrResultVarToRightExp = new AAssignToExpStmIR(); setOrResultVarToRightExp.setTarget(transAssistant.consBoolCheck(orResultVarName, false)); setOrResultVarToRightExp.setExp(right); leftCheck.setElseStm(setOrResultVarToRightExp); return leftCheck; }