Summary: | [javadoc] Inner types must be qualified | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Martin Aeschlimann <martinae> | ||||||||||
Component: | Core | Assignee: | Frederic Fusier <frederic_fusier> | ||||||||||
Status: | VERIFIED FIXED | QA Contact: | |||||||||||
Severity: | normal | ||||||||||||
Priority: | P3 | CC: | douglas.pollock, eric, markus.kell.r | ||||||||||
Version: | 3.1 | ||||||||||||
Target Milestone: | 3.3 M1 | ||||||||||||
Hardware: | PC | ||||||||||||
OS: | Windows XP | ||||||||||||
Whiteboard: | |||||||||||||
Bug Depends on: | |||||||||||||
Bug Blocks: | 119857 | ||||||||||||
Attachments: |
|
Description
Martin Aeschlimann
2005-05-22 05:51:01 EDT
Warning could wait post 3.1. defer post 3.1 Reopen for 3.2 *** Bug 115487 has been marked as a duplicate of this bug. *** In fact, even if the spec says inner types has to be qualified, javadoc.exe accept unqualified references to member types... Generate javadoc for this simple example: /** * @see Inner */ public class Test { public class Inner {} } does not give any warning at all. Note however that there's a warning if example becomes: /** * @see Inner */ public class Test { class Inner {} } and that you generate javadoc only for members with 'public' visibility. But this is only a problem a javadoc level of generation... So, we will not modify compiler behavior on this point Note that the example from comment 5 only seems to pass without a warning because the javadoc reference points from the enclosing type to its member type. In other cases, javadoc.exe from a 1.4 JDK reports a warning "reference not found: Inner": public class Test { /** * @see Inner */ public class Inner { } } /** * See also {@link Inner} */ class X extends Test { } According to the spec, javadoc.exe from a 1.5 SDK should report the same warnings. However, the 1.5 javadoc.exe only reports the second warning and accepts the first one. IMO, the eclipse javadoc compiler should issue a warning whenever a comment would cause a javadoc.exe to issue an error or a warning. ImportRewrite 1.1 had such a problem which remained undetected until the javadoc.exe was executed. Reopen *** Bug 103304 has been marked as a duplicate of this bug. *** Created attachment 39409 [details]
Temporary patch which should be appliable on top of v_659
This patch fixes the problem but still have some impact (not all JDT/Core tests are green...).
Defer patch finalization post 3.2 Created attachment 39554 [details]
Temporary patch which should be appliable on top of v_659
Wrong patch...
Reopen as final fix is now ready Created attachment 45150 [details]
Proposed patch
Released for 3.3 M1 in HEAD Created attachment 45373 [details]
Fix improvement
Previous patch missed one case: fully qualified inner class not warned when visible.
bug 103304 is not a duplicate of this bug! Verified for 3.3 M1 using build I20060804-0010. |