### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java,v retrieving revision 1.57 diff -u -r1.57 Javadoc.java --- compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 10 Sep 2007 07:11:04 -0000 1.57 +++ compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 19 May 2008 14:09:11 -0000 @@ -802,6 +802,44 @@ } } } + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + else if (typeReference instanceof JavadocQualifiedTypeReference/* && ! scope.isDefinedInSameUnit(resolvedType)*/) { // references within the same CU are allowed + char[][] typeRefName = ((JavadocQualifiedTypeReference) typeReference).getTypeName(); + boolean considerPackageName = false; + //https://bugs.eclipse.org/bugs/show_bug.cgi?id=221539 + // when in the same package, references can be partially qualified + if (topLevelScope.getCurrentPackage() == resolvedType.getPackage()) { + // same package: check if the reference contains package name + char[][] packageName = resolvedType.fPackage.compoundName; + checkPackage: for (int i = 0 ; i < packageName.length; i++) { + // verify each segment of the package name + if (! CharOperation.equals(typeRefName[i], packageName[i])) { + // type reference does not contain package name + considerPackageName = true; + break checkPackage; + } + } + } + int skipped = considerPackageName ? resolvedType.fPackage.compoundName.length : 0; + boolean valid = true; + if (typeRefName.length == computedCompoundName.length - skipped) { + // matching length: check if the reference is fully qualified + checkQualification: for (int i = 0 ; i < typeRefName.length; i++) { + // verify each segment + if (! CharOperation.equals(typeRefName[i], computedCompoundName[i + skipped])) { + valid = false; + break checkQualification; + } + } + } else { + valid = false; + } + // report invalid reference + if (! valid) { + if (scopeModifiers == -1) scopeModifiers = scope.getDeclarationModifiers(); + scope.problemReporter().javadocInvalidMemberTypeQualification(typeReference.sourceStart, typeReference.sourceEnd, scopeModifiers); + } + } } } } #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java,v retrieving revision 1.37 diff -u -r1.37 JavadocTest_1_5.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 7 Jan 2008 14:16:32 -0000 1.37 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 19 May 2008 14:09:18 -0000 @@ -1970,11 +1970,18 @@ }, //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2271,11 +2278,18 @@ }, //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3352,6 +3366,12 @@ " * @see A3.A4#foo(V)\n" + " ^^^\n" + "Javadoc: The method foo(Object) in the type A.A1.A2.A3.A4 is not applicable for the arguments (V)\n" + + "----------\n" + + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + "2. ERROR in p2\\X.java (at line 10)\n" + + " * @see A3.A4#foo(Object)\n" + + " ^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3398,6 +3418,12 @@ " * @see A.A1.A2.A3.A4#foo(V)\n" + " ^^^\n" + "Javadoc: The method foo(Object) in the type A.A1.A2.A3.A4 is not applicable for the arguments (V)\n" + + "----------\n" + + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + "2. ERROR in p2\\X.java (at line 10)\n" + + " * @see A.A1.A2.A3.A4#foo(Object)\n" + + " ^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3660,7 +3686,7 @@ public void testBug209936_MemberQualifiedSingleReference1() { reportMissingJavadocTags = CompilerOptions.IGNORE; reportMissingJavadocCommentsVisibility = CompilerOptions.WARNING; - runConformTest( + runNegativeTest( new String[] { "p1/A.java", "package p1;\n" + @@ -3696,14 +3722,31 @@ " }\n" + " }\n" + "}" - } + }, + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + "----------\n" + + "1. ERROR in p2\\X.java (at line 9)\r\n" + + " * @see A3.A4#foo(Object)\r\n" + + " ^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in p2\\X.java (at line 10)\r\n" + + " * @see A2.A3.A4#foo(Object)\r\n" + + " ^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "3. ERROR in p2\\X.java (at line 11)\r\n" + + " * @see A1.A2.A3.A4#foo(Object)\r\n" + + " ^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" ); } public void testBug209936_MemberQualifiedSingleReference2() { reportMissingJavadocTags = CompilerOptions.IGNORE; reportMissingJavadocCommentsVisibility = CompilerOptions.WARNING; - runConformTest( + runNegativeTest( new String[] { "p1/A.java", "package p1;\n" + @@ -3746,7 +3789,19 @@ " }\n" + " }\n" + "}" - } + }, + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + "----------\n" + + "1. ERROR in p2\\X.java (at line 11)\r\n" + + " * @see A5.A6#foo(Object)\r\n" + + " ^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in p2\\X.java (at line 12)\r\n" + + " * @see A4.A5.A6#foo(Object)\r\n" + + " ^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" ); } @@ -3789,8 +3844,14 @@ "}" }, "----------\n" + - "1. ERROR in p2\\X.java (at line 10)\r\n" + - " * @see A.A1.A2.A3.A4#foo(R)\r\n" + + "1. ERROR in p2\\X.java (at line 9)\n" + + " * @see A.A1.A2.A3.A4#foo(Object)\n" + + " ^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + "2. ERROR in p2\\X.java (at line 10)\n" + + " * @see A.A1.A2.A3.A4#foo(R)\n" + " ^^^\n" + "Javadoc: The method foo(Object) in the type A.A1.A2.A3.A4 is not applicable for the arguments (R)\n" + "----------\n" Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java,v retrieving revision 1.25 diff -u -r1.25 JavadocTestForMethod.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 22 Feb 2008 09:54:22 -0000 1.25 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 19 May 2008 14:09:16 -0000 @@ -1959,24 +1959,39 @@ // @see Classes references public void test090() { - this.runConformReferenceTest( + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + // warning - Tag @see: reference not found: Visibility.AvcPublic invalid ref for javadoc too + // warning - Tag @see: reference not found: test.Visibility.AvcPublic invalid ref for javadoc too + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + "public class X {\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + " public void s_foo() {\n" - + " }\n" - + "}\n" }); + "package test;\n" + + "public class X {\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + " public void s_foo() {\n" + + " }\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\X.java (at line 11)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test091() { @@ -2026,7 +2041,9 @@ } public void test092() { - runConformReferenceTest( + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic Valid ref: visible inner class in visible class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -2040,9 +2057,14 @@ " */\n" + " public void s_foo() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic Valid ref: visible inner class in visible class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test093() { @@ -2224,20 +2246,29 @@ } public void test102() { - this.runConformReferenceTest( + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + // warning - Tag @see: reference not found: Visibility.AvcPublic#avf_public Valid ref: visible field of inherited visible inner class + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + "public class X {\n" - + " /**\n" - + " * Valid super class field references in the same package\n" - + " *\n" - + " * @see Visibility#avf_public Valid ref: visible inherited field\n" - + " * @see Visibility.AvcPublic#avf_public Valid ref: visible field of inherited visible inner class\n" - + " */\n" - + " public void s_foo() {\n" - + " }\n" - + "}\n" }); + "package test;\n" + + "public class X {\n" + + " /**\n" + + " * Valid super class field references in the same package\n" + + " *\n" + + " * @see Visibility#avf_public Valid ref: visible inherited field\n" + + " * @see Visibility.AvcPublic#avf_public Valid ref: visible field of inherited visible inner class\n" + + " */\n" + + " public void s_foo() {\n" + + " }\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 7)\r\n" + + " * @see Visibility.AvcPublic#avf_public Valid ref: visible field of inherited visible inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test103() { @@ -2492,7 +2523,8 @@ } public void test107() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -2506,9 +2538,14 @@ " */\n" + " public void s_foo() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test108() { @@ -3962,22 +3999,37 @@ } public void test145() { - this.runConformReferenceTest( + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + // warning - Tag @see: reference not found: Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + "public class X {\n" - + " /**\n" - + " * Valid package super class methods references\n" - + " * \n" - + " * @see Visibility#avm_public() Valid ref: visible inherited method\n" - + " * @see Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\n" - + " * @see test.Visibility#avm_public() Valid ref: visible inherited method\n" - + " * @see test.Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\n" - + " */ \n" - + " public void s_foo() {\n" - + " }\n" - + "}\n" }); + "package test;\n" + + "public class X {\n" + + " /**\n" + + " * Valid package super class methods references\n" + + " * \n" + + " * @see Visibility#avm_public() Valid ref: visible inherited method\n" + + " * @see Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\n" + + " * @see test.Visibility#avm_public() Valid ref: visible inherited method\n" + + " * @see test.Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\n" + + " */ \n" + + " public void s_foo() {\n" + + " }\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 7)\r\n" + + " * @see Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\X.java (at line 9)\r\n" + + " * @see test.Visibility.AvcPublic#avm_public() Valid ref: visible inherited method in visible inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test146() { @@ -4454,7 +4506,9 @@ } public void test154() { - runConformReferenceTest( + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -4468,9 +4522,14 @@ " */\n" + " public void s_foo() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test155() { Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java,v retrieving revision 1.17 diff -u -r1.17 JavadocTestForField.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java 3 Oct 2006 15:19:13 -0000 1.17 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForField.java 19 May 2008 14:09:15 -0000 @@ -340,23 +340,37 @@ // @see Classes references public void test020() { - this.runConformReferenceTest( + // warning - Tag @see: reference not found: Visibility.AvcPublic Valid ref: visible inherited inner class of local class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + "public class X {\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + " public int x;\n" - + "}\n" }); + "package test;\n" + + "public class X {\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + " public int x;\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\X.java (at line 11)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test021() { @@ -542,7 +556,8 @@ } public void test032() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -555,9 +570,14 @@ " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\n" + " */\n" + " public int x;\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test033() { @@ -977,7 +997,8 @@ } public void test052() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -990,9 +1011,14 @@ " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\n" + " */\n" + " public int x;\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test053() { Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java,v retrieving revision 1.32 diff -u -r1.32 JavadocTest_1_3.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 22 Feb 2008 09:54:22 -0000 1.32 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 19 May 2008 14:09:17 -0000 @@ -2735,6 +2735,7 @@ //comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + @@ -2746,6 +2747,12 @@ " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3056,6 +3063,7 @@ //comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + @@ -3067,6 +3075,12 @@ " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java,v retrieving revision 1.42 diff -u -r1.42 JavadocBugsTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 7 May 2008 17:55:04 -0000 1.42 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 19 May 2008 14:09:14 -0000 @@ -7247,4 +7247,169 @@ reportMissingJavadocDescription = CompilerOptions.ALL_STANDARD_TAGS; runConformTest(units); } + + /** + * @bug 222188: [javadoc] Incorrect usage of inner type not reported + * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188" + */ + public void testBug222188a() { + // case 1: partially qualified reference in another package + String[] units = new String[] { + "pack/Test.java", + "package pack;\n" + + "public class Test {\n" + + " public interface Inner { }\n" + + "}\n" + , + "pack2/X.java", + "package pack2;\n" + + "import pack.Test;\n" + + "public class X {\n" + + "/**\n" + + " * See also {@link Test.Inner} -- error/warning \n" + + " */\n" + + " public void m() { }\n" + + "}\n" + }; + reportInvalidJavadoc = CompilerOptions.ERROR; + runNegativeTest(units, + // warning - Tag @link: reference not found: Test.Inner + "----------\n" + + "1. ERROR in pack2\\X.java (at line 5)\n" + + " * See also {@link Test.Inner} -- error/warning \n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); + } + + public void testBug222188b() { + // case 2: fully but invalid qualified reference in another package + String[] units = new String[] { + "pack/Test.java", + "package pack;\n" + + "public class Test {\n" + + " public interface Inner { }\n" + + "}\n" + , + "pack2/X.java", + "package pack2;\n" + + "public class X {\n" + + "/**\n" + + " * See also {@link pack.Test.Inners} -- error/warning \n" + + " */\n" + + " public void m() { }\n" + + "}\n" + }; + reportInvalidJavadoc = CompilerOptions.ERROR; + runNegativeTest(units, + // warning - Tag @link: reference not found: Test.Inner + "----------\n" + + "1. ERROR in pack2\\X.java (at line 4)\n" + + " * See also {@link pack.Test.Inners} -- error/warning \n" + + " ^^^^^^^^^^^^^^^^\n" + + "Javadoc: pack.Test.Inners cannot be resolved to a type\n" + + "----------\n" + ); + } + + /** + * @bug 221539: [javadoc] doesn't detect non visible inner class + * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=221539" + */ + public void testBug221539a() { + // partially qualified reference in the same package + String[] units = new String[] { + "p/Test.java", + "package p;\n" + + "/**\n" + + " * {@link Test.Inner} not ok for Javadoc\n" + + " * {@link Foo.Inner} ok for Javadoc\n" + + " */\n" + + "public class Test extends Foo {\n" + + "}\n" + , + "p/Foo.java", + "package p;\n" + + "public class Foo {\n" + + " static class Inner {}\n" + + "}\n" + }; + reportInvalidJavadoc = CompilerOptions.ERROR; + runNegativeTest(units, + // warning - Tag @link: reference not found: Test.Inner + "----------\n" + + "1. ERROR in p\\Test.java (at line 3)\n" + + " * {@link Test.Inner} not ok for Javadoc\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); + } + public void testBug221539b() { + // partially qualified reference in different package + String[] units = new String[] { + "p1/Test.java", + "package p1;\n" + + "import p2.Foo;\n" + + "/**\n" + + " * {@link Test.Inner} not ok for Javadoc\n" + + " * {@link Foo.Inner} not ok Javadoc\n" + + " * {@link p2.Foo.Inner} ok for Javadoc as fully qualified\n" + + " */\n" + + "public class Test extends Foo {\n" + + "}\n" + , + "p2/Foo.java", + "package p2;\n" + + "public class Foo {\n" + + " public static class Inner {}\n" + + "}\n" + }; + reportInvalidJavadoc = CompilerOptions.ERROR; + runNegativeTest(units, + // warning - Tag @link: reference not found: Test.Inner + // warning - Tag @link: reference not found: Foo.Inner + "----------\n" + + "1. ERROR in p1\\Test.java (at line 4)\n" + + " * {@link Test.Inner} not ok for Javadoc\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in p1\\Test.java (at line 5)\n" + + " * {@link Foo.Inner} not ok Javadoc\n" + + " ^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); + } + + public void testBug221539c() { + // case 3: partially qualified references are valid within the same CU + this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; + runConformTest( + new String[] { + "pack/Test.java", + "package pack;\n" + + "/**\n" + + " * @see Inner.Level2.Level3\n" + + " * @see Test.Inner.Level2.Level3\n" + + " */\n" + + "public class Test {\n" + + " public class Inner {\n" + + " /**\n" + + " * @see Level3\n" + + " * @see Level2.Level3\n" + + " * @see Inner.Level2.Level3\n" + + " * @see Test.Inner.Level2.Level3\n" + + " */\n" + + " public class Level2 {\n" + + " class Level3 {\n" + + " }\n" + + " }\n" + + " }\n" + + "}\n" + } + ); + } } \ No newline at end of file Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java,v retrieving revision 1.35 diff -u -r1.35 JavadocTest_1_4.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 22 Feb 2008 09:54:22 -0000 1.35 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 19 May 2008 14:09:17 -0000 @@ -3000,6 +3000,7 @@ //comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + @@ -3011,6 +3012,12 @@ " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3321,6 +3328,7 @@ //comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner //comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner //comment6a\test\Invalid2.java:8: warning - Tag @see: reference not found: Test.Inner => bug ID: 4464323 + // => bug ID: 4464323 - fixed by // https://bugs.eclipse.org/bugs/show_bug.cgi?id=222188: partially qualified references should be warned "----------\n" + "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + @@ -3332,6 +3340,12 @@ " * See also {@link Inner}\n" + " ^^^^^\n" + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "----------\n" + + "1. ERROR in comment6a\\test\\Invalid2.java (at line 4)\n" + + " * @see Test.Inner\n" + + " ^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java,v retrieving revision 1.22 diff -u -r1.22 JavadocTestForInterface.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 3 Oct 2006 15:19:13 -0000 1.22 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 19 May 2008 14:09:15 -0000 @@ -298,23 +298,37 @@ // @see Classes references public void test020() { - this.runConformReferenceTest( + // warning - Tag @see: reference not found: Visibility.AvcPublic Valid ref: visible inherited inner class of local class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class + runNegativeReferenceTest( new String[] { "test/IX.java", - "package test;\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + "public interface IX {\n" - + " public void foo();\n" - + "}\n" }); + "package test;\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + "public interface IX {\n" + + " public void foo();\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 7)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\IX.java (at line 10)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test021() { @@ -498,7 +512,8 @@ } public void test032() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/IX.java", "package test;\n" + @@ -511,9 +526,14 @@ " */\n" + "public interface IX {\n" + " public void foo();\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 7)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test033() { @@ -913,7 +933,8 @@ } public void test052() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class + runNegativeReferenceTest( new String[] { "test/IX.java", "package test;\n" + @@ -926,9 +947,14 @@ " */\n" + "public interface IX {\n" + " public void foo();\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 7)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test053() { @@ -1565,23 +1591,37 @@ // @see tag: class references public void test095() { - this.runConformReferenceTest( + // warning - Tag @see: reference not found: Visibility.AvcPublic Valid ref: visible inherited inner class of local class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class + runNegativeReferenceTest( new String[] { "test/IX.java", - "package test;\n" - + "public interface IX {\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + " public void foo();\n" - + "}\n" }); + "package test;\n" + + "public interface IX {\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + " public void foo();\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 8)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\IX.java (at line 11)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test096() { @@ -1765,7 +1805,8 @@ } public void test107() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/IX.java", "package test;\n" + @@ -1778,9 +1819,14 @@ " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\n" + " */\n" + " public void foo();\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test108() { @@ -2183,7 +2229,8 @@ } public void test122() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class + runNegativeReferenceTest( new String[] { "test/IX.java", "package test;\n" + @@ -2196,9 +2243,14 @@ " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\n" + " */\n" + " public void foo();\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\IX.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test123() { Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java,v retrieving revision 1.18 diff -u -r1.18 JavadocTestForClass.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java 3 Oct 2006 15:19:13 -0000 1.18 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForClass.java 19 May 2008 14:09:14 -0000 @@ -319,24 +319,38 @@ // @see Classes references public void test020() { - this.runConformReferenceTest( + // warning - Tag @see: reference not found: Visibility.AvcPublic Valid ref: visible inherited inner class of local class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + "public class X {\n" - + " public void s_foo() {\n" - + " }\n" - + "}\n" }); + "package test;\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + "public class X {\n" + + " public void s_foo() {\n" + + " }\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 7)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\X.java (at line 10)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test021() { @@ -528,7 +542,8 @@ } public void test032() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -542,9 +557,14 @@ "public class X {\n" + " public void s_foo() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 7)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test033() { @@ -952,7 +972,8 @@ } public void test052() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -966,9 +987,14 @@ "public class X {\n" + " public void s_foo() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 7)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test053() { Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java,v retrieving revision 1.19 diff -u -r1.19 JavadocTestForConstructor.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 3 Oct 2006 15:19:13 -0000 1.19 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 19 May 2008 14:09:14 -0000 @@ -261,24 +261,38 @@ // @see Classes references public void test020() { - this.runConformReferenceTest( + // warning - Tag @see: reference not found: Visibility.AvcPublic Valid ref: visible inherited inner class of local class + // warning - Tag @see: reference not found: test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class + runNegativeReferenceTest( new String[] { "test/X.java", - "package test;\n" - + "public class X {\n" - + " /**\n" - + " * Valid local classes references \n" - + " *\n" - + " * @see Visibility Valid ref: local class \n" - + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " * @see test.Visibility Valid ref: local class \n" - + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" - + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" - + " */\n" - + " public X() {\n" - + " }\n" - + "}\n" }); + "package test;\n" + + "public class X {\n" + + " /**\n" + + " * Valid local classes references \n" + + " *\n" + + " * @see Visibility Valid ref: local class \n" + + " * @see Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " * @see test.Visibility Valid ref: local class \n" + + " * @see test.Visibility.VcPublic Valid ref: visible inner class of local class \n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \n" + + " */\n" + + " public X() {\n" + + " }\n" + + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + + "2. ERROR in test\\X.java (at line 11)\r\n" + + " * @see test.Visibility.AvcPublic Valid ref: visible inherited inner class of local class \r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test021() { @@ -470,7 +484,8 @@ } public void test032() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -484,9 +499,14 @@ " */\n" + " public X() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test033() { @@ -908,7 +928,8 @@ } public void test052() { - runConformReferenceTest( + // warning - Tag @see: reference not found: VisibilityPublic.VpPublic#vf_public Valid ref to not visible field of other package public inner class + runNegativeReferenceTest( new String[] { "test/X.java", "package test;\n" + @@ -922,9 +943,14 @@ " */\n" + " public X() {\n" + " }\n" + - "}\n" - } - ); + "}\n" }, + "----------\n" + + "1. ERROR in test\\X.java (at line 8)\r\n" + + " * @see VisibilityPublic.VpPublic#vm_public() Valid ref to visible method of other package public inner class\r\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + + "----------\n" + ); } public void test053() {