Skip to content

Conversation

@dbinkele
Copy link
Member

@dbinkele dbinkele commented Dec 2, 2025

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.

@dbinkele dbinkele requested a review from kbirken December 2, 2025 08:19
@arimer arimer requested a review from nkoester December 2, 2025 10:29
@arimer
Copy link
Member

arimer commented Dec 2, 2025

Could you please a run a migrate remigrate and push the results afterwards?

Copy link
Member

@kbirken kbirken left a 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 body true) for ICheckableTabularVarPoint instead of FeatureDecTab (this is more general).
  • The method ICanRunCheckManually.highlightWarning() should also be overridden (with body true) for IVariabilityAwareArtifact.
  • 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 intention ConvertLocalStaticMethodCall, 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.
image

dbinkele and others added 4 commits December 3, 2025 13:15
…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
@arimer arimer requested a review from kbirken December 9, 2025 12:50
@arimer
Copy link
Member

arimer commented Dec 9, 2025

@kbirken could you maybe have a second look?

@dbinkele
Copy link
Member Author

dbinkele commented Dec 9, 2025

@kbirken can you continue?

@kbirken
Copy link
Member

kbirken commented Dec 9, 2025

@kbirken can you continue?

I tried yesterday, did not build locally. I have to find out what the problem is...

Copy link
Member

@kbirken kbirken left a 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!

@dbinkele dbinkele enabled auto-merge December 10, 2025 11:10
@dbinkele dbinkele merged commit acc7c7b into maintenance/mps20241 Dec 10, 2025
2 checks passed
@dbinkele dbinkele deleted the bugfix/Confusing-solver-warning#1521-Open- branch December 10, 2025 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants