-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Final keyword disregarded #360
Comments
Another occurrence of this issue appears with commit 6036d14d2d3a12376dab886a62a40d3f475f68ab of MBL and the following declaration within inner replaceable Buildings.Templates.AirHandlersFans.Components.OutdoorReliefReturnSection.MixedAirWithDamper
secOutRel(
redeclare final package MediumAir = MediumAir,
final typCtlFanRet=ctl.typCtlFanRet,
final typCtlEco=ctl.typCtlEco, The input fields for inner replaceable Buildings.Templates.AirHandlersFans.Components.OutdoorReliefReturnSection.MixedAirWithDamper
secOutRel constrainedby Buildings.Templates.AirHandlersFans.Components.Interfaces.PartialOutdoorReliefReturnSection(
redeclare final package MediumAir = MediumAir,
final typCtlFanRet=ctl.typCtlFanRet,
final typCtlEco=ctl.typCtlEco, |
@AntoineGautier when running the app in staging.ctrl-flow.lbl.gov, I cannot see the entry for the outdoor air section. See below the screenshot in the ctrl-flow.lbl.gov: |
To see the screenshot from above with the incorrect entries for the OA section, you have to locally rebuild the server app with the referenced MBL commit 30fd0f3d1f. What is currently visible on the staging branch is the other occurrence of this issue, described at #360 (comment). Note that the current issue shall remain open as these two workarounds do not solve the original problem, which is that ctrl-flow disregards some final assignments for some specific constructs. |
Using commit 30fd0f3d1f of MBL, the final keyword in the following bindings is disregarded.
When running the app, we get the following input fields for the OA dampers, that should be disabled due to the final keyword.
This is surprising because this pattern is used elsewhere. For example, the type of an equipment is declared in the interface class, e.g.
and assigned with the final keyword in the derived class, e.g.
And in this case, the app does not generate an input field for the equipment type, which is as expected.
A propable cause is that in the case of
typDamOut*
, the final assignment is made in an intermediary child class.Workaround
Use
__ctrlFlow(enable=false)
annotation.Or make final assignments for
typDamOut
andtypDamOutMin
within the interface class if possible.The text was updated successfully, but these errors were encountered: