-
Notifications
You must be signed in to change notification settings - Fork 28
Bugfix/confusing solver warning#1521 open #1537
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
Bugfix/confusing solver warning#1521 open #1537
Conversation
|
Could you please a run a |
kbirken
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are some findings from my review:
- The method
ICanRunCheckManually.highlightWarning()should be overridden (with bodytrue) forICheckableTabularVarPointinstead ofFeatureDecTab(this is more general). - The method
ICanRunCheckManually.highlightWarning()should also be overridden (with bodytrue) forIVariabilityAwareArtifact. - Findings in
Check_ICanRunCheckManuallyUtil- The debug outputs in
run()should be removed. - After moving
run()into the class the other two static methods can be private. For the calls to these methods I would prefer using intentionConvertLocalStaticMethodCall, this is more readable. - The class is used only from the typesystem aspect. You could move it there.
- Optional: After it is moved to the typesystem aspect, you could add a "CheckingMethod" annotation (see below, use the annotation from
jetbrains.mps.lang.typesystem.dependencies). Then you can call error, warning, info directly without passing the lambdas. (But then the test won't work without changes). Remark: I am not sure if CheckingMethods work for static methods.
- The debug outputs in
…solver-warning#1521-Open- # Conflicts: # code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.behavior.mps # code/languages/org.iets3.opensource/solutions/org.iets3.opensource.build/models/org/iets3/opensource/build/build.mps
|
@kbirken could you maybe have a second look? |
|
@kbirken can you continue? |
I tried yesterday, did not build locally. I have to find out what the problem is... |
kbirken
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good now, thank for addressing the findings!
solves #1521
I added a flag to 'ICanRunCheckManually' to switch of the mentioned warning (as the default value is false).
For FeatureModel, FeatureModelConfig and FeatureDecTab it is true.
But for those concepts the checking_rule (http://127.0.0.1:63320/node?ref=r%3Ae5a2b77c-569f-4c13-8679-6ec5a6000fa9%28org.iets3.core.base.typesystem%29%2F3025732926363202325)
is not used to propagate the warning. FeatureDecTab is solved 'i typesystem' not manually.
The other two trigger an asynchronous task which does not trigger the rule.
Thus. there is only one test ensuring that for an ISolvable an warning is not issued.