### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java,v retrieving revision 1.8 diff -u -r1.8 AbstractJavadocCompletionModelTest.java --- src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java 31 May 2006 15:08:42 -0000 1.8 +++ src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java 27 Jun 2006 08:37:28 -0000 @@ -158,12 +158,10 @@ "R_DICUNREETIT", }; - // Write file contants + // Write file contents protected static final String WRITE_DIR = System.getProperty("writeDir"); protected static final File WRITE_DIR_FILE; protected static final Set PACKAGE_FILES = new HashSet(); - - CompletionTestsRequestor2 requestor; static { File writeDir = null; if (WRITE_DIR != null) { @@ -179,6 +177,8 @@ } WRITE_DIR_FILE = writeDir; } + + CompletionTestsRequestor2 requestor; protected int cursorLocation; protected int completionStart; protected String replacedText; #P org.eclipse.jdt.core.tests.compiler 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.25 diff -u -r1.25 JavadocTest_1_4.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 23 Jun 2006 07:57:25 -0000 1.25 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_4.java 27 Jun 2006 08:37:33 -0000 @@ -2866,7 +2866,7 @@ "1. ERROR in comment6\\Invalid.java (at line 4)\r\n" + " * @see Inner\r\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2897,6 +2897,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner @@ -2906,19 +2914,19 @@ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2957,13 +2965,13 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6b\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3107,6 +3115,37 @@ "----------\n" ); } + public void testBug96237_Public08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; + runNegativeTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + }, + "----------\n" + + "1. ERROR in test\\d\\Test.java (at line 3)\n" + + " * @see Secondary\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + + "2. ERROR in test\\d\\Test.java (at line 4)\n" + + " * @see Reference\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + ); + } public void testBug96237_Private01() { this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; runConformTest( @@ -3149,12 +3188,12 @@ "1. ERROR in comment6\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in comment6\\Invalid.java (at line 9)\n" + " * See also {@link Inner} \n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3185,6 +3224,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner @@ -3194,19 +3241,19 @@ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3245,13 +3292,13 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6b\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3320,6 +3367,26 @@ } ); } + public void testBug96237_Private08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; + runConformTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + } + ); + } /** * Bug 101283: [1.5][javadoc] Javadoc validation raises missing implementation in compiler @@ -3568,7 +3635,7 @@ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + " * @see ValidationException\r\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3630,19 +3697,19 @@ "1. ERROR in boden\\TestInvalid1.java (at line 5)\n" + " * @see ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid2.java (at line 5)\n" + " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid3.java (at line 5)\n" + " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + @@ -3685,7 +3752,7 @@ "1. ERROR in test\\C.java (at line 8)\n" + " * @see Test.Level0#Level0()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3727,12 +3794,12 @@ "1. ERROR in test\\C2.java (at line 8)\n" + " * @see Test.Member.Level1#Level1()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in test\\C2.java (at line 12)\n" + " * @see Test.Member.Level1#Test.Level1()\n" + " ^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3814,42 +3881,42 @@ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + " * @see #Level0() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in implicit\\Invalid.java (at line 9)\n" + " * @see #Level0(String) Invalid\n" + " ^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "3. ERROR in implicit\\Invalid.java (at line 16)\n" + " * @see #Level1() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "4. ERROR in implicit\\Invalid.java (at line 17)\n" + " * @see #Member.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "5. ERROR in implicit\\Invalid.java (at line 18)\n" + " * @see #Invalid.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "6. ERROR in implicit\\Invalid.java (at line 22)\n" + " * @see #Level1(int) Invalid\n" + " ^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "7. ERROR in implicit\\Invalid.java (at line 23)\n" + " * @see #Invalid.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "8. ERROR in implicit\\Invalid.java (at line 24)\n" + " * @see #Member.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } 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.22 diff -u -r1.22 JavadocTest_1_3.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 23 Jun 2006 07:57:25 -0000 1.22 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_3.java 27 Jun 2006 08:37:32 -0000 @@ -2596,7 +2596,7 @@ "1. ERROR in comment6\\Invalid.java (at line 4)\r\n" + " * @see Inner\r\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2627,6 +2627,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner @@ -2636,19 +2644,19 @@ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2687,13 +2695,13 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6b\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2837,6 +2845,37 @@ "----------\n" ); } + public void testBug96237_Public08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; + runNegativeTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + }, + "----------\n" + + "1. ERROR in test\\d\\Test.java (at line 3)\n" + + " * @see Secondary\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + + "2. ERROR in test\\d\\Test.java (at line 4)\n" + + " * @see Reference\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + ); + } public void testBug96237_Private01() { this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; runConformTest( @@ -2879,12 +2918,12 @@ "1. ERROR in comment6\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in comment6\\Invalid.java (at line 9)\n" + " * See also {@link Inner} \n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2915,6 +2954,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\def\Test.java:6: warning - Tag @see: reference not found: Inner @@ -2924,19 +2971,19 @@ "1. ERROR in comment6a\\def\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2975,13 +3022,13 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in comment6b\\Test.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3050,6 +3097,26 @@ } ); } + public void testBug96237_Private08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; + runConformTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + } + ); + } /** * Bug 95286: [1.5][javadoc] package-info.java incorrectly flags "Missing comment for public declaration" @@ -3574,7 +3641,7 @@ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + " * @see ValidationException\r\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3636,19 +3703,19 @@ "1. ERROR in boden\\TestInvalid1.java (at line 5)\n" + " * @see ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid2.java (at line 5)\n" + " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid3.java (at line 5)\n" + " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + @@ -3691,7 +3758,7 @@ "1. ERROR in test\\C.java (at line 8)\n" + " * @see Test.Level0#Level0()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3733,12 +3800,12 @@ "1. ERROR in test\\C2.java (at line 8)\n" + " * @see Test.Member.Level1#Level1()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in test\\C2.java (at line 12)\n" + " * @see Test.Member.Level1#Test.Level1()\n" + " ^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -3820,42 +3887,42 @@ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + " * @see #Level0() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in implicit\\Invalid.java (at line 9)\n" + " * @see #Level0(String) Invalid\n" + " ^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "3. ERROR in implicit\\Invalid.java (at line 16)\n" + " * @see #Level1() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "4. ERROR in implicit\\Invalid.java (at line 17)\n" + " * @see #Member.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "5. ERROR in implicit\\Invalid.java (at line 18)\n" + " * @see #Invalid.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "6. ERROR in implicit\\Invalid.java (at line 22)\n" + " * @see #Level1(int) Invalid\n" + " ^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "7. ERROR in implicit\\Invalid.java (at line 23)\n" + " * @see #Invalid.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "8. ERROR in implicit\\Invalid.java (at line 24)\n" + " * @see #Member.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } 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.28 diff -u -r1.28 JavadocTest_1_5.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 23 Jun 2006 07:57:25 -0000 1.28 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTest_1_5.java 27 Jun 2006 08:37:34 -0000 @@ -1972,6 +1972,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner @@ -1980,13 +1988,13 @@ "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2024,7 +2032,7 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2168,6 +2176,37 @@ "----------\n" ); } + public void testBug96237_Public08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PUBLIC; + runNegativeTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + }, + "----------\n" + + "1. ERROR in test\\d\\Test.java (at line 3)\n" + + " * @see Secondary\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + + "2. ERROR in test\\d\\Test.java (at line 4)\n" + + " * @see Reference\n" + + " ^^^^^^^^^\n" + + "Javadoc: Not visible reference\n" + + "----------\n" + ); + } public void testBug96237_Private01() { this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; runConformTest( @@ -2209,7 +2248,7 @@ "1. ERROR in comment6\\Invalid.java (at line 9)\n" + " * See also {@link Inner} \n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2240,6 +2279,14 @@ " * @see Test.Inner\n" + " */\n" + "public class Invalid2 extends Test { \n" + + "}", + "comment6a/test/Valid.java", + "package comment6a.test;\n" + + "import comment6a.def.Test;\n" + + "/**\n" + + " * @see comment6a.def.Test.Inner\n" + + " */\n" + + "public class Valid extends Test { \n" + "}" }, // comment6a\test\Invalid.java:8: warning - Tag @link: reference not found: Inner @@ -2248,13 +2295,13 @@ "1. ERROR in comment6a\\test\\Invalid.java (at line 4)\n" + " * See also {@link Inner}\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\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: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2292,7 +2339,7 @@ "1. ERROR in comment6b\\Invalid.java (at line 4)\n" + " * @see Inner\n" + " ^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2361,6 +2408,26 @@ } ); } + public void testBug96237_Private08() { + this.reportInvalidJavadocVisibility = CompilerOptions.PRIVATE; + runConformTest( + new String[] { + "test/d/Reference.java", + "package test.d;\n" + + "class Reference {\n" + + "}\n", + "test/d/Test.java", + "package test.d;\n" + + "/**\n" + + " * @see Secondary\n" + + " * @see Reference\n" + + " */\n" + + "public class Test {\n" + + "}\n" + + "class Secondary {}" + } + ); + } /** * Bug 101283: [1.5][javadoc] Javadoc validation raises missing implementation in compiler @@ -2663,7 +2730,7 @@ "1. ERROR in boden\\TestValid.java (at line 4)\r\n" + " * @see ValidationException\r\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Not visible reference\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2725,19 +2792,19 @@ "1. ERROR in boden\\TestInvalid1.java (at line 5)\n" + " * @see ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid2.java (at line 5)\n" + " * @see IAFAState.ValidationException#ValidationException(String, IAFAState)\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid3.java (at line 5)\n" + " * @see IAFAState.ValidationException#IAFA.State.ValidationException(String, IAFAState)\n" + - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "----------\n" + "1. ERROR in boden\\TestInvalid4.java (at line 5)\n" + @@ -2780,7 +2847,7 @@ "1. ERROR in test\\C.java (at line 8)\n" + " * @see Test.Level0#Level0()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2822,12 +2889,12 @@ "1. ERROR in test\\C2.java (at line 8)\n" + " * @see Test.Member.Level1#Level1()\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in test\\C2.java (at line 12)\n" + " * @see Test.Member.Level1#Test.Level1()\n" + " ^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } @@ -2909,42 +2976,42 @@ "1. ERROR in implicit\\Invalid.java (at line 5)\n" + " * @see #Level0() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "2. ERROR in implicit\\Invalid.java (at line 9)\n" + " * @see #Level0(String) Invalid\n" + " ^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "3. ERROR in implicit\\Invalid.java (at line 16)\n" + " * @see #Level1() Invalid\n" + " ^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "4. ERROR in implicit\\Invalid.java (at line 17)\n" + " * @see #Member.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "5. ERROR in implicit\\Invalid.java (at line 18)\n" + " * @see #Invalid.Level1() Invalid\n" + " ^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "6. ERROR in implicit\\Invalid.java (at line 22)\n" + " * @see #Level1(int) Invalid\n" + " ^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "7. ERROR in implicit\\Invalid.java (at line 23)\n" + " * @see #Invalid.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" + "8. ERROR in implicit\\Invalid.java (at line 24)\n" + " * @see #Member.Level1(int) Invalid\n" + " ^^^^^^^^^^^^^^^^^^\n" + - "Javadoc: Invalid qualification for member type constructor\n" + + "Javadoc: Invalid member type qualification\n" + "----------\n" ); } #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.44 diff -u -r1.44 Javadoc.java --- compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 23 Jun 2006 07:57:55 -0000 1.44 +++ compiler/org/eclipse/jdt/internal/compiler/ast/Javadoc.java 27 Jun 2006 08:37:38 -0000 @@ -64,6 +64,88 @@ } /* + * Search node with a given staring position in javadoc objects arrays. + */ + public ASTNode getNodeStartingAt(int start) { + int length = 0; + // parameters array + if (this.paramReferences != null) { + length = this.paramReferences.length; + for (int i=0; i 0 && CharOperation.equals(qualification[--idx], enclosingTypeBinding.sourceName) && (enclosingTypeBinding = enclosingTypeBinding.enclosingType()) != null) { // verify that each qualification token matches enclosing types } if (idx > 0 || enclosingTypeBinding != null) { - scope.problemReporter().javadocInvalidConstructorQualification(this.memberStart+1, this.sourceEnd); //, scope.getDeclarationModifiers()); + scope.problemReporter().javadocInvalidMemberTypeQualification(this.memberStart+1, this.sourceEnd, scope.getDeclarationModifiers()); } } } Index: compiler/org/eclipse/jdt/core/compiler/IProblem.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java,v retrieving revision 1.177 diff -u -r1.177 IProblem.java --- compiler/org/eclipse/jdt/core/compiler/IProblem.java 23 Jun 2006 07:57:55 -0000 1.177 +++ compiler/org/eclipse/jdt/core/compiler/IProblem.java 27 Jun 2006 08:37:38 -0000 @@ -759,10 +759,10 @@ */ int JavadocNotVisibleReference = Javadoc + Internal + 465; /** - * Problem signaled on an unqualified inner class constructor reference. + * Problem signaled on an invalid qualification for member type reference. * @since 3.3 */ - int JavadocInvalidConstructorQualification = Javadoc + Internal + 466; + int JavadocInvalidMemberTypeQualification = Javadoc + Internal + 466; /** @since 3.2 */ int JavadocMissingIdentifier = Javadoc + Internal + 467; /** @since 3.2 */ Index: compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties,v retrieving revision 1.205 diff -u -r1.205 messages.properties --- compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties 23 Jun 2006 07:57:55 -0000 1.205 +++ compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties 27 Jun 2006 08:37:42 -0000 @@ -363,7 +363,7 @@ ### DOC 465 = Not visible reference -466 = Invalid qualification for member type constructor +466 = Invalid member type qualification 467 = Missing identifier 468 = Cannot make a static reference to the non-static type variable {0} 469 = Invalid param tag type parameter name Index: compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java,v retrieving revision 1.313 diff -u -r1.313 ProblemReporter.java --- compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 23 Jun 2006 07:57:55 -0000 1.313 +++ compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 27 Jun 2006 08:37:41 -0000 @@ -215,7 +215,7 @@ case IProblem.JavadocDuplicateParamName: case IProblem.JavadocMissingParamName: case IProblem.JavadocMissingIdentifier: - case IProblem.JavadocInvalidConstructorQualification: + case IProblem.JavadocInvalidMemberTypeQualification: case IProblem.JavadocInvalidThrowsClassName: case IProblem.JavadocDuplicateThrowsClassName: case IProblem.JavadocMissingThrowsClassName: @@ -990,7 +990,7 @@ case IProblem.JavadocDuplicateParamName: case IProblem.JavadocMissingParamName: case IProblem.JavadocMissingIdentifier: - case IProblem.JavadocInvalidConstructorQualification: + case IProblem.JavadocInvalidMemberTypeQualification: case IProblem.JavadocInvalidThrowsClassName: case IProblem.JavadocDuplicateThrowsClassName: case IProblem.JavadocMissingThrowsClassName: @@ -3815,9 +3815,6 @@ statement.sourceStart, statement.sourceEnd); } -public void javadocInvalidConstructorQualification(int sourceStart, int sourceEnd){ - this.handle(IProblem.JavadocInvalidConstructorQualification, NoArgument, NoArgument, sourceStart, sourceEnd); -} /* * Similar implementation than invalidField(FieldReference...) * Note that following problem id cannot occur for Javadoc: @@ -3856,6 +3853,11 @@ sourceEnd); } } +public void javadocInvalidMemberTypeQualification(int sourceStart, int sourceEnd, int modifiers){ + if (javadocVisibility(this.options.reportInvalidJavadocTagsVisibility, modifiers)) { + this.handle(IProblem.JavadocInvalidMemberTypeQualification, NoArgument, NoArgument, sourceStart, sourceEnd); + } +} /* * Similar implementation than invalidMethod(MessageSend...) * Note that following problem id cannot occur for Javadoc: Index: compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java,v retrieving revision 1.55 diff -u -r1.55 JavadocParser.java --- compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java 23 Jun 2006 07:57:55 -0000 1.55 +++ compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java 27 Jun 2006 08:37:38 -0000 @@ -180,7 +180,7 @@ TypeReference typeRef = (TypeReference) receiver; // Decide whether we have a constructor or not boolean isConstructor = false; - int length = this.identifierLengthStack[0]; // may be > 0 for inner class constructor reference + int length = this.identifierLengthStack[0]; // may be > 0 for member class constructor reference if (typeRef == null) { char[] name = this.sourceParser.compilationUnit.getMainTypeName(); TypeDeclaration typeDecl = getParsedTypeDeclaration(); @@ -206,7 +206,7 @@ } if (!valid) { if (this.reportProblems) { - this.sourceParser.problemReporter().javadocInvalidConstructorQualification(this.memberStart+1, this.scanner.getCurrentTokenEndPosition()); + this.sourceParser.problemReporter().javadocInvalidMemberTypeQualification((int)(this.identifierPositionStack[0]>>>32), (int)this.identifierPositionStack[length-1], -1); } return null; } @@ -226,6 +226,7 @@ allocation.qualification = new char[][] { this.identifierStack[0] }; } else { System.arraycopy(this.identifierStack, 0, allocation.qualification = new char[length][], 0, length); + allocation.sourceStart = (int) (this.identifierPositionStack[0] >>> 32); } allocation.memberStart = this.memberStart; return allocation; @@ -249,6 +250,7 @@ allocation.qualification = new char[][] { this.identifierStack[0] }; } else { System.arraycopy(this.identifierStack, 0, allocation.qualification = new char[length][], 0, length); + allocation.sourceStart = (int) (this.identifierPositionStack[0] >>> 32); } allocation.memberStart = this.memberStart; return allocation; Index: dom/org/eclipse/jdt/core/dom/DocCommentParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java,v retrieving revision 1.35 diff -u -r1.35 DocCommentParser.java --- dom/org/eclipse/jdt/core/dom/DocCommentParser.java 23 Jun 2006 07:57:55 -0000 1.35 +++ dom/org/eclipse/jdt/core/dom/DocCommentParser.java 27 Jun 2006 08:37:44 -0000 @@ -167,11 +167,11 @@ // Create method ref MethodRef methodRef = this.ast.newMethodRef(); SimpleName methodName = new SimpleName(this.ast); - int memberPtr = this.identifierLengthStack[0] - 1; - methodName.internalSetIdentifier(new String(this.identifierStack[memberPtr])); + int length = this.identifierLengthStack[0] - 1; // may be > 0 for member class constructor reference + methodName.internalSetIdentifier(new String(this.identifierStack[length])); methodRef.setName(methodName); - int start = (int) (this.identifierPositionStack[memberPtr] >>> 32); - int end = (int) this.identifierPositionStack[memberPtr]; + int start = (int) (this.identifierPositionStack[length] >>> 32); + int end = (int) this.identifierPositionStack[length]; methodName.setSourceRange(start, end - start + 1); // Set qualifier if (receiver == null) { Index: dom/org/eclipse/jdt/core/dom/ASTConverter.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java,v retrieving revision 1.241 diff -u -r1.241 ASTConverter.java --- dom/org/eclipse/jdt/core/dom/ASTConverter.java 22 Jun 2006 08:35:04 -0000 1.241 +++ dom/org/eclipse/jdt/core/dom/ASTConverter.java 27 Jun 2006 08:37:44 -0000 @@ -3688,8 +3688,21 @@ } else if (node.getNodeType() == ASTNode.METHOD_REF) { MethodRef methodRef = (MethodRef) node; Name name = methodRef.getName(); - // get compiler node and record nodes - int start = name.getStartPosition(); + // get method name start position + int start = methodRef.getStartPosition(); + this.scanner.resetTo(start, start + name.getStartPosition()+name.getLength()); + int token; + try { + nextToken: while((token = this.scanner.getNextToken()) != TerminalTokens.TokenNameEOF && token != TerminalTokens.TokenNameLPAREN) { + if (token == TerminalTokens.TokenNameERROR && this.scanner.currentCharacter == '#') { + start = this.scanner.getCurrentTokenEndPosition()+1; + break nextToken; + } + } + } + catch(InvalidInputException e) { + // ignore + } // get compiler node and record nodes org.eclipse.jdt.internal.compiler.ast.ASTNode compilerNode = javadoc.getNodeStartingAt(start); // record nodes