Andrew McIntyre wrote: > - any classfile modified in this way probably should not be subclassed, > to avoid possible problems compiling or verifying classes in past or > future JVMs. This could be achieved in the source by clearly documenting > classes to be modified this way, and in the binary by setting ACC_FINAL > at the same time that we unset ACC_ABSTRACT.
No, we require the class files modified to be sub-classed (see my other long e-mail from this morning) and there is no issue with it. The JVM/verifier does not and must not check at runtime that a class implements all the the required methods from its declared interfaces. This would break the Java model of backwards compatibility, e.g. running a simple JDBC 2.0 driver in JDK 1.4. There's even the AbstractMethodError and NoSuchMethod errors to handle this case. Dan.
