Hello all;

I've continued to refine the previously posted patch and think it's now quite 
close to complete. I am going to scour the tests looking for additional 
conditions that need to be checked but this seems to be very nearly finished.

http://cr.openjdk.java.net/~mduigou/JDK-7129185/1/webrev/

Since the last review I have added a newNavigableSetFromNavigableMap() 
implementation which I needed temporarily as I refactored out duplication in 
BoundedEmptyNavigableMap. I can either include this as part of this issue (it 
seems related enough), make a separate issue, or remove it.

Comments and feedback welcome.

Thanks!

Mike

On Apr 29 2013, at 18:54 , Mike Duigou wrote:

> Hello all;
> 
> This is a non-integration code review. I am picking this patch up after 
> ignoring it for most of the last year. I've recently expanded the regression 
> tests to, I believe, handle almost all of the new code paths added by this 
> patch.
> 
> http://cr.openjdk.java.net/~mduigou/JDK-7129185/0/webrev/
> 
> This issue is a follow-on to JDK-4533691 which added emptySortedSet(). In 
> addition to adding support for NavigableSet/Map this patch also corrects 
> differences between the behaviour of:
> 
> Set<Integer> uts = Collections.unmodifiableNavigableSet(new TreeSet())
> 
> and 
> 
> Set<Integer> es = Collections.emptyNavigableSet()
> 
> involving bounded sub-ranges. At this point I believe that "uts" and "es" 
> will be operationally indistinguishable. emptyNavigableSet() will still be 
> more efficient though as it is a singleton and doesn't generally(*) consume 
> additional resources for each instance. The asterisk next to generally comes 
> from the bounded sub-ranges functionality. Sub ranges of empty SortedSet and 
> NavigableSet will no longer be the singleton. They are instead instances 
> which capture the range.
> 
> Because so much time has passed since this issue originally surfaced I'm 
> concerned that I might be forgetting something. I do know that I still need 
> to create an EmptyNavigableMap unit test and add serialversionid to all the 
> new classes but does anything else seem to be missing either in terms of the 
> implementation or the tests?
> 
> Mike

Reply via email to