package org.overture.codegen.visitor; import org.overture.ast.analysis.AnalysisException; import org.overture.ast.expressions.ARecordModifier; import org.overture.ast.expressions.PExp; import org.overture.ast.intf.lex.ILexIdentifierToken; import org.overture.codegen.ir.IRInfo; import org.overture.codegen.ir.SExpIR; import org.overture.codegen.ir.SModifierIR; import org.overture.codegen.ir.expressions.ARecordModifierIR; public class ModifierVisitorIR extends AbstractVisitorIR<IRInfo, SModifierIR> { @Override public SModifierIR caseARecordModifier(ARecordModifier node, IRInfo question) throws AnalysisException { ILexIdentifierToken tag = node.getTag(); PExp value = node.getValue(); String name = tag.getName(); SExpIR recCg = value.apply(question.getExpVisitor(), question); ARecordModifierIR recModifier = new ARecordModifierIR(); recModifier.setName(name); recModifier.setValue(recCg); return recModifier; } }