Skip to content
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

Convert Value to interface, extract functionality to CoreValue and create a NotAValue class #282

Merged
merged 18 commits into from
Feb 16, 2019

Conversation

jvdb
Copy link
Contributor

@jvdb jvdb commented Feb 10, 2019

This PR merges to the branch of #281. So please review that first.

The conversion in #281 was complicated by the need for NOT_A_VALUE to be a direct instance of Value, which was a class and not an interface. This is fixed in this PR. Value is now an interface, and NOT_A_VALUE is an instance of NotAValue, which implements Value but which itself cannot be instantiated (private constructor), guaranteeing the uniqueness of NOT_A_VALUE.

This PR resolves #280.

@codecov
Copy link

codecov bot commented Feb 10, 2019

Codecov Report

Merging #282 into from-list-of-optionals-to-optional-list will not change coverage.
The diff coverage is 100%.

Impacted file tree graph

@@                           Coverage Diff                            @@
##             from-list-of-optionals-to-optional-list   #282   +/-   ##
========================================================================
  Coverage                                        100%   100%           
- Complexity                                      1029   1047   +18     
========================================================================
  Files                                             92     94    +2     
  Lines                                           1393   1399    +6     
  Branches                                         154    150    -4     
========================================================================
+ Hits                                            1393   1399    +6
Impacted Files Coverage Δ Complexity Δ
...ingdata/metal/expression/value/arithmetic/Div.java 100% <ø> (ø) 3 <0> (ø) ⬇️
...o/parsingdata/metal/expression/value/FoldLeft.java 100% <ø> (ø) 3 <0> (ø) ⬇️
...ingdata/metal/expression/value/arithmetic/Mod.java 100% <ø> (ø) 3 <0> (ø) ⬇️
...main/java/io/parsingdata/metal/data/ParseItem.java 100% <ø> (ø) 6 <0> (ø) ⬇️
...ain/java/io/parsingdata/metal/data/ParseValue.java 100% <ø> (ø) 13 <0> (ø) ⬇️
.../parsingdata/metal/expression/value/FoldRight.java 100% <ø> (ø) 3 <0> (ø) ⬇️
...ingdata/metal/expression/value/reference/Last.java 100% <100%> (ø) 8 <0> (ø) ⬇️
.../metal/expression/value/BinaryValueExpression.java 100% <100%> (ø) 21 <3> (ø) ⬇️
...ingdata/metal/expression/value/reference/Self.java 100% <100%> (ø) 5 <2> (ø) ⬇️
...arsingdata/metal/expression/value/bitwise/Not.java 100% <100%> (ø) 2 <0> (ø) ⬇️
... and 40 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 c62b097...6480c62. Read the comment docs.

@parsingdata parsingdata deleted a comment from codecov bot Feb 10, 2019
@jvdb jvdb merged commit b9e600d into from-list-of-optionals-to-optional-list Feb 16, 2019
@jvdb jvdb deleted the value-interface branch February 16, 2019 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants