amazon-ion / ion-element-kotlin

IonElement is an immutable in-memory representation of the Ion data format. IonElement's API is idiomatic to Kotlin.
Apache License 2.0
8 stars 8 forks source link

Makes the `with*` functions callable from Java #69

Closed popematt closed 2 years ago

popematt commented 2 years ago

Issue #, if available:

Fixes #53

Description of changes:

Adds the with* mutators to the IonElement interface, and covariant return types to all sub-interfaces and concrete implementations.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

popematt commented 2 years ago

I deleted the CodeCov comment because it was showing coverage that was no longer relevant. You can see the coverage for the updated code here.

codecov-commenter commented 2 years ago

Codecov Report

Merging #69 (63f4aae) into master (561d4a0) will increase coverage by 1.35%. The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master      #69      +/-   ##
============================================
+ Coverage     86.72%   88.07%   +1.35%     
- Complexity      369      453      +84     
============================================
  Files            30       30              
  Lines           738      822      +84     
  Branches         72       72              
============================================
+ Hits            640      724      +84     
  Misses           65       65              
  Partials         33       33              
Impacted Files Coverage Δ
src/com/amazon/ionelement/api/IonElement.kt 100.00% <ø> (ø)
.../com/amazon/ionelement/api/IonElementExtensions.kt 33.33% <ø> (ø)
src/com/amazon/ionelement/impl/LobElementBase.kt 93.33% <ø> (ø)
src/com/amazon/ionelement/impl/SeqElementBase.kt 100.00% <ø> (ø)
...com/amazon/ionelement/impl/BigIntIntElementImpl.kt 72.41% <100.00%> (+7.19%) :arrow_up:
src/com/amazon/ionelement/impl/BlobElementImpl.kt 100.00% <100.00%> (ø)
src/com/amazon/ionelement/impl/BoolElementImpl.kt 95.65% <100.00%> (+1.53%) :arrow_up:
src/com/amazon/ionelement/impl/ClobElementImpl.kt 100.00% <100.00%> (ø)
...c/com/amazon/ionelement/impl/DecimalElementImpl.kt 95.83% <100.00%> (+1.38%) :arrow_up:
src/com/amazon/ionelement/impl/FloatElementImpl.kt 95.83% <100.00%> (+1.38%) :arrow_up:
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 561d4a0...63f4aae. Read the comment docs.