@@ -394,6 +394,7 @@ function generateModelCodeNewBackend
394394 output String fileDir;
395395 output Real timeSimCode = 0 . 0 ;
396396 output Real timeTemplates = 0 . 0 ;
397+ output DAE . FunctionTree oldFunctionTree;
397398protected
398399 Integer numCheckpoints;
399400 NSimCode . SimCode simCode;
@@ -403,7 +404,7 @@ algorithm
403404 StackOverflow . clearStacktraceMessages();
404405 try
405406 System . realtimeTick(ClockIndexes . RT_CLOCK_SIMCODE );
406- simCode := NSimCode . SimCode . create(bdae, className, fileNamePrefix, simSettingsOpt);
407+ ( simCode, oldFunctionTree) := NSimCode . SimCode . create(bdae, className, fileNamePrefix, simSettingsOpt);
407408 if Flags . isSet(Flags . DUMP_SIMCODE ) then
408409 print(NSimCode . SimCode . toString(simCode));
409410 end if ;
@@ -1172,15 +1173,17 @@ algorithm
11721173 ExecStat . execStat("FrontEnd" );
11731174
11741175 if runBackend then
1175- (outLibs, outFileDir, resultValues) := translateModelCallBackendNB(flatModel, funcTree, className, inFileNamePrefix, inSimSettingsOpt);
1176+ (outLibs, outFileDir, resultValues, funcs) := translateModelCallBackendNB(flatModel, funcTree, className, inFileNamePrefix, inSimSettingsOpt);
1177+ else
1178+ funcs := NFConvertDAE . convertFunctionTree(funcTree);
11761179 end if ;
11771180
11781181 // This must be done after calling the backend since it uses the FlatModel,
11791182 // and converting it to DAE is destructive.
11801183 if dumpValidFlatModelicaNF then
11811184 flatString := NFFlatString ;
11821185 elseif not runSilent then
1183- ( dae, funcs) := NFConvertDAE . convert (flatModel, funcTree );
1186+ dae := NFConvertDAE . convertModel (flatModel);
11841187 flatString := DAEDump . dumpStr(dae, funcs);
11851188 end if ;
11861189
@@ -1476,6 +1479,7 @@ protected function translateModelCallBackendNB
14761479 output list< String > outLibs;
14771480 output String outFileDir;
14781481 output list< tuple< String , Values . Value >> resultValues;
1482+ output DAE . FunctionTree oldFunctionTree;
14791483protected
14801484 Real timeSimCode= 0 . 0 , timeTemplates= 0 . 0 , timeBackend= 0 . 0 ;
14811485 NBackendDAE bdae;
@@ -1493,7 +1497,7 @@ algorithm
14931497 timeBackend := System . realtimeTock(ClockIndexes . RT_CLOCK_BACKEND );
14941498 ExecStat . execStat("backend" );
14951499
1496- (outLibs, outFileDir, timeSimCode, timeTemplates) := generateModelCodeNewBackend(bdae, inClassName, inFileNamePrefix, inSimSettingsOpt);
1500+ (outLibs, outFileDir, timeSimCode, timeTemplates, oldFunctionTree ) := generateModelCodeNewBackend(bdae, inClassName, inFileNamePrefix, inSimSettingsOpt);
14971501
14981502 resultValues := {("timeTemplates" , Values . REAL (timeTemplates)),
14991503 ("timeSimCode" , Values . REAL (timeSimCode)),
0 commit comments