@@ -260,39 +260,41 @@ public
260260 end isRecordExp;
261261
262262 function recordFieldBinding
263- input String fieldName ;
263+ input InstNode fieldNode ;
264264 input Binding recordBinding;
265265 output Binding fieldBinding = recordBinding;
266266 protected
267267 Expression exp;
268268 Type ty;
269269 Variability var ;
270+ String field_name = InstNode . name(fieldNode);
270271 algorithm
271272 fieldBinding := match fieldBinding
272273 case UNTYPED_BINDING ()
273274 algorithm
274- fieldBinding. bindingExp := Expression . recordElement(fieldName , fieldBinding. bindingExp);
275+ fieldBinding. bindingExp := Expression . recordElement(field_name , fieldBinding. bindingExp);
275276 then
276277 fieldBinding;
277278
278279 case TYPED_BINDING ()
279280 algorithm
280- exp := Expression . recordElement(fieldName , fieldBinding. bindingExp);
281+ exp := Expression . recordElement(field_name , fieldBinding. bindingExp);
281282 ty := Expression . typeOf(exp);
282283 var := Expression . variability(exp);
283284 then
284- TYPED_BINDING (exp, ty, var , fieldBinding. parents, fieldBinding. isEach, fieldBinding. evaluated, fieldBinding. isFlattened, fieldBinding. info);
285+ TYPED_BINDING (exp, ty, var , fieldNode :: fieldBinding. parents, fieldBinding. isEach,
286+ fieldBinding. evaluated, fieldBinding. isFlattened, fieldBinding. info);
285287
286288 case FLAT_BINDING ()
287289 algorithm
288- exp := Expression . recordElement(fieldName , fieldBinding. bindingExp);
290+ exp := Expression . recordElement(field_name , fieldBinding. bindingExp);
289291 var := Expression . variability(exp);
290292 then
291293 FLAT_BINDING (exp, var );
292294
293295 case CEVAL_BINDING ()
294296 algorithm
295- fieldBinding. bindingExp := Expression . recordElement(fieldName , fieldBinding. bindingExp);
297+ fieldBinding. bindingExp := Expression . recordElement(field_name , fieldBinding. bindingExp);
296298 then
297299 fieldBinding;
298300
0 commit comments