fix: Legacy datatype constructor compatibility in Java #5558
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Addresses the specific problem described in #5555, without yet setting up enough regression testing for the general problem.
Adds a hidden
--legacy-data-constructors
option for the Java backend, to create@Deprecated()
overloads of methods that create data constructors such ascreate_Foo
andDefault
that don't take TypeDescriptor arguments and instead initialize them tonull
, so that Dafny code generated before #4240 is not broken.Also fixes #5553.
How has this been tested?
Cloned
separate-compilation/usesTimesTwo.dfy
to create a version with the Java code for the consuming code pre-compiled using Dafny 4.2 checked in.By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.