As a case in point Akhil just asked for this to be reviewed:
http://cr.openjdk.java.net/~akhil/8005051.0/webrev/src/share/classes/java/util/Iterator.java.frames.html
and there is no mention that the remove() implementation actually throws
the exception, nor how forEach does its work.
David
On 14/12/2012 9:30 AM, Lance Andersen - Oracle wrote:
On Dec 13, 2012, at 6:16 PM, Leonid Arbuzov wrote:
Good point, Joe.
Those extra assertions for default methods can be checked
by regular API tests separately from signature tests.
I am not clear on this. See the message attached from David which ask a
similar question (from the attached email):
-------------------
2. It is not obvious to me that the JDK's choice for a default implementation
has to be _the_ only possible implementation choice. In many/most cases there
will be a very obvious choice, but that doesn't mean that all suppliers of
OpenJDK classes have to be locked in to that choice.
-------------------
If everyone needs to implement the same default implementation then great the
JCK/TCK can test it and IMHO we should have a javadoc tag for this.
If everyone is free to choose what the default behavior is, then we cannot test
it.
So has there been a decision WRT the requirements for default methods?
Best
Lance
Thanks,
-leonid
On 12/13/2012 1:05 PM, Joe Darcy wrote:
Hello,
As with concrete methods on abstract classes, I would expect the specifications of the
default methods to often contain text akin to "This default implementation does x,
y, and z" since if the method is to be called by subtypes, the self-use patterns in
the default method need to be known.
Cheers,
-Joe
On 12/13/2012 11:24 AM, Leonid Arbouzov wrote:
Hello Lance,
My understanding would be that the signature test
should check that interface method is marked as default method
but do not track the code in its default body
(assuming that the body is not a part of a spec - API javadoc).
(I've confirmed that with the signature test developer)
Thanks,
-leonid
On 12/6/2012 9:01 AM, Lance Andersen - Oracle wrote:
Folks,
Will the signatures for interfaces that are recorded by the TCKs for interfaces
record the fact that a method includes a default method? or will it just record
the method definition?
I am assuming it will, but I know there has been discussion that a implementor
could choose a different default implementation on one of the recent threads
that was up for review.
I am still trying to understand what our guidelines are, if any for documenting
the behavior of the supplied default methods given the javadocs are part of the
specification for many APIs (and in some case the only spec).
Best
Lance
Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com
Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com