OutRulesConditionSwitch.xtend 1.3 KB

1234567891011121314151617181920212223242526272829
  1. package be.uantwerpen.ansymo.semanticadaptation.cg.cpp.generation;
  2. import be.uantwerpen.ansymo.semanticadaptation.cg.cpp.data.GlobalInOutVariable
  3. import be.uantwerpen.ansymo.semanticadaptation.cg.cpp.data.MappedScalarVariable
  4. import be.uantwerpen.ansymo.semanticadaptation.cg.cpp.data.ReturnInformation
  5. import be.uantwerpen.ansymo.semanticadaptation.cg.cpp.data.SAScalarVariable
  6. import be.uantwerpen.ansymo.semanticadaptation.semanticAdaptation.Port
  7. import java.util.LinkedHashMap
  8. public class OutRulesConditionSwitch extends RulesConditionSwitch {
  9. new(String adaptationClassName, String adaptationName,
  10. LinkedHashMap<String, LinkedHashMap<String, MappedScalarVariable>> mSVars,
  11. LinkedHashMap<String, SAScalarVariable> SASVs, LinkedHashMap<String, GlobalInOutVariable> params) {
  12. super(adaptationClassName, adaptationName, "out_rule_", mSVars, SASVs, params, null);
  13. }
  14. override ReturnInformation casePort(Port object) {
  15. var retVal = new ReturnInformation();
  16. val type = mSVars.get(this.externalVariableOwner).get(object.name).mappedSv.type;
  17. val define = mSVars.get(this.externalVariableOwner).get(object.name).define;
  18. retVal.code = '''getValue«Conversions.fmiTypeToCppTypeCapitalized(type)»(«this.externalVariableOwner»,«define»)''';
  19. this.externalVariableOwnerIsSet = false;
  20. return retVal;
  21. }
  22. }