For example, in Java 5, FutureTask was declared like this:
public class FutureTask<V> implements Runnable, Future<V> {}
In Java 6, it's declared like this:
public class FutureTask<V> implements RunnableFuture<V> {}
public interface RunnableFuture extends Runnable, Future<V> {}
Change-Id: I0cd66a655fbe7fd5c7c48099d656b7a39368dac4
If a method is declared by an interface implemented directly by a class,
or indirectly by any of its superclasses, removing a duplicate declaration
is not an API change.
(This fixes the master build, which is currently broken because getOption
and setOption were removed from DatagramSocketImpl because they were
duplicate declarations of the same methods in the implemented interface
SocketOptions.)
@since tags in the code, it's pulled from the API XML files also used by
apicheck.
The code now reads the apicheck XML, and applies it's versions to the DroidDoc
class models. The models output the version to HDF, and that's picked up by
the CS templates.
The clearsilver templates will be changed to be pretty in a follow up change.