File tree Expand file tree Collapse file tree 1 file changed +16
-10
lines changed
OMCompiler/Compiler/NFFrontEnd Expand file tree Collapse file tree 1 file changed +16
-10
lines changed Original file line number Diff line number Diff line change @@ -3290,18 +3290,24 @@ algorithm
32903290 Expression . RECORD_ELEMENT (recordExp = e, index = index) := exp;
32913291 e := evalExp_impl(e, target);
32923292
3293- result := match e
3294- case Expression . RECORD ()
3295- then listGet(e. elements, index);
3293+ try
3294+ result := Expression . bindingExpMap(e, function evalRecordElement2(index = index));
3295+ else
3296+ Error . assertion(false , getInstanceName() + " could not evaluate " +
3297+ Expression . toString(exp), sourceInfo());
3298+ end try ;
3299+ end evalRecordElement;
32963300
3297- else
3298- algorithm
3299- Error . assertion(false , getInstanceName() + " could not evaluate " +
3300- Expression . toString(exp), sourceInfo());
3301- then
3302- fail();
3301+ function evalRecordElement2
3302+ input Expression exp;
3303+ input Integer index;
3304+ output Expression result;
3305+ algorithm
3306+ result := match exp
3307+ case Expression . RECORD ()
3308+ then listGet(exp. elements, index);
33033309 end match;
3304- end evalRecordElement ;
3310+ end evalRecordElement2 ;
33053311
33063312protected
33073313
You can’t perform that action at this time.
0 commit comments