Closed wadoon closed 4 months ago
@unp1 Should be ready if green. To implement a fallback was easier than to add a useful error message. So it should read old files, too.
Attention: Patch coverage is 25.00000%
with 189 lines
in your changes are missing coverage. Please review.
Project coverage is 37.91%. Comparing base (
7254776
) to head (cde13ae
). Report is 96 commits behind head on main.:exclamation: Current head cde13ae differs from pull request most recent head 89f6c9a. Consider uploading reports for the commit 89f6c9a to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This idles here in a ready state and looking for a review for at least a month now. @mattulbrich @unp1 @WolframPfeifer
There are failing test cases. Is this ready for review?
There are failing test cases. Is this ready for review? It was green back then. But after auto-merging it became failing.
But it is reviewable. Especially, the discussion on whether we want to let the old proof files be with the string-based properties format for proof obligations. In the history of the PR, a compatibility layer was added.
If this is decided and reviewed, I start fixing the test cases, but running behind failing unit-tests is easier than PR reviewers.
Especially, the discussion on whether we want to let the old proof files be with the string-based properties format for proof obligations. In the history of the PR, a compatibility layer was added. If this is decided and reviewed, I start fixing the test cases, but running behind failing unit-tests is easier than PR reviewers.
I'd would suggest to migrate the old proof file in the repo to the new format (it looks like this has been done ...)
Having the ability to parse Strings does not hurt either for a while. Going from a properties object to a key-value object should also be relatively local.
Intended Change
This is an overhaul of the
\proofObligation
inside of KeY files and some internal api changes.\proofObligation
is migrated from a property string to the new configuration grammar. An entry looks as follows:Earlier it was a string holding the information as a
Properties
. This allows in feature to have type-safe PO parameters. This affects the grammar, parser and also the store functionality of each PO class.Renovation of
#loadFrom
. Old KeY uses theclass
information to load this class and invokes the static method#loadFrom(...)
. This PR replaces this behaviour using theServiceLoader
. This makes adding a new PO (loader) more convenient and type-safe.A fallback for old
\proofObligation
is implemented. Reading an old\proofObligation "...";
entry should be translated into the new architecture.Type of pull request
X Refactoring (behaviour should not change or only minimally change)
X Breaking change (fix or feature that would cause existing functionality to change)
X There are changes to the (Java) code
X Other: KeY-Problem-Files, Grammar
Ensuring quality