Changeset d628e4c in OpenModelica
- Timestamp:
- 2017-03-20T18:15:12+01:00 (7 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- f159b761
- Parents:
- 59a2173e
- git-author:
- Willi Braun <wbraun@…> (03/20/17 18:15:12)
- git-committer:
- hudson <openmodelica@…> (03/20/17 18:15:12)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Compiler/SimCode/SimCodeUtil.mo
rd74861a0 rd628e4c 5768 5768 5769 5769 /* Record() = f() */ 5770 case (_, DAE.CALL(path=path, expLst=e 1lst, attr=DAE.CALL_ATTR(ty= tp as DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path=rpath), varLst=varLst))), e2, _, _, _)5770 case (_, DAE.CALL(path=path, expLst=expLst, attr=DAE.CALL_ATTR(ty= tp as DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path=rpath), varLst=varLst))), e2, _, _, _) 5771 5771 equation 5772 5772 5773 5773 true = Absyn.pathEqual(path, rpath); 5774 // check all crefs are on the lhs 5775 ht = HashSet.emptyHashSet(); 5776 ht = List.fold(crefs, BaseHashSet.add, ht); 5777 List.foldAllValue(expLst, createSingleComplexEqnCode3, true, ht); 5774 5778 (e2_1, _) = Expression.extendArrExp(e2, false); 5775 5779 … … 5783 5787 5784 5788 /* Expand the varLst. Each var might be an array or record. */ 5785 e1lst = List.mapFlat(e1lst, Expression.expandExpression); 5786 /* Expand the tmp record and any arrays */ 5787 e2lst = Expression.expandExpression(e1_1); 5789 crexplst = List.map1(varLst, Expression.generateCrefsExpFromExpVar, cr1); 5788 5790 /* pair each of the expanded expressions to coressponding one*/ 5789 exptl = List.threadTuple(e 1lst, e2lst);5791 exptl = List.threadTuple(expLst, crexplst); 5790 5792 /* Create residual equations for each pair*/ 5791 5793 (eqSystlst, uniqueEqIndex) = List.map1Fold(exptl, makeSES_SIMPLE_ASSIGN, source, uniqueEqIndex); … … 5800 5802 equation 5801 5803 true = Absyn.pathEqual(path, rpath); 5804 // check all crefs are on the rhs => turn 5802 5805 ht = HashSet.emptyHashSet(); 5803 5806 ht = List.fold(crefs, BaseHashSet.add, ht);
Note: See TracChangeset
for help on using the changeset viewer.