It seems that an interface being overwritten can not be
used as a parameter in the same collaboration interface.
e.g.
public collaboration interface ColoredGraph extends Graph{
public provided void
computeMinimumColoring(Vertex v[]); <-------
public override interface Vertex {
public expected void setColor(int c);
public expected int getColor();
public provided void edgesChanged();
}
public override interface Edge {
public provided float getBadness();
}
}
leads to an error since Vertex is used as a parameter.
The error message for this is as follows:
error:Non-abstract class "ColoredGraph_Impl" must
implement inherited method "void
graphcollaboration/ColoredGraph.computeMinimumColoring(Vertex[])"
[JLS 8.1.1.1]
Logged In: YES
user_id=984920
In addition it seems as if there are several problems of
using nested interfaces in the interface which contains the
nested class. It seems to work only under certain circumstances.