You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
variables :=VariablePointers.map(variables, function Variable.mapExp(fn = function lowerComponentReferenceExp(variables = variables)));
618
+
variables :=VariablePointers.map(variables, function Variable.applyToType(func= function Type.applyToDims(func= function lowerDimension(variables = variables))));
616
619
617
620
/* lower the records to add children */
618
621
records :=VariablePointers.mapPtr(records, function lowerRecordChildren(variables = variables));
@@ -1278,11 +1281,28 @@ protected
1278
1281
call.iters := list(Util.applyTuple21(tpl, function lowerInstNode(variables = variables)) for tpl in call.iters);
1279
1282
exp.call := call;
1280
1283
then exp;
1284
+
1281
1285
else exp;
1282
1286
end match;
1287
+
1288
+
// also lower dimensions in the case of resizable variables
1289
+
exp :=Expression.applyToType(exp, function Type.applyToDims(func= function lowerDimension(variables = variables)));
1283
1290
end lowerComponentReferenceExp;
1284
1291
1285
-
protected function lowerComponentReference
1292
+
protected function lowerDimension
1293
+
input output Dimension dim;
1294
+
input VariablePointers variables;
1295
+
algorithm
1296
+
dim := match dim
1297
+
caseDimension.RESIZABLE() algorithm
1298
+
dim.exp :=Expression.map(dim.exp, function lowerComponentReferenceExp(variables = variables));
0 commit comments