Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.8.7, 2.0.1
-
None
Description
@Log4j abstract class AbstractProcessingQueue<T> extends AbstractAgent { ... protected Queue<ProcessingQueueMember<T>> items ... private class ProcessingQueueMember<E> { ... } }
Produces the following line in AbstractProcessingQueue.java:
protected java.util.Queue<nz.ac.auckland.digitizer.AbstractProcessingQueue.ProcessingQueueMember<T>> items;
Which produces the following compile error:
[ERROR] C:\Documents and Settings\Administrator\digitizer\target\generated-sources\groovy-stubs\main\nz\ac\auckland\digitizer\AbstractProcessingQueue.java:[14,96] error: improperly formed type, type arguments given on a raw type
Because ProcessingQueueMember is a non-static nested class of AbstractProcessingQueue and as such is instantiated as a subclass of a given instance of AbstractProcessingQueue, a generic class, the fully-qualified expansion of Queue<ProcessingQueueMember<T>> needs to be java.util.Queue<nz.ac.auckland.digitizer.AbstractProcessingQueue<T>.ProcessingQueueMember<T>>, with the type parameter given to both the inner and outer classes in the declaration.