Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
let us imagine we compile class A, which extends B and B extends C. B is precompiled and C is mising.
This means the loading of B will fail with an NoClassDefinitionFoundException since C is missing. Simply putting C in the pipeline is not enough as we need a loaded Version of B. This means we need to compile and load C before we can continue to load B. The compilation processes of C and A may share classes, for example interfaces or classes used as fields and such. This means we will have to revalidate the compilation queue after C is compiled nad remove classes that are already compiled after compiling C.