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
Get rid of experimental flag using more fine-grained flags #3370
Conversation
Thanks a lot! The code looks nice. One bug I encountered is the following exception: To reproduce:
|
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.
Nice. There are two exceptions I get (described as comments in the PR), whcih should be fixed before merging.
The second exception is: To reproduce:
|
Bugs repaired. |
e43fba6
to
52b4e67
Compare
Thanks, the settings are now saved and I do not get the previously mentioned exceptions. I experience now the following two issues:
also I get the following log error when starting KeY
|
Not all features are "hot" reloadable. I made the "Run All Proofs" menu item hot reload now. I also added a flag which says if a feature requires a restart. The settings dialogue gives an information message if the state of a non-hot-loadable feature has taken place. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #3370 +/- ##
============================================
- Coverage 37.98% 37.97% -0.01%
- Complexity 17027 17035 +8
============================================
Files 2059 2060 +1
Lines 126051 126146 +95
Branches 21285 21292 +7
============================================
+ Hits 47883 47910 +27
- Misses 72285 72351 +66
- Partials 5883 5885 +2 ☔ View full report in Codecov by Sentry. |
This is an old error, I have fixed multiple times. The API says that a settings provider provides a JComponent, someone added a cast to JPanel, which fails for plugins enabled under It is a good example why experimental flag or feature flags in general may not be good design choice. |
A new one! I did not understood why the validator was called for a JSpinner before the class was completely created. I added a guard. |
Thanks! I tested it and it now works without any exceptions. Could you just quickly check my review remark and let me know whether it is valid or not. I will then approve the PR. |
key.core/src/main/java/de/uka/ilkd/key/settings/AbstractPropertiesSettings.java
Show resolved
Hide resolved
Thanks. I approved the PR. Before merging could you check the unresolved question whether that issue is valid or intended. |
…ettings upon switching
…or proof tree view
Each view setting update caused it own redraw even if itself did not change.
…tered correctly only for changes of interest
This commit fixes also exceptions when activating a filter like "Hide Closed Subtrees" when an OSS child node was selected.
Motivation
The
experimental
flag is a bad idea. You cannot control which feature you want to activate.Instead, you are getting a full load of functionality one activated. This PR allows you to have more fine-grained feature flags, with a well-defined backward behavior for
--experimental
.This PR was created for #3022 to activate the labels w/o activated all of the other untested functions.
Intended Change
FeatureSettings
which is basically a set string (features to be activated)Main.isExperimentalMode()
were requested.--experimental
, activating all features.Type of pull request
--experimental
.Ensuring quality
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.