-
Notifications
You must be signed in to change notification settings - Fork 41
Removal of Triple, and Quadruple #3399
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
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
TripleandQuadrupleare 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 recordBlockContractKeyexpresses 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