Name: rm29839 Date: 01/22/98
Similar to bug #4100959, but stack trace is different after 3rd line or so. So I'm treating it as different.
My code is probably unusual.. I am defining a set of interfaces for general data transfer.
They use nested interfaces that inherit other interfaces with nested interfaces. These interfaces also extend their contained interfaces
For example:
public interface Base extends Base.Foo, Base.Bar{
public interface Foo{
...
}
public interface Bar{
...
}
}
public interface Child extends Base, Child.Foo, Child.Bar{
public interface Foo extends Base.Foo{
...
}
public interface Bar extends Base.Bar{
...
}
}
The idea is so that one could extend the entire Child interface by implementing Child, or just a subset by implementing Child.Foo.
I did a simple test program to see if the above was possible. The simple test program compiled ok.
Only when I had an inheritance of about 3 deep did problems occur. If you read this and you want me to email you my
code, then contact me. I dont think it wise for me to publish the code for the world to see.
Here's the stack trace:
sun.tools.java.CompilerError: collectInheritedMethods()
at sun.tools.java.ClassDefinition.collectInheritedMethods(ClassDefinition.java:1249)
at sun.tools.java.BinaryClass.basicCheck(BinaryClass.java:60)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:122)
at sun.tools.java.BinaryClass.initInnerClasses(BinaryClass.java:282)
at sun.tools.java.BinaryClass.loadNested(BinaryClass.java:180)
at sun.tools.javac.BatchEnvironment.loadDefinition(BatchEnvironment.java:434)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:112)
at sun.tools.java.ClassDefinition.collectOneClass(ClassDefinition.java:1050)
at sun.tools.java.ClassDefinition.collectInheritedMethods(ClassDefinition.java:1296)
at sun.tools.java.BinaryClass.basicCheck(BinaryClass.java:60)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:122)
at sun.tools.java.BinaryClass.initInnerClasses(BinaryClass.java:282)
at sun.tools.java.BinaryClass.loadNested(BinaryClass.java:180)
at sun.tools.javac.BatchEnvironment.loadDefinition(BatchEnvironment.java:507)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:112)
at sun.tools.java.BinaryClass.initInnerClasses(BinaryClass.java:291)
at sun.tools.java.BinaryClass.loadNested(BinaryClass.java:180)
at sun.tools.javac.BatchEnvironment.loadDefinition(BatchEnvironment.java:507)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:112)
at sun.tools.java.ClassDefinition.collectOneClass(ClassDefinition.java:1050)
at sun.tools.java.ClassDefinition.collectInheritedMethods(ClassDefinition.java:1296)
at sun.tools.java.BinaryClass.basicCheck(BinaryClass.java:60)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:122)
at sun.tools.java.BinaryClass.initInnerClasses(BinaryClass.java:282)
at sun.tools.java.BinaryClass.loadNested(BinaryClass.java:180)
at sun.tools.javac.BatchEnvironment.loadDefinition(BatchEnvironment.java:507)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:112)
at sun.tools.java.BinaryClass.initInnerClasses(BinaryClass.java:291)
at sun.tools.java.BinaryClass.loadNested(BinaryClass.java:180)
at sun.tools.javac.BatchEnvironment.loadDefinition(BatchEnvironment.java:507)
at sun.tools.java.Environment.loadDefinition(Environment.java:167)
at sun.tools.java.Environment.loadDefinition(Environment.java:167)
at sun.tools.java.Environment.loadDefinition(Environment.java:167)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:112)
at sun.tools.javac.SourceClass.checkSupers(SourceClass.java:728)
at sun.tools.javac.SourceClass.resolveTypeStructure(SourceClass.java:1093)
at sun.tools.javac.SourceClass.basicCheck(SourceClass.java:962)
at sun.tools.java.ClassDeclaration.getClassDefinition(ClassDeclaration.java:122)
at sun.tools.javac.Main.compile(Main.java:345)
at sun.tools.javac.Main.main(Main.java:571)
(Review ID: 23645)
======================================================================
- duplicates
-
JDK-4116994 javac gets "unresolved super" exception trying to compile Shape.java
-
- Closed
-
-
JDK-4100959 JDK 1.2 Compiler fails in "collectInheritedMethods"
-
- Closed
-
-
JDK-4143052 sun.tools.java.CompilerError reported in collectInheritedMethods()
-
- Closed
-