-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
None
Per JDK-8041994, the language about dependencies between classes and their supertypes was updated to include enclosing classes.
"A class C directly depends on a type T if T is mentioned in the extends or implements clause of C either as a superclass or superinterface, or as a qualifier in the fully qualified form of a superclass or superinterface name."
It's not clear what "the fully qualified form" means -- some classes have many fully-qualified names, and some have none (6.7). Might want "the canonical form", but again not all classes have canonical names, and also it seems like "B.C" depends on B, even if the canonical form is "A.C".
Perhaps a more direct definition of dependency, that explicitly enumerates both type qualifiers and class declarations' enclosing classes?
"A class C directly depends on a type T if T is mentioned in the extends or implements clause of C either as a superclass or superinterface, or as a qualifier in the fully qualified form of a superclass or superinterface name."
It's not clear what "the fully qualified form" means -- some classes have many fully-qualified names, and some have none (6.7). Might want "the canonical form", but again not all classes have canonical names, and also it seems like "B.C" depends on B, even if the canonical form is "A.C".
Perhaps a more direct definition of dependency, that explicitly enumerates both type qualifiers and class declarations' enclosing classes?
- relates to
-
JDK-8041994 8.1.4: Superclass/superinterface "depends" relationship misses imported qualified names
- Closed