-
Notifications
You must be signed in to change notification settings - Fork 27
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
Removal of Triple, and Quadruple #3399
Conversation
...execution/src/main/java/de/uka/ilkd/key/symbolic_execution/SymbolicExecutionTreeBuilder.java
Outdated
Show resolved
Hide resolved
65fd13c
to
06e30f8
Compare
06e30f8
to
423c10b
Compare
423c10b
to
c691c0b
Compare
c691c0b
to
4545251
Compare
2eae40e
to
1ffcb6a
Compare
1ffcb6a
to
bfdd8b1
Compare
bfdd8b1
to
8683162
Compare
8683162
to
cc91a9c
Compare
Moved to #3529 (from external branch to internal branch), due to write permission issues on sonarqube workflow. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3399 +/- ##
============================================
+ Coverage 38.15% 38.17% +0.02%
- Complexity 17221 17224 +3
============================================
Files 2110 2110
Lines 127630 127610 -20
Branches 21461 21459 -2
============================================
+ Hits 48703 48721 +18
+ Misses 72935 72902 -33
+ Partials 5992 5987 -5 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
Refactoring
This PR starts the removal of generic data classes in favor of Java records (aka. named tuples). In this PR, only
Triple
andQuadruple
are removed.In general, generic parametric data classes (
Tuple
,Union
, ...) lead to unreadable, incomprehensible code, e.g., what does the entityTriple<StatementBlock, URI, Integer>
express? Answer: It is the key in a map to find block contracts. Using the recordBlockContractKey
expresses this better than triple of something.Therefore, records give you the chance of defining useful variable names, and documentation, and also avoid auto-boxing (hence NPE).
Intended Change
No use of
Triple<…>
andQuadruple<…>
.Type of pull request
Ensuring quality