-
Notifications
You must be signed in to change notification settings - Fork 8
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
feat: Added support of compareTo #158
Conversation
Misc: - refactored ModelGenerator: extracted code-generating code into several independent methods - upgraded Gradle version to 8.5 to support Java 21 - added dependency to Mockito framework in pbj-compiler Signed-off-by: Ivan Malygin <[email protected]>
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesYou may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation |
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/LookupHelper.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/LookupHelper.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/generators/ModelGenerator.java
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/generators/ModelGenerator.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/generators/ModelGenerator.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-runtime/src/main/java/com/hedera/pbj/runtime/OneOf.java
Outdated
Show resolved
Hide resolved
69dd3f9
to
04af982
Compare
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
04af982
to
a28cced
Compare
- now fields are considered comparable only if they are explicitly mentioned in `pbj.comparable` option - preserving order of the comparable fields - added proper support for OneOf fields - added support for `Bytes` field - fixed formatting - added tests for non-compilable cases Signed-off-by: Ivan Malygin <[email protected]>
a28cced
to
cb37aaa
Compare
Signed-off-by: Ivan Malygin <[email protected]>
b9e6d00
to
a797ad3
Compare
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.
Impressive effort so far, but there are a few minor issues, and some items that need to be fixed.
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/LookupHelper.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-runtime/src/main/java/com/hedera/pbj/runtime/OneOf.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-runtime/src/main/java/com/hedera/pbj/runtime/OneOf.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-runtime/src/main/java/com/hedera/pbj/runtime/io/buffer/Bytes.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/LookupHelper.java
Outdated
Show resolved
Hide resolved
…pl/Common.java Co-authored-by: Joseph Sinclair <[email protected]> Signed-off-by: Ivan Malygin <[email protected]>
Signed-off-by: Ivan Malygin <[email protected]>
… `pbj.comparable` option. Signed-off-by: Ivan Malygin <[email protected]>
Signed-off-by: Ivan Malygin <[email protected]>
f10c738
to
6fb378b
Compare
pbj-core/pbj-compiler/src/main/java/com/hedera/pbj/compiler/impl/Common.java
Outdated
Show resolved
Hide resolved
Fixed regex for Comparable record Added test for primitive wrappers and unsigned values Fixed compareTo for BytesValue Signed-off-by: Ivan Malygin <[email protected]>
…d not mentioned in `pbj.comparable` Signed-off-by: Ivan Malygin <[email protected]>
pbj-core/pbj-runtime/src/main/java/com/hedera/pbj/runtime/io/buffer/Bytes.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Ivan Malygin <[email protected]>
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.
Excellent work, Ivan.
PR highlights:
compareTo
method.pbj.comparable
option in a comment can be used to specify limited set of fields to be used incompareTo
.Bytes
andBytesValue
fields are compared using byte-by-byte comparisonMisc:
Related issue(s):
Fixes #103